llvm-6502/include/llvm/IR
Eli Bendersky 21354ec60d Expose "noduplicate" attribute as a property for intrinsics.
The "noduplicate" function attribute exists to prevent certain optimizations
from duplicating calls to the function. This is important on platforms where
certain function call duplications are unsafe (for example execution barriers
for CUDA and OpenCL).

This patch makes it possible to specify intrinsics as "noduplicate" and
translates that to the appropriate function attribute.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204200 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-18 23:51:07 +00:00
..
Argument.h Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
AssemblyAnnotationWriter.h Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Attributes.h Remove copy ctors that did the same thing as the default one. 2014-03-11 11:32:49 +00:00
AutoUpgrade.h [Layering] Move AutoUpgrade.h into the IR library where its 2014-03-05 10:34:14 +00:00
BasicBlock.h Use DataLayout from the module when easily available. 2014-02-25 23:25:17 +00:00
CallingConv.h Revert r203488 and r203520. 2014-03-12 18:09:37 +00:00
CallSite.h [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
CFG.h [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
CMakeLists.txt [CMake] intrinsics_gen: Use add_public_tablegen_target(). 2014-02-20 13:42:16 +00:00
Constant.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
ConstantFolder.h [Modules] Move the ConstantFolder into the IR library where it can 2014-03-04 12:02:47 +00:00
ConstantRange.h [Modules] Move the ConstantRange class into the IR library. This is 2014-03-04 12:24:34 +00:00
Constants.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
DataLayout.h [C++11] Modernize the IR library a bit. 2014-03-10 15:03:06 +00:00
DebugInfo.h [C++11] Change DebugInfoFinder to use range-based loops 2014-03-18 09:41:07 +00:00
DebugLoc.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
DerivedTypes.h Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
DiagnosticInfo.h Use DiagnosticInfo facility. 2014-03-14 21:58:59 +00:00
DiagnosticPrinter.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
DIBuilder.h Switch the type field in DIVariable and DIGlobalVariable over to DITypeRefs. 2014-03-18 02:34:58 +00:00
Dominators.h Fix fixme: remove unused method. 2014-03-11 09:32:50 +00:00
Function.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
GetElementPtrTypeIterator.h [Modules] Move GetElementPtrTypeIterator into the IR library. As its 2014-03-04 10:40:04 +00:00
GlobalAlias.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
GlobalValue.h Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
GlobalVariable.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
GVMaterializer.h [Layering] Move GVMaterializer.h into the IR library where its 2014-03-06 03:50:29 +00:00
InlineAsm.h Remove copy ctors that did the same thing as the default one. 2014-03-11 11:32:49 +00:00
InstIterator.h [Modules] Move InstIterator out of the Support library, where it had no 2014-03-04 10:30:26 +00:00
InstrTypes.h [C++11] Remove 'virtual' keyword from methods marked with 'override' keyword. 2014-03-10 05:29:18 +00:00
Instruction.def Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instruction.h [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
Instructions.h Consistent use of the noduplicate attribute. 2014-03-17 16:19:07 +00:00
InstVisitor.h [Layering] Move InstVisitor.h into the IR library as it is pretty 2014-03-06 03:23:41 +00:00
IntrinsicInst.h Add some convenience accessors for the underlying Use of an operand. 2014-02-25 03:34:17 +00:00
Intrinsics.h Enable variable arguments support for intrinsics. 2013-10-31 17:18:11 +00:00
Intrinsics.td Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
IntrinsicsAArch64.td AArch64: simplify tbl/tbx polymorphism 2014-02-26 11:55:09 +00:00
IntrinsicsARM.td ARM: use natural LLVM IR for vshll instructions 2014-02-10 16:20:29 +00:00
IntrinsicsHexagon.td
IntrinsicsMips.td [mips][msa] Add DLSA instruction. 2014-02-10 12:05:17 +00:00
IntrinsicsNVVM.td Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
IntrinsicsPowerPC.td
IntrinsicsR600.td
IntrinsicsX86.td AVX-512: masked load/store + intrinsics for them. 2014-03-13 12:05:52 +00:00
IntrinsicsXCore.td [XCore] Add intrinsic for CLRPT (clear port time) instruction. 2014-02-25 17:31:15 +00:00
IRBuilder.h IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
IRPrintingPasses.h [PM] Fix stale header blocker, found by Duncan Smith in code review! 2014-01-14 05:50:19 +00:00
LeakDetector.h [Modules] Move the LeakDetector header into the IR library where the 2014-03-04 12:46:06 +00:00
LegacyPassManager.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LegacyPassManagers.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LegacyPassNameParser.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LLVMContext.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Mangler.h Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
MDBuilder.h [C++11] Modernize the IR library a bit. 2014-03-10 15:03:06 +00:00
Metadata.h Remove copy ctors that did the same thing as the default one. 2014-03-11 11:32:49 +00:00
Module.h [C++11] Add range views for various parts of a Module. 2014-03-09 12:20:30 +00:00
NoFolder.h [Modules] Move the NoFolder into the IR library as it creates 2014-03-04 12:05:47 +00:00
OperandTraits.h
Operator.h [Modules] Move GetElementPtrTypeIterator into the IR library. As its 2014-03-04 10:40:04 +00:00
PassManager.h [PM] As was pointed out in review, I need to define a custom swap in 2014-03-13 10:42:18 +00:00
PatternMatch.h [Modules] Move the LLVM IR pattern match header into the IR library, it 2014-03-04 11:08:18 +00:00
PredIteratorCache.h [Modules] Move the PredIteratorCache into the IR library -- it is 2014-03-04 12:09:19 +00:00
SymbolTableListTraits.h
Type.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
TypeBuilder.h #include <climits> instead of <limits.h> in C++ header file. 2013-06-13 23:49:09 +00:00
TypeFinder.h
Use.h [C++11] Sink the iterator over a Value's users into the Value type 2014-03-05 01:50:35 +00:00
User.h [C++11] Modernize the IR library a bit. 2014-03-10 15:03:06 +00:00
Value.h [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
ValueHandle.h [Modules] Move ValueHandle into the IR library where Value itself lives. 2014-03-04 11:17:44 +00:00
ValueMap.h [C++11] Replace LLVM-style type traits with C++11 standard ones. 2014-03-07 14:42:25 +00:00
ValueSymbolTable.h
Verifier.h [PM] Wire up the Verifier for the new pass manager and connect it to the 2014-01-20 11:34:08 +00:00