llvm-6502/include/llvm/IR
Sanjoy Das aabacb67c3 [CallGraph] Teach the CallGraph about non-leaf intrinsics.
Summary:
Currently intrinsics don't affect the creation of the call graph.
This is not accurate with respect to statepoint and patchpoint
intrinsics -- these do call (or invoke) LLVM level functions.

This change fixes this inconsistency by adding a call to the external
node for call sites that call these non-leaf intrinsics.  This coupled
with the fact that these intrinsics also escape the function pointer
they call gives us a conservatively correct call graph.

Reviewers: reames, chandlerc, atrick, pgavlin

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240039 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-18 19:28:26 +00:00
..
Argument.h Add missing dereferenceable_or_null getters 2015-05-06 17:41:54 +00:00
AssemblyAnnotationWriter.h
Attributes.h Protection against stack-based memory corruption errors using SafeStack 2015-06-15 21:07:11 +00:00
AutoUpgrade.h
BasicBlock.h [PlaceSafepoints] Cleanup InsertSafepointPoll function 2015-05-26 21:03:23 +00:00
CallingConv.h
CallSite.h Reapply 239795 - [InstCombine] Propagate non-null facts to call parameters 2015-06-16 20:24:25 +00:00
CFG.h
CMakeLists.txt
Comdat.h
Constant.h
ConstantFolder.h
ConstantRange.h
Constants.h 80-col fixup. 2015-05-18 22:12:43 +00:00
DataLayout.h
DebugInfo.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DebugInfoFlags.def
DebugInfoMetadata.h Debug Info IR: Switch DIObjCProperty to use DITypeRef. 2015-06-15 23:18:03 +00:00
DebugLoc.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DerivedTypes.h Fix alignment issues in LLVM. 2015-06-17 01:21:20 +00:00
DiagnosticInfo.h MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DiagnosticPrinter.h MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DIBuilder.h IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
Dominators.h
Function.h Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
GetElementPtrTypeIterator.h [opaque pointer type] Allow gep_type_iterator to work with the pointee type from the GEP instruction 2015-05-21 21:12:43 +00:00
GlobalAlias.h [opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space 2015-04-29 21:22:39 +00:00
GlobalObject.h
GlobalValue.h Replace magic number 19 with the constant GlobalValueSubClassDataBits. 2015-06-10 06:00:59 +00:00
GlobalVariable.h Rename NumOperands to make it clear its managed by the User. NFC. 2015-06-12 17:48:10 +00:00
GVMaterializer.h While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
InlineAsm.h [arm] Distinguish the /U[qytnms]/, 'Uv', 'Q', and 'm' inline assembly memory constraints. 2015-06-03 12:33:56 +00:00
InstIterator.h
InstrTypes.h
Instruction.def
Instruction.h [PlaceSafepoints] Cleanup InsertSafepointPoll function 2015-05-26 21:03:23 +00:00
Instructions.h Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
InstVisitor.h Change Function::getIntrinsicID() to return an Intrinsic::ID. NFC. 2015-05-20 17:16:39 +00:00
IntrinsicInst.h Change Function::getIntrinsicID() to return an Intrinsic::ID. NFC. 2015-05-20 17:16:39 +00:00
Intrinsics.h [CallGraph] Teach the CallGraph about non-leaf intrinsics. 2015-06-18 19:28:26 +00:00
Intrinsics.td [WinEH] Create an llvm.x86.seh.exceptioninfo intrinsic 2015-06-11 22:32:23 +00:00
IntrinsicsAArch64.td
IntrinsicsARM.td
IntrinsicsBPF.td
IntrinsicsHexagon.td
IntrinsicsMips.td
IntrinsicsNVVM.td
IntrinsicsPowerPC.td LLVM support for vector quad bit permute and gather instructions through builtins 2015-06-11 06:21:25 +00:00
IntrinsicsR600.td
IntrinsicsSystemZ.td [SystemZ] Add vector intrinsics 2015-05-05 19:31:09 +00:00
IntrinsicsX86.td [AVX512] 2015-06-18 12:30:53 +00:00
IntrinsicsXCore.td
IRBuilder.h Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
IRPrintingPasses.h
LegacyPassManager.h
LegacyPassManagers.h
LegacyPassNameParser.h
LLVMContext.h Dereferenceable, dereferenceable_or_null metadata for loads 2015-05-19 20:10:19 +00:00
Mangler.h
MDBuilder.h Add isConstant argument to MDBuilder::createTBAAStructTagNode 2015-06-01 14:53:55 +00:00
Metadata.def IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
Metadata.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MetadataTracking.h
Module.h Replace duplicated iplist<T> types with the corresponding typedefs. 2015-06-12 08:19:32 +00:00
NoFolder.h
OperandTraits.h Replace all accesses to User::OperandList with getter and setter methods. NFC. 2015-06-12 17:48:05 +00:00
Operator.h [opaque pointer type] Allow gep_type_iterator to work with the pointee type from the GEP instruction 2015-05-21 21:12:43 +00:00
PassManager.h Remove std::move on return of temporary. 2015-05-01 15:26:22 +00:00
PassManagerInternal.h Revert r238305: [PM] Use a simpler technique to drop optional analysis 2015-05-27 09:36:33 +00:00
PatternMatch.h
PredIteratorCache.h
Statepoint.h [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
SymbolTableListTraits.h
TrackingMDRef.h
Type.h
TypeBuilder.h
TypeFinder.h
Use.h
UseListOrder.h
User.h Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
Value.h Rename NumOperands to make it clear its managed by the User. NFC. 2015-06-12 17:48:10 +00:00
ValueHandle.h
ValueMap.h
ValueSymbolTable.h
Verifier.h