llvm-6502/include/llvm
Jim Grosbach 63078f2d8c Allow intrinsics to be used in place of node matchables.
TableGen has support for using an intrinics name directly in a DAG,
but this breaks down when referring to just a node, as that's
handled initializer list stuff entirely via subclassing in the
parser. That is, using an instrinsic like "(int_my_intrinsic ...)"
works fine. Using it standalone for parameterizing the operator
in such a DAG does not.

Fixing this is simple enough, as we simply declare Intrinsic
as deriving from SDPatternOperator, which is the class name
intended for exactly this purpose in TargetSelectionDAG.td.

When the intrinsic is actually used in the DAG pattern, it will
be recognized and expanded to an intrinsic_wo_chain (et. al.)
just like when it's used directly.

Incoming ARM NEON cleanup based on this and a bit of functionality
improvement after that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159973 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-10 00:51:11 +00:00
..
ADT SmallVector: Make use of move semantics to speed up moving objects in erase() and insert() 2012-07-08 12:06:35 +00:00
Analysis fold PHI nodes in SizeOffsetEvaluator whenever possible. 2012-07-03 17:13:25 +00:00
Assembly
Bitcode Remove 'static' from inline functions defined in header files. 2012-06-20 08:39:33 +00:00
CodeGen Fix the naming of ensureAlignment. Per the coding standard function names 2012-07-06 23:13:38 +00:00
Config
DebugInfo This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF parser: 2012-07-02 05:54:45 +00:00
ExecutionEngine
MC I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
Object Add relocation types for Hexagon processor; patch by Sidney Manning <sidneym@codeaurora.org> 2012-06-23 14:46:18 +00:00
Support Remove some trivial copy ctors so the classes become trivially copyable and get the optimized SmallVector implementation. 2012-07-08 19:47:51 +00:00
TableGen Eliminate struct TableGenBackend. 2012-06-13 05:15:49 +00:00
Target I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
Transforms Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
Argument.h
Attributes.h Remove some trivial copy ctors so the classes become trivially copyable and get the optimized SmallVector implementation. 2012-07-08 19:47:51 +00:00
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt llvm/include/llvm/CMakeLists.txt: Cut dependency to intrinsics_gen. 2012-07-06 15:55:39 +00:00
Constant.h getAllOnesValue also works for vectors of integers. 2012-06-04 07:18:12 +00:00
Constants.h When linearizing a multiplication, return at once if we see a factor of zero, 2012-06-13 09:42:13 +00:00
DebugInfo.h Add a print method to the ObjC property object. 2012-07-06 19:12:31 +00:00
DefaultPasses.h
DerivedTypes.h
DIBuilder.h The DIBuilder class is just a wrapper around debug info creation 2012-06-29 08:32:07 +00:00
Function.h
GlobalAlias.h
GlobalValue.h Revert r159136 due to PR13124. 2012-06-27 17:10:33 +00:00
GlobalVariable.h Clean-up after r159077. 2012-06-23 12:14:23 +00:00
GVMaterializer.h
InitializePasses.h Add an experimental early if-conversion pass, off by default. 2012-07-04 00:09:54 +00:00
InlineAsm.h
InstrTypes.h
Instruction.def
Instruction.h Refactor operation equivalence checking in BBVectorize by extending Instruction::isSameOperationAs. 2012-06-28 05:42:26 +00:00
Instructions.h add CallSite/CallInst/InvokeInst::hasFnAttr() 2012-06-25 16:16:58 +00:00
IntrinsicInst.h
Intrinsics.h generalize this to allow any argument. 2012-05-27 19:17:16 +00:00
Intrinsics.td Allow intrinsics to be used in place of node matchables. 2012-07-10 00:51:11 +00:00
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsHexagon.td Fix hexagon gcc builtin names to use '_' instead of '.'. 2012-06-28 20:08:47 +00:00
IntrinsicsMips.td Define MIPS DSP Rev1 intrinsics. That allows frontend to emit a correct IR. 2012-06-28 18:20:28 +00:00
IntrinsicsNVVM.td Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
IntrinsicsPowerPC.td
IntrinsicsX86.td X86: add more GATHER intrinsics in LLVM 2012-06-29 00:54:20 +00:00
IntrinsicsXCore.td
IRBuilder.h Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
LinkAllPasses.h add a new pass to instrument loads and stores for run-time bounds checking 2012-05-22 17:19:09 +00:00
LinkAllVMCore.h
Linker.h
LLVMContext.h revert r158660, since Chris has some issues with this patch (namely using code to reprent information only used by the compiler) 2012-06-18 23:34:26 +00:00
Metadata.h Move the Metadata merging methods from GVN and make them public in MDNode. 2012-06-16 20:33:37 +00:00
Module.h I noticed that named metadata doesn't provide a direct way of getting at the 2012-05-16 12:25:43 +00:00
OperandTraits.h
Operator.h
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h
SymbolTableListTraits.h
Type.h
Use.h
User.h Grammar. 2012-05-16 22:08:58 +00:00
Value.h
ValueSymbolTable.h