1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/lib/IR
Chen Li c60ad3e1fe [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type
Summary: This patch changes gc.statepoint intrinsic's return type to token type instead of i32 type. Using token types could prevent LLVM to merge different gc.statepoint nodes into PHI nodes and cause further problems with gc relocations. The patch also changes the way on how gc.relocate and gc.result look for their corresponding gc.statepoint on unwind path. The current implementation uses the selector value extracted from a { i8*, i32 } landingpad as a hook to find the gc.statepoint, while the patch directly uses a token type landingpad (http://reviews.llvm.org/D15405) to find the gc.statepoint. 

Reviewers: sanjoy, JosephTremoulet, pgavlin, igor-laevsky, mjacob

Subscribers: reames, mjacob, sanjoy, llvm-commits

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

llvm-svn: 256443
2015-12-26 07:54:32 +00:00
..
AsmWriter.cpp Implemented Support of IA interrupt and exception handlers: 2015-12-21 14:07:14 +00:00
AttributeImpl.h
Attributes.cpp Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
AttributesCompatFunc.td Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
AutoUpgrade.cpp Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
BasicBlock.cpp
CMakeLists.txt Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
Comdat.cpp
ConstantFold.cpp Use CmpInst::Predicate instead of 'unsigned short' in some places. NFC 2015-12-15 06:11:33 +00:00
ConstantFold.h
ConstantRange.cpp [IR] Add a makeNoWrapRegion method to ConstantRange 2015-10-22 03:12:57 +00:00
Constants.cpp [IR] Add classof for GetElementPtrConstantExpr, CompareConstantExpr, InsertValueConstantExpr, and ExtractValueConstantExpr. All but CompareConstantExpr were being used in casts that were erroneously using ConstantExpr::classof due to inheritance. While there use cast<CompareConstantExpr> to simplify code slightly. 2015-12-15 06:11:36 +00:00
ConstantsContext.h [IR] Add classof for GetElementPtrConstantExpr, CompareConstantExpr, InsertValueConstantExpr, and ExtractValueConstantExpr. All but CompareConstantExpr were being used in casts that were erroneously using ConstantExpr::classof due to inheritance. While there use cast<CompareConstantExpr> to simplify code slightly. 2015-12-15 06:11:36 +00:00
Core.cpp
DataLayout.cpp Instcombine: destructor loads of structs that do not contains padding 2015-12-15 01:44:07 +00:00
DebugInfo.cpp DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
DebugInfoMetadata.cpp Macro debug info support in LLVM IR 2015-12-10 12:56:35 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp [PGO] Resubmit "MST based PGO instrumentation infrastructure" (r254021) 2015-12-09 18:08:16 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp Macro debug info support in LLVM IR 2015-12-10 12:56:35 +00:00
Dominators.cpp [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
Function.cpp [Function] Properly remove use when clearing personality 2015-12-23 18:27:23 +00:00
FunctionInfo.cpp [ThinLTO] Handle bitcode without function summary sections gracefully 2015-11-21 21:55:48 +00:00
GCOV.cpp
Globals.cpp Drop support for dematerializing. 2015-12-18 19:57:26 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp Teach haveSameSpecialState about operand bundles 2015-12-14 19:11:35 +00:00
Instructions.cpp Use CmpInst::Predicate instead of 'unsigned short' in some places. NFC 2015-12-15 06:11:33 +00:00
IntrinsicInst.cpp
IRBuilder.cpp Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp Remove debug output that snuck into 254957 2015-12-07 22:43:56 +00:00
LLVMBuild.txt
LLVMContext.cpp [WinEH] Use operand bundles to describe call sites 2015-12-15 21:27:27 +00:00
LLVMContextImpl.cpp [IR] Manage TheNoneToken with a std::unique_ptr 2015-11-16 20:55:57 +00:00
LLVMContextImpl.h Re-reapply "[IR] Move optional data in llvm::Function into a hungoff uselist" 2015-12-19 08:52:49 +00:00
Makefile Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
Mangler.cpp
MDBuilder.cpp [MDBuilder] Simplify code using initializer lists. NFC. 2015-11-22 18:03:17 +00:00
Metadata.cpp [ThinLTO] Metadata linking for imported functions 2015-12-17 17:14:09 +00:00
MetadataImpl.h
MetadataTracking.cpp
Module.cpp Assert that we have all use/users in the getters. 2015-12-19 20:03:23 +00:00
module.modulemap
Operator.cpp
Pass.cpp
PassManager.cpp
PassRegistry.cpp
Statepoint.cpp Remove deprecated llvm.experimental.gc.result.{int,float,ptr} intrinsics. 2015-12-22 18:44:45 +00:00
SymbolTableListTraitsImpl.h
Type.cpp [IR] Mark the Type subclass helper methods 'inline' and move their definitions to DerivedTypes.h so they can be inlined by the compiler. 2015-12-25 04:06:20 +00:00
TypeFinder.cpp Re-reapply "[IR] Move optional data in llvm::Function into a hungoff uselist" 2015-12-19 08:52:49 +00:00
Use.cpp
User.cpp
Value.cpp Assert that we have all use/users in the getters. 2015-12-19 20:03:23 +00:00
ValueSymbolTable.cpp Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
ValueTypes.cpp Add new vector types for 512-, 1024- and 2048-bit vectors 2015-11-24 13:07:35 +00:00
Verifier.cpp [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00