1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/CodeGen
Philip Reames 1e1d0dcae5 Allow explicit spill slots to be specified for a gc.statepoint
This patch adds support for explicitly provided spill slots in the GC arguments of a gc.statepoint.  This is somewhat analogous to gcroot, but leverages the STATEPOINT MI node and StackMap infrastructure.  The motivation for this is:
1) The stack spilling code for gc.statepoints hasn't advanced as fast as I'd like.  One major option is to give up on doing spilling in the backend and do it at the IR level instead.  We'd give up the ability to have gc values in registers, but that's a minor cost in practice.  We are not neccessarily moving in that direction, but having the ability to prototype such a thing cheaply is interesting.
2) I want to port the gcroot lowering to use the statepoint infastructure.  Given the metadata printers for gcroot expect a fixed set of stack roots, it's easiest to just reuse the explicit stack slots and pass them directly to the underlying statepoint.  

I'm holding off on the documentation for the new feature until I'm reasonable sure this is going to stick around.

llvm-svn: 233356
2015-03-27 04:52:48 +00:00
..
AArch64 [AArch64, ARM] Enable GlobalMerge with -O3 rather than -O1. 2015-03-23 21:17:36 +00:00
ARM Use movw/movt instead of constant pool loads to lower byval parameter copies 2015-03-26 22:11:00 +00:00
BPF [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
CPP
Generic This test should have been target specific. I missed that. 2015-03-27 04:04:35 +00:00
Hexagon [Hexagon] Add support for vector instructions 2015-03-19 16:33:08 +00:00
Inputs DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Mips [mips] Support 16-bit offsets for 'm' inline assembly memory constraint. 2015-03-24 15:19:14 +00:00
MSP430 [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
NVPTX Add support for __nvvm_reflect changes in libdevice in CUDA-7.0 2015-03-19 17:05:35 +00:00
PowerPC Testcase for r233239. 2015-03-26 00:57:33 +00:00
R600 R600/SI: Select V_BFE_U32 for and+shift with a non-literal offset 2015-03-24 13:40:34 +00:00
SPARC [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
SystemZ
Thumb [ARM] Fix handling of thumb1 out-of-range frame offsets 2015-03-20 17:20:07 +00:00
Thumb2 Fix a nasty bug in DAGCombine of STORE nodes. 2015-03-19 22:48:57 +00:00
WinEH WinEH: Create a parent frame alloca for HandlerType xdata tables 2015-03-27 04:17:07 +00:00
X86 Allow explicit spill slots to be specified for a gc.statepoint 2015-03-27 04:52:48 +00:00
XCore DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00