1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/include/llvm/CodeGen
Volkan Keles eea46f246c [GlobalISel][TableGen] Add support for SDNodeXForm
Summary:
This patch adds CustomRenderer which renders the matched
operands to the specified instruction.

Targets can enable the matching of SDNodeXForm by adding
a definition that inherits from GICustomOperandRenderer and
GISDNodeXFormEquiv as follows.

def gi_imm8 : GICustomOperandRenderer<"renderImm8”>,
                       GISDNodeXFormEquiv<imm8_xform>;

Custom renderer functions should be of the form:
void render(MachineInstrBuilder &MIB, const MachineInstr &I);

Reviewers: dsanders, ab, rovka

Reviewed By: dsanders

Subscribers: kristof.beyls, javed.absar, llvm-commits, mgrang, qcolombet

Differential Revision: https://reviews.llvm.org/D42012

llvm-svn: 322582
2018-01-16 18:44:05 +00:00
..
GlobalISel [GlobalISel][TableGen] Add support for SDNodeXForm 2018-01-16 18:44:05 +00:00
MIRParser
PBQP Fix warnings discovered by rL317076. [-Wunused-private-field] 2017-11-01 13:47:55 +00:00
Analysis.h
AsmPrinter.h [DWARF][NFC] Overload AsmPrinter::emitDwarfStringOffsets() to take a DwarfStringPoolEntry 2018-01-11 02:35:00 +00:00
AtomicExpandUtils.h
BasicTTIImpl.h Revert r321377, it causes regression to https://reviews.llvm.org/P8055. 2017-12-28 17:02:34 +00:00
CalcSpillWeights.h Add logic to greedy reg alloc to avoid bad eviction chains 2017-10-22 17:59:38 +00:00
CallingConvLower.h [RISCV] Add custom CC_RISCV calling convention and improved call support 2017-12-11 12:49:02 +00:00
CommandFlags.def [lli] Make lli support -mcpu=native for CPU autodetection 2018-01-09 18:14:18 +00:00
CostTable.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
DAGCombine.h
DFAPacketizer.h [Packetizer] Add function to check for aliasing between instructions 2017-10-20 22:08:40 +00:00
DIE.h
DIEValue.def
DwarfStringPoolEntry.h [DWARF][NFC] Overload AsmPrinter::emitDwarfStringOffsets() to take a DwarfStringPoolEntry 2018-01-11 02:35:00 +00:00
EdgeBundles.h
ExecutionDepsFix.h
ExpandReductions.h
FastISel.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
FaultMaps.h Fix FaultMaps crash when the out streamer is reused 2017-10-17 11:44:34 +00:00
FunctionLoweringInfo.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h [CodeGen] fix documentation comments; NFC 2017-12-15 18:09:33 +00:00
ISDOpcodes.h [DAGCombine] Handle big endian correctly in CombineConsecutiveLoads 2017-12-05 14:50:05 +00:00
LatencyPriorityQueue.h Remove usages of deprecated std::unary_function and std::binary_function. 2017-09-14 18:33:25 +00:00
LazyMachineBlockFrequencyInfo.h
LexicalScopes.h
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h
LiveIntervals.h Rename LiveIntervalAnalysis.h to LiveIntervals.h 2017-12-13 02:51:04 +00:00
LiveIntervalUnion.h
LivePhysRegs.h [CodeGen] Use MachineOperand::print in the MIRPrinter for MO_Register. 2017-12-07 10:40:31 +00:00
LiveRangeEdit.h LiveRangeEdit: Inline markDeadRemat() into only user; NFC 2018-01-10 22:36:26 +00:00
LiveRegMatrix.h
LiveRegUnits.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
LiveStacks.h LiveStacks: Rename LiveStack.{h|cpp} to LiveStacks.{h|cpp}; NFC 2017-12-18 23:19:44 +00:00
LiveVariables.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
LowLevelType.h
MachineBasicBlock.h support phi ranges for machine-level IR 2018-01-04 02:58:15 +00:00
MachineBlockFrequencyInfo.h Irreducible loop metadata for more accurate block frequency under PGO. 2017-11-02 22:26:51 +00:00
MachineBranchProbabilityInfo.h
MachineCombinerPattern.h [AArch64] Add patterns to replace fsub fmul with fma fneg. 2017-12-06 22:48:36 +00:00
MachineConstantPool.h
MachineDominanceFrontier.h [Dominators] Change Roots type to SmallVector 2017-07-26 18:27:39 +00:00
MachineDominators.h [Dominators] Change Roots type to SmallVector 2017-07-26 18:27:39 +00:00
MachineFrameInfo.h MachineFrameInfo: Cleanup some parameter naming inconsistencies; NFC 2017-12-05 01:18:15 +00:00
MachineFunction.h MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MachineFunctionPass.h
MachineInstr.h Any Target Asm comments should start from MachineInstr::TAsmComments value. 2017-12-14 12:07:11 +00:00
MachineInstrBuilder.h [MachineOperand][MIR] Add isRenamable to MachineOperand. 2017-12-12 17:53:59 +00:00
MachineInstrBundle.h [CodeGen] Use MachineOperand::print in the MIRPrinter for MO_Register. 2017-12-07 10:40:31 +00:00
MachineInstrBundleIterator.h
MachineJumpTableInfo.h [CodeGen] Print jump-table index operands as %jump-table.0 in both MIR and debug output 2017-12-13 10:30:59 +00:00
MachineLoopInfo.h Use a BumpPtrAllocator for Loop objects 2017-09-28 02:45:42 +00:00
MachineMemOperand.h TLI: Allow using PSV for intrinsic mem operands 2017-12-14 22:34:10 +00:00
MachineModuleInfo.h MachineModuleInfo: Remove unused function; NFC 2017-12-15 22:22:42 +00:00
MachineModuleInfoImpls.h [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:33:29 +00:00
MachineOperand.h [CodeGen][NFC] Correct case for printSubRegIdx 2018-01-16 10:53:11 +00:00
MachineOptimizationRemarkEmitter.h MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MachinePassRegistry.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-26 22:44:03 +00:00
MachinePostDominators.h [Dominators] Change Roots type to SmallVector 2017-07-26 18:27:39 +00:00
MachineRegionInfo.h
MachineRegisterInfo.h [Regalloc] Generate and store multiple regalloc hints. 2017-12-05 10:52:24 +00:00
MachineScheduler.h Cleanup some problems with LLVM_ENABLE_DUMP in release builds, and 2017-09-27 21:19:56 +00:00
MachineSSAUpdater.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-09-11 23:00:48 +00:00
MachineTraceMetrics.h Recommit [MachineCombiner] Update instruction depths incrementally for large BBs. 2017-09-20 11:54:37 +00:00
MachineValueType.h Add MVT::v128i1, NFC 2017-12-14 19:05:21 +00:00
MachORelocation.h
MacroFusion.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-26 22:44:03 +00:00
MIRPrinter.h
MIRYamlMapping.h [YAML] Add support for non-printable characters 2017-12-18 17:38:03 +00:00
ParallelCG.h
Passes.h Rename CountingFunctionInserter and use for both mcount and cygprofile calls, before and after inlining 2017-11-14 21:09:45 +00:00
PBQPRAConstraint.h
PreISelIntrinsicLowering.h [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-13 21:15:20 +00:00
PseudoSourceValue.h Add AddresSpace to PseudoSourceValue. 2017-09-14 20:53:51 +00:00
RegAllocPBQP.h
RegAllocRegistry.h
RegisterClassInfo.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
RegisterPressure.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
RegisterScavenging.h
RegisterUsageInfo.h RegisterUsageInfo.h: Add missing header for complete type needed for DenseMap traits 2017-10-24 21:29:10 +00:00
ResourcePriorityQueue.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
RuntimeLibcalls.def [SelectionDAG] lower math intrinsics to finite version of libcalls when possible (PR35672) 2018-01-09 15:41:00 +00:00
RuntimeLibcalls.h Move Runtime libcall definitions to a .def file 2017-07-19 21:53:30 +00:00
ScheduleDAG.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
ScheduleDAGInstrs.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
ScheduleDAGMutation.h
ScheduleDFS.h
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SDNodeProperties.td TableGen: Allow setting SDNodeProperties on intrinsics 2017-12-20 19:36:28 +00:00
SelectionDAG.h [SelectionDAG] lower math intrinsics to finite version of libcalls when possible (PR35672) 2018-01-09 15:41:00 +00:00
SelectionDAGAddressAnalysis.h [DAG] Teach BaseIndexOffset to correctly handle with indexed operations 2018-01-08 16:21:35 +00:00
SelectionDAGISel.h [RISCV] Support lowering FrameIndex 2017-12-11 11:53:54 +00:00
SelectionDAGNodes.h [SelectionDAG][X86] Explicitly store the scale in the gather/scatter ISD nodes 2018-01-10 19:16:05 +00:00
SelectionDAGTargetInfo.h [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-13 21:15:20 +00:00
SlotIndexes.h Make more constructors constexpr or use =default. 2017-10-08 15:59:35 +00:00
StackMaps.h Modularize: Include some required headers 2017-11-03 20:24:19 +00:00
StackProtector.h
TailDuplicator.h Remove unnecessary includes; NFC 2017-12-13 02:51:01 +00:00
TargetCallingConv.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
TargetFrameLowering.h MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
TargetInstrInfo.h PeepholeOptimizer: Fix for vregs without defs 2018-01-11 22:30:43 +00:00
TargetLowering.h [ExpandMemcmp] rename variables and add hook to override pref for number of loads per block; NFC 2018-01-03 20:02:39 +00:00
TargetLoweringObjectFile.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
TargetLoweringObjectFileImpl.h [WebAssembly] Implement @llvm.global_ctors and @llvm.global_dtors 2017-12-15 00:17:10 +00:00
TargetOpcodes.def Revert r319691: [globalisel][tablegen] Split atomic load/store into separate opcode and enable for AArch64. 2017-12-05 05:52:07 +00:00
TargetOpcodes.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
TargetPassConfig.h [CodeGen][NFC] Remove unused function declaration 2018-01-03 20:56:29 +00:00
TargetRegisterInfo.h [CodeGen] Use MachineOperand::print in the MIRPrinter for MO_Register. 2017-12-07 10:40:31 +00:00
TargetSchedule.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
TargetSubtargetInfo.h Revert "AArch64: Fix emergency spillslot being out of reach for large callframes" 2018-01-10 22:36:28 +00:00
UnreachableBlockElim.h
ValueTypes.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-26 22:44:03 +00:00
ValueTypes.td Add MVT::v128i1, NFC 2017-12-14 19:05:21 +00:00
VirtRegMap.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
WinEHFuncInfo.h