llvm-6502/test
Jonathan Roelofs 3d47855394 Fix thumbv4t indirect calls
So there are a couple of issues with indirect calls on thumbv4t. First, the most
'obvious' instruction, 'blx' isn't available until v5t. And secondly, the
next-most-obvious sequence: 'mov lr, pc; bx rN' doesn't DTRT in thumb code
because the saved off pc has its thumb bit cleared, so when the callee returns
we end up in ARM mode.... yuck.

The solution is to 'bl' to a nearby landing pad with a 'bx rN' in it.

We could cut down on code size by sharing the landing pads between call sites
that are close enough, but for the moment let's do correctness first and look at
performance later.


Patch by: Iain Sandoe

http://reviews.llvm.org/D6519


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223380 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-04 19:34:50 +00:00
..
Analysis
Assembler
Bindings [OCaml] Move Llvm.clone_module to its own Llvm_transform_utils module. 2014-12-01 19:50:39 +00:00
Bitcode Parse 'ghccc' in .ll files as the GHC convention (cc 10) 2014-12-01 21:04:44 +00:00
BugPoint
CodeGen Fix thumbv4t indirect calls 2014-12-04 19:34:50 +00:00
DebugInfo
ExecutionEngine
Feature Prologue support 2014-12-03 02:08:38 +00:00
FileCheck
Instrumentation [msan] allow -fsanitize-coverage=N together with -fsanitize=memory, llvm part 2014-12-03 23:28:26 +00:00
Integer
JitListener
Linker Split the set of identified struct types into opaque and non-opaque ones. 2014-12-03 22:36:37 +00:00
LTO
MC Fix a minor regression introduced in r223113 2014-12-04 14:49:07 +00:00
Object Add missing test file 2014-12-04 09:20:13 +00:00
Other
SymbolRewriter
TableGen
tools This reverts commit r223306 and r223277. 2014-12-03 23:29:34 +00:00
Transforms Add a test case for argument type coercion in an invoke of a vararg function 2014-12-04 19:13:45 +00:00
Unit
Verifier [Statepoints 1/4] Statepoint infrastructure for garbage collection: IR Intrinsics 2014-12-01 21:18:12 +00:00
YAMLParser
.clang-format
CMakeLists.txt Revert "Add missing test dependency and use a more canonical target name." 2014-12-04 04:33:32 +00:00
lit.cfg [OCaml] [cmake] Add CMake buildsystem for OCaml. 2014-12-01 19:50:23 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh