llvm/utils/TableGen
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
..
AsmMatcherEmitter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-09 18:03:14 +00:00
AsmWriterEmitter.cpp Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
AsmWriterInst.cpp Remove dead code. 2013-12-02 05:10:04 +00:00
AsmWriterInst.h Remove dead code. 2013-12-02 05:10:04 +00:00
CallingConvEmitter.cpp LLVM-1163: AAPCS-VFP violation when CPRC allocated to stack 2014-02-07 11:19:53 +00:00
CMakeLists.txt Remove TGValueTypes.cpp from CMakeLists.txt which I forgot to do in r200036. 2014-01-24 20:51:32 +00:00
CodeEmitterGen.cpp [TableGen] Optionally forbid overlap between named and positional operands 2014-03-13 07:57:54 +00:00
CodeGenDAGPatterns.cpp Add an OutPatFrag TableGen class 2014-02-28 00:26:56 +00:00
CodeGenDAGPatterns.h Add an OutPatFrag TableGen class 2014-02-28 00:26:56 +00:00
CodeGenInstruction.cpp Shrink the size of CodeGenInstruction a little bit by using bitfields. 32 bools seemed excessive. 2014-02-05 09:10:40 +00:00
CodeGenInstruction.h Replace ValueTypes.h with MachineValueType.h if possible. 2014-03-15 09:11:41 +00:00
CodeGenIntrinsics.h Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
CodeGenMapTable.cpp Unbreak the C++11 build. 2014-03-03 13:59:41 +00:00
CodeGenRegisters.cpp [C++11] Add 'override' keywords to tablegen code. 2014-03-05 05:17:42 +00:00
CodeGenRegisters.h Replace ValueTypes.h with MachineValueType.h if possible. 2014-03-15 09:11:41 +00:00
CodeGenSchedule.cpp Fix a false error reported by the tblgen backend for machine model 2014-03-13 03:49:20 +00:00
CodeGenSchedule.h Fix known typos 2014-01-24 17:20:08 +00:00
CodeGenTarget.cpp Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
CodeGenTarget.h Support little-endian encodings in the FixedLenDecoderEmitter 2013-12-17 22:37:50 +00:00
CTagsEmitter.cpp Remove unnecessary include. 2014-02-09 07:55:19 +00:00
DAGISelEmitter.cpp Use ArrayRef to simplify some code. 2014-01-21 07:20:05 +00:00
DAGISelMatcher.cpp Add CheckChildInteger to ISelMatcher operations. Removes nearly 2000 bytes from X86 matcher table. 2014-02-05 05:44:28 +00:00
DAGISelMatcher.h Replace ValueTypes.h with MachineValueType.h if possible. 2014-03-15 09:11:41 +00:00
DAGISelMatcherEmitter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-09 07:44:38 +00:00
DAGISelMatcherGen.cpp Fix typo in commment tyep->type. 2014-01-25 17:34:23 +00:00
DAGISelMatcherOpt.cpp Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
DFAPacketizerEmitter.cpp Fix PR14568: Avoid the DFA packetizer from making an invalid read 2012-12-10 22:45:57 +00:00
DisassemblerEmitter.cpp Don't use PrintFatalError(which calls exit) for 'Primary decode conflict'. Just skip emitting the table. This way the main function will delete the output file instead of it remaining empty and confusing dependency checks if build is invoked a second time. 2014-01-05 01:34:12 +00:00
FastISelEmitter.cpp Rename a DebugLoc variable to DbgLoc and a DataLayout to DL. 2014-02-18 22:05:46 +00:00
FixedLenDecoderEmitter.cpp [TableGen] Optionally forbid overlap between named and positional operands 2014-03-13 07:57:54 +00:00
InstrInfoEmitter.cpp Fix a vector that was passed by value instead of reference. 2014-02-05 07:27:49 +00:00
IntrinsicEmitter.cpp Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile Remove exception handling usage from tblgen. 2012-10-25 20:33:17 +00:00
OptParserEmitter.cpp [cleanup] Re-sort all the includes with utils/sort_includes.py. 2014-03-04 10:07:28 +00:00
PseudoLoweringEmitter.cpp Change MCStreamer EmitInstruction interface to take subtarget info 2014-01-28 23:12:42 +00:00
RegisterInfoEmitter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-09 07:44:38 +00:00
SequenceToOffsetTable.h Add missing include 2013-08-28 07:03:02 +00:00
SetTheory.cpp [C++11] Add 'override' keywords to tablegen code. 2014-03-05 05:17:42 +00:00
SetTheory.h Sort the #include lines for utils/... 2012-12-04 10:37:14 +00:00
SubtargetEmitter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-09 07:44:38 +00:00
TableGen.cpp replace LeakSanitizerIsTurnedOffForTheCurrentProcess with __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h> 2014-01-15 07:59:37 +00:00
TableGenBackends.h Add TableGen ctags(1) emitter and helper script. 2013-03-21 23:40:38 +00:00
tdtags Add TableGen ctags(1) emitter and helper script. 2013-03-21 23:40:38 +00:00
X86DisassemblerShared.h Remove filtering concept from X86 disassembler table generation. It's no longer necessary. 2014-02-13 07:07:16 +00:00
X86DisassemblerTables.cpp AVX-512: Added rrk, rrkz, rmk, rmkz, rmbk, rmbkz versions of AVX512 FP packed instructions, added encoding tests for them. 2014-03-06 08:45:30 +00:00
X86DisassemblerTables.h Remove A6/A7 opcode maps. They can all be handled with a TB map, opcode of 0xa6/0xa7, and adding MRM_C0/MRM_E0 forms. Removes 376K from the disassembler tables. 2014-02-19 05:34:21 +00:00
X86ModRMFilters.cpp Second attempt at Removing special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead. 2014-01-01 14:22:37 +00:00
X86ModRMFilters.h [C++11] Add 'override' keywords to tablegen code. 2014-03-05 05:17:42 +00:00
X86RecognizableInstr.cpp [x86] Simplify disassembler code slightly. 2014-02-26 06:01:21 +00:00
X86RecognizableInstr.h [x86] Switch PAUSE instruction to use XS prefix instead of HasREPPrefix. Remove HasREPPrefix support from disassembler table generator since its now only used by CodeGenOnly instructions. 2014-02-20 07:59:43 +00:00