[ARM] Add ".code 32" to functions in the ARM instruction set
authorPablo Barrio <pablo.barrio@arm.com>
Tue, 13 Sep 2016 12:18:15 +0000 (12:18 +0000)
committerPablo Barrio <pablo.barrio@arm.com>
Tue, 13 Sep 2016 12:18:15 +0000 (12:18 +0000)
commitbb6984d4019fe530663f93bcd813deb9b7c1b072
tree155cfe6c994f4f113f6f3d7608fdd96fa9b791c0
parentd246c598deef73bdd751c822cb847c0caa3a3ffb
[ARM] Add ".code 32" to functions in the ARM instruction set

Before, only Thumb functions were marked as ".code 16". These
".code x" directives are effective until the next directive of its
kind is encountered. Therefore, in code with interleaved ARM and
Thumb functions, it was possible to declare a function as ARM and
end up with a Thumb function after assembly. A test has been added.

An existing test has also been fixed to take this change into
account.

Reviewers: aschwaighofer, t.p.northover, jmolloy, rengolin

Subscribers: aemerson, rengolin, llvm-commits

Differential Revision: https://reviews.llvm.org/D24337

llvm-svn: 281324
llvm/lib/Target/ARM/ARMAsmPrinter.cpp
llvm/test/CodeGen/ARM/interwork.ll [new file with mode: 0644]
llvm/test/DebugInfo/ARM/header.ll