Go to file
Jonathan Roelofs ef84bda531 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
clang Make crash diagnostics on Windows the tiniest bit more useful 2014-08-05 20:49:12 +00:00
clang-tools-extra [clang-tidy] Simplify ast matcher. 2014-08-05 15:33:46 +00:00
compiler-rt tsan: allocate vector clocks using slab allocator 2014-08-05 18:45:02 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc relational: Add islessequal(floatN) builtin 2014-08-01 21:50:59 +00:00
libcxx dit pointed out on IRC that '__i = _VSTD::next(__i)' was a very long-winded way of writing '++__i'. Since I hate being thought of as long-winded (this checkin comment notwithstanding), I fixed it. No functionality change. 2014-08-05 01:34:12 +00:00
libcxxabi Update CREDITS.txt with the list of folks who worked on ARM EHABI support 2014-08-05 15:56:07 +00:00
lld [PECOFF] addDeadStripRoot is not thread-safe. 2014-08-05 01:44:43 +00:00
lldb Force trace on system() failure on FreeBSD while tracking down buildbot issues 2014-08-05 20:33:17 +00:00
llvm Re-apply r214881: Fix return sequence on armv4 thumb 2014-08-05 21:32:21 +00:00
openmp After three iterations of community review, we believe that this new 2014-08-05 09:32:28 +00:00
polly Do allow negative offsets in the outermost array dimension 2014-08-03 21:07:30 +00:00