llvm-6502/lib
Philip Reames 28ffcd3f1e 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233356 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-27 04:52:48 +00:00
..
Analysis [SCEV] Revert bailout added in r75511. 2015-03-26 17:28:26 +00:00
AsmParser Verifier: Check accessors of MDLocation 2015-03-26 22:05:04 +00:00
Bitcode Verifier: Check accessors of MDLocation 2015-03-26 22:05:04 +00:00
CodeGen Allow explicit spill slots to be specified for a gc.statepoint 2015-03-27 04:52:48 +00:00
DebugInfo Raising minimum required CMake version to 2.8.12.2. 2015-03-23 20:03:57 +00:00
ExecutionEngine [Orc] Refactor JITCompileCallbackManagerBase and CompileOnDemandLayer to support 2015-03-25 02:45:50 +00:00
Fuzzer [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for fuzzing). 2015-03-03 23:27:02 +00:00
IR WinEH: Create a parent frame alloca for HandlerType xdata tables 2015-03-27 04:17:07 +00:00
IRReader Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker Reapply "Linker: Drop function pointers for overridden subprograms" 2015-03-26 18:35:30 +00:00
LTO Verifier: Remove the separate -verify-di pass 2015-03-19 22:24:17 +00:00
MC Fix PR23025. 2015-03-26 21:11:00 +00:00
Object Be lazy about loading metadata in IRObjectFile. 2015-03-13 21:54:20 +00:00
Option Make getLastArgNoClaim work for up to 4 arguments. 2015-03-20 23:32:58 +00:00
Passes [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
ProfileData Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
Support Default to armv7 cpu for NaCl when march=arm 2015-03-26 21:58:46 +00:00
TableGen Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
Target Use movw/movt instead of constant pool loads to lower byval parameter copies 2015-03-26 22:11:00 +00:00
Transforms Refactor Code inside LoopVectorizer's function isInductionVariable. 2015-03-27 03:44:15 +00:00
CMakeLists.txt [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
LLVMBuild.txt [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
Makefile [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00