1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/test/CodeGen/XCore
Duncan Sands 6939ae53ac Split the init.trampoline intrinsic, which currently combines GCC's
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC.  While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function.  To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function.  Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!).  Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC.  Patch mostly by Sanjoy Das.

llvm-svn: 139140
2011-09-06 13:37:06 +00:00
..
2008-11-17-Shl64.ll
2009-01-08-Crash.ll
2009-01-14-Remat-Crash.ll
2009-03-27-v2f64-param.ll
2009-07-15-store192.ll
2010-02-25-LSR-Crash.ll Fix XCoreTargetLowering::isLegalAddressingMode() to handle VoidTy. 2010-02-26 16:44:51 +00:00
2010-04-07-DbgValueOtherTargets.ll If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
2011-01-31-DAGCombineBug.ll Fix bug where ReduceLoadWidth was creating illegal ZEXTLOAD instructions. 2011-01-31 17:41:44 +00:00
2011-08-01-DynamicAllocBug.ll Add Uses=[SP] to call instructions. This fixes a miscompilation with a 2011-08-24 13:32:43 +00:00
2011-08-01-VarargsBug.ll Fix crash with varargs function with no named parameters. 2011-08-01 16:45:59 +00:00
addsub64.ll Handle MVT::i64 type in DAG combine for ISD::ADD. Fold 64 bit 2010-03-10 18:12:27 +00:00
ashr.ll Enable machine sinking critical edge splitting. e.g. 2010-09-20 22:52:00 +00:00
basictest.ll
bigstructret.ll
constants.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
cos.ll
dg.exp
events.ll Add checkevent intrinsic to check if any resources owned by the current thread 2011-03-16 18:34:00 +00:00
exp2.ll
exp.ll
fneg.ll
getid.ll
globals.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
indirectbr.ll fix AsmPrinter::GetBlockAddressSymbol to always return a unique 2010-03-14 17:53:23 +00:00
ladd_lsub_combine.ll In cases where the carry / borrow unused converted ladd / lsub 2010-03-09 16:34:25 +00:00
load.ll
log2.ll
log10.ll
log.ll
misc-intrinsics.ll Add intrinsics for SETEV, GETED, GETET. 2011-08-18 13:00:48 +00:00
mul64.ll Fix register-dependent XCore tests 2011-05-04 01:01:41 +00:00
pow.ll
powi.ll
private.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
ps-intrinsics.ll Add XCore intrinsics for getps, setps, setsr and clrsr. 2011-03-15 13:45:47 +00:00
resources.ll Add intrinsics for SETEV, GETED, GETET. 2011-08-18 13:00:48 +00:00
scavenging.ll On the XCore the scavenging slot should be closest to the SP. 2011-03-15 15:10:11 +00:00
sext.ll
sin.ll
sqrt.ll
sr-intrinsics.ll Add XCore intrinsics for getps, setps, setsr and clrsr. 2011-03-15 13:45:47 +00:00
store.ll
switch_long.ll
switch.ll
threads.ll Add XCore intrinsics for initializing / starting / synchronizing threads. 2011-03-31 15:13:13 +00:00
tls.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
trampoline.ll Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
trap.ll
unaligned_load.ll
unaligned_store_combine.ll
unaligned_store.ll