1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib
Jonathan Roelofs 7bcdffb32c Re-apply r214881: Fix return sequence on armv4 thumb
This reverts r214893, re-applying r214881 with the test case relaxed a bit to
satiate the build bots.

POP on armv4t cannot be used to change thumb state (unilke later non-m-class
architectures), therefore we need a different return sequence that uses 'bx'
instead:

  POP {r3}
  ADD sp, #offset
  BX r3

This patch also fixes an issue where the return value in r3 would get clobbered
for functions that return 128 bits of data. In that case, we generate this
sequence instead:

  MOV ip, r3
  POP {r3}
  ADD sp, #offset
  MOV lr, r3
  MOV r3, ip
  BX lr

http://reviews.llvm.org/D4748

llvm-svn: 214928
2014-08-05 21:32:21 +00:00
..
Analysis Teach the SLP Vectorizer that keeping some values live over a callsite can have a cost. 2014-08-05 12:30:34 +00:00
AsmParser Remove dead code in condition 2014-08-05 18:22:58 +00:00
Bitcode BitcodeReader: Fix non-determinism in use-list order 2014-08-05 17:49:48 +00:00
CodeGen Optimize vector fabs of bitcasted constant integer values. 2014-08-05 17:35:22 +00:00
DebugInfo DWOHolder takes ownership of the argument constructor, use std::unique_ptr. 2014-07-31 20:26:42 +00:00
ExecutionEngine Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
IR Provide convenient access to the zext/sext attributes of function arguments. NFC. 2014-08-05 05:43:41 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
LTO Don't internalize all but main by default. 2014-08-05 20:10:38 +00:00
MC Enable Darwin vararg parameters support in assembler macros. 2014-08-04 23:14:37 +00:00
Object A std::unique_ptr case I missed in the previous patch. 2014-07-31 03:36:00 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Coverage: add HasCodeBefore flag to a mapping region. 2014-08-04 18:00:51 +00:00
Support Path: Stop claiming path::const_iterator is bidirectional 2014-08-04 17:36:41 +00:00
TableGen Allow binary and for tblgen math. 2014-08-05 09:43:25 +00:00
Target Re-apply r214881: Fix return sequence on armv4 thumb 2014-08-05 21:32:21 +00:00
Transforms Don't internalize all but main by default. 2014-08-05 20:10:38 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile