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
Craig Topper 8d3d87a0cc [SelectionDAG][X86] Explicitly store the scale in the gather/scatter ISD nodes
Currently we infer the scale at isel time by analyzing whether the base is a constant 0 or not. If it is we assume scale is 1, else we take it from the element size of the pass thru or stored value. This seems a little weird and I think it makes more sense to make it explicit in the DAG rather than doing tricky things in the backend.

Most of this patch is just making sure we copy the scale around everywhere.

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

llvm-svn: 322210
2018-01-10 19:16:05 +00:00
..
GlobalISel [globalisel][tablegen] Allow ImmLeaf predicates to use InstructionSelector members 2017-12-20 14:41:51 +00:00
MIRParser
PBQP Fix warnings discovered by rL317076. [-Wunused-private-field] 2017-11-01 13:47:55 +00:00
Analysis.h
AsmPrinter.h [MC] Function stack size section. 2017-11-30 13:05:14 +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 Mark dump() methods as const. NFC 2017-06-21 22:19:17 +00:00
DIEValue.def
DwarfStringPoolEntry.h
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 Mark dump() methods as const. NFC 2017-06-21 22:19:17 +00:00
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 Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +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] Move printing MO_BlockAddress operands to MachineOperand::print 2017-12-19 21:47:14 +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 RegScavenging: Add scavengeRegisterBackwards() 2017-06-17 02:08:18 +00:00
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 [MachineOutliner] AArch64: Handle instrs that use SP and will never need fixups 2018-01-09 00:26:18 +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 AArch64: Fix emergency spillslot being out of reach for large callframes 2018-01-10 18:16:24 +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