llvm-6502/test
Pat Gavlin 5c7f7462e4 Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware.
This changes the shape of the statepoint intrinsic from:

  @llvm.experimental.gc.statepoint(anyptr target, i32 # call args, i32 unused, ...call args, i32 # deopt args, ...deopt args, ...gc args)

to:

  @llvm.experimental.gc.statepoint(anyptr target, i32 # call args, i32 flags, ...call args, i32 # transition args, ...transition args, i32 # deopt args, ...deopt args, ...gc args)

This extension offers the backend the opportunity to insert (somewhat) arbitrary code to manage the transition from GC-aware code to code that is not GC-aware and back.

In order to support the injection of transition code, this extension wraps the STATEPOINT ISD node generated by the usual lowering lowering with two additional nodes: GC_TRANSITION_START and GC_TRANSITION_END. The transition arguments that were passed passed to the intrinsic (if any) are lowered and provided as operands to these nodes and may be used by the backend during code generation.

Eventually, the lowering of the GC_TRANSITION_{START,END} nodes should be informed by the GC strategy in use for the function containing the intrinsic call; for now, these nodes are instead replaced with no-ops.

Differential Revision: http://reviews.llvm.org/D9501

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236888 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-08 18:07:42 +00:00
..
Analysis Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware. 2015-05-08 18:07:42 +00:00
Assembler
Bindings
Bitcode Bitcode: Set LastDL after writing DebugLocs 2015-05-06 22:51:12 +00:00
BugPoint
CodeGen Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware. 2015-05-08 18:07:42 +00:00
DebugInfo Disable r235989 "Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes"" 2015-05-07 18:33:50 +00:00
ExecutionEngine [Orc] Reapply r236465 with fixes for the MSVC bots. 2015-05-05 17:37:18 +00:00
Feature
FileCheck
Instrumentation When checking msan.module_ctor, use CHECK-LABEL instead of CHECK 2015-05-07 21:47:25 +00:00
Integer
JitListener
Linker
LTO
MC [mips][microMIPSr6] Implement ALUIPC and AUIPC instructions 2015-05-08 14:25:11 +00:00
Object [llvm-readobj/obj2yaml/yaml2obj] Support MIPS machine ELF header flags 2015-05-08 07:04:59 +00:00
Other Let llc and opt override "-target-cpu" and "-target-features" via command line 2015-05-06 23:54:14 +00:00
SymbolRewriter
TableGen
tools [llvm-readobj] Print .MIPS.abiflags section content 2015-05-07 15:40:35 +00:00
Transforms Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware. 2015-05-08 18:07:42 +00:00
Unit
Verifier Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware. 2015-05-08 18:07:42 +00:00
YAMLParser YAML: Enable the YAMLParser tests. 2015-05-07 18:08:46 +00:00
.clang-format
CMakeLists.txt Remove duplicate cmake target I added in r236792. 2015-05-08 16:59:53 +00:00
lit.cfg Add yaml-bench to the list of tools make check needs to run 2015-05-07 22:53:11 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh