1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/include/llvm/CodeGen
David Green 81ae14cd79 [IfCvt] Don't use pristine register for counting liveins for predicated instructions.
The test case here hits machine verifier problems. There are volatile
long loads that the results of do not get used, loading into two dead
registers. IfCvt will predicate them and as it does will add implicit
uses of the predicating registers due to thinking they are live in. As
nothing has used the register, the machine verifier disagrees that they
are really live and we end up with a failure.

The registers come from Pristine regs that LivePhysRegs counts as live.
This patch adds a addLiveInsNoPristines method to be used instead in
IfCvt, so that only really live in regs need to be added as implicit
operands.

Differential Revision: https://reviews.llvm.org/D90965
2021-07-11 14:45:54 +01:00
..
GlobalISel [AArch64][GlobalISel] Implement moreElements legalization for G_SHUFFLE_VECTOR. 2021-07-10 00:25:26 -07:00
MIRParser [MIRParser] Add machine metadata. 2021-06-28 22:29:36 -04:00
PBQP
AccelTable.h [docs] Fix doxygen comments wrongly attached to the llvm namespace 2021-04-07 01:20:18 +02:00
Analysis.h
AntiDepBreaker.h
AsmPrinter.h Support GCC's -fstack-usage flag 2021-05-15 10:22:49 -07:00
AsmPrinterHandler.h
AtomicExpandUtils.h Copy syncscope when expanding atomicrmw into cmpxchg loop 2021-04-05 17:29:38 -07:00
BasicBlockSectionUtils.h
BasicTTIImpl.h [TTI] Remove IsPairwiseForm from getArithmeticReductionCost 2021-07-09 11:51:16 +01:00
CalcSpillWeights.h [RegAlloc] Fix "ran out of regs" with uses in statepoint 2021-03-24 10:25:34 +07:00
CallingConvLower.h [llvm][NFC] Remove CallingConvLower deprecated alignment functions 2021-05-06 07:46:19 +00:00
CodeGenPassBuilder.h Fix build after 34a8a437b 2021-05-07 23:18:44 -07:00
CommandFlags.h [IR] make stack-protector-guard-* flags into module attrs 2021-05-21 15:53:30 -07:00
CostTable.h
CSEConfigBase.h
DAGCombine.h
DbgEntityHistoryCalculator.h
DebugHandlerBase.h
DFAPacketizer.h
DIE.h
DIEValue.def
DwarfStringPoolEntry.h
EdgeBundles.h [NFC] Fix comment describing what EdgeBundles is 2021-03-24 11:04:05 +07:00
ExecutionDomainFix.h
ExpandReductions.h
ExpandVectorPredication.h Recommit "[VP,Integer,#2] ExpandVectorPredication pass" 2021-05-04 11:47:52 +02:00
FastISel.h [FastISel] Remove kill tracking 2021-04-03 15:50:13 +02:00
FaultMaps.h
FunctionLoweringInfo.h
GCMetadata.h [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
GCMetadataPrinter.h
IndirectThunks.h [ARM][AArch64] SLSHardening: make non-comdat thunks possible 2021-05-20 17:07:05 +02:00
IntrinsicLowering.h
ISDOpcodes.h [llvm][clang][fpenv] Create new intrinsic llvm.arith.fence to control FP optimization at expression level 2021-06-28 12:26:52 -04:00
LatencyPriorityQueue.h
LazyMachineBlockFrequencyInfo.h
LexicalScopes.h
LinkAllAsmWriterComponents.h [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
LinkAllCodegenComponents.h [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
LiveInterval.h
LiveIntervalCalc.h [NFC] Fix typo 2021-06-21 14:59:30 +02:00
LiveIntervals.h
LiveIntervalUnion.h [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration 2021-04-01 08:33:28 -07:00
LivePhysRegs.h [IfCvt] Don't use pristine register for counting liveins for predicated instructions. 2021-07-11 14:45:54 +01:00
LiveRangeCalc.h
LiveRangeEdit.h
LiveRegMatrix.h
LiveRegUnits.h
LiveStacks.h
LiveVariables.h
LoopTraversal.h
LowLevelType.h [docs] Fix doxygen comments wrongly attached to the llvm namespace 2021-04-07 01:20:18 +02:00
MachineBasicBlock.h [CSSPGO] Undoing the concept of dangling pseudo probe 2021-06-18 15:14:11 -07:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h
MachineCombinerPattern.h Revert "[AArch64] Add Machine InstCombiner patterns for FMUL indexed variant" 2021-04-12 16:28:49 +03:00
MachineConstantPool.h
MachineDominanceFrontier.h
MachineDominators.h
MachineFrameInfo.h [llvm] fix typo in comment 2021-06-17 14:30:52 +00:00
MachineFunction.h [Debug-info][InstrRef] Avoid an unnecessary map ordering 2021-07-09 15:43:13 +01:00
MachineFunctionPass.h
MachineInstr.h [NFC] Fix a few whitespace issues and typos. 2021-07-04 11:49:58 +01:00
MachineInstrBuilder.h [llvm, clang] Remove stdlib includes from .h files without std:: 2021-04-27 12:41:39 -04:00
MachineInstrBundle.h
MachineInstrBundleIterator.h
MachineJumpTableInfo.h
MachineLoopInfo.h [ARM] Allow findLoopPreheader to return headers with multiple loop successors 2021-05-24 12:22:15 +01:00
MachineLoopUtils.h
MachineMemOperand.h CodeGen: Store LLT instead of uint64_t in MachineMemOperand 2021-06-29 17:38:51 -04:00
MachineModuleInfo.h [WebAssembly] Added initial type checker to MC Assembler 2021-07-09 14:07:25 -07:00
MachineModuleInfoImpls.h [WebAssembly] Added initial type checker to MC Assembler 2021-07-09 14:07:25 -07:00
MachineModuleSlotTracker.h [MIRPrinter] Add machine metadata support. 2021-06-19 12:48:08 -04:00
MachineOperand.h [MachineFunction] Make comment for TracksLiveness more clearer 2021-04-30 12:10:36 -07:00
MachineOptimizationRemarkEmitter.h
MachineOutliner.h
MachinePassManager.h [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
MachinePassRegistry.def Recommit "[VP,Integer,#2] ExpandVectorPredication pass" 2021-05-04 11:47:52 +02:00
MachinePassRegistry.h
MachinePipeliner.h
MachinePostDominators.h
MachineRegionInfo.h
MachineRegisterInfo.h [AIX][XCOFF] emit vector info of traceback table. 2021-06-14 11:15:22 -04:00
MachineScheduler.h [NFC][Scheduler] Refactor tryCandidate to return boolean 2021-07-01 14:31:47 +08:00
MachineSizeOpts.h
MachineSSAUpdater.h
MachineStableHash.h
MachineTraceMetrics.h
MachORelocation.h
MacroFusion.h
MBFIWrapper.h [NFC] Add missing includes for LLVM_ENABLE_MODULES builds 2021-06-03 23:29:03 +02:00
MIRFormatter.h
MIRFSDiscriminator.h [SampleFDO] New hierarchical discriminator for FS SampleFDO (ProfileData part) 2021-06-02 10:32:52 -07:00
MIRPrinter.h
MIRYamlMapping.h [DebugInfo][InstrRef][1/4] Support transformations that widen values 2021-07-01 11:19:27 +01:00
ModuloSchedule.h
MultiHazardRecognizer.h
NonRelocatableStringpool.h
ParallelCG.h
Passes.h [AMDGPU] Disable garbage collection passes 2021-07-07 15:47:57 -07:00
PBQPRAConstraint.h
PreISelIntrinsicLowering.h
PseudoSourceValue.h
RDFGraph.h
RDFLiveness.h
RDFRegisters.h
ReachingDefAnalysis.h
RegAllocPBQP.h
RegAllocRegistry.h
Register.h
RegisterClassInfo.h
RegisterPressure.h
RegisterScavenging.h
RegisterUsageInfo.h
ReplaceWithVeclib.h
ResourcePriorityQueue.h
RuntimeLibcalls.h [CodeGen] Refactor libcall lookups for RTLIB::POWI_* 2021-06-02 11:40:34 +02:00
ScheduleDAG.h Replace uses of std::iterator with explicit using 2021-04-12 10:47:14 -07:00
ScheduleDAGInstrs.h
ScheduleDAGMutation.h
ScheduleDFS.h
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SDNodeProperties.td
SelectionDAG.h [SelectionDAG] Rename memory VT argument for getMaskedGather/getMaskedScatter from VT to MemVT. 2021-07-02 17:37:40 -07:00
SelectionDAGAddressAnalysis.h
SelectionDAGISel.h [llvm][clang][fpenv] Create new intrinsic llvm.arith.fence to control FP optimization at expression level 2021-06-28 12:26:52 -04:00
SelectionDAGNodes.h [VP] Implementation of intrinsic and SDNode definitions for VP load, store, gather, scatter. 2021-07-01 13:34:44 +02:00
SelectionDAGTargetInfo.h
SlotIndexes.h
Spiller.h
StableHashing.h
StackMaps.h
StackProtector.h
SwiftErrorValueTracking.h
SwitchLoweringUtils.h
TailDuplicator.h
TargetCallingConv.h IR+AArch64: add a "swiftasync" argument attribute. 2021-05-14 11:43:58 +01:00
TargetFrameLowering.h [CodeGen][NFC] Remove unused virtual function 2021-06-02 13:11:12 -07:00
TargetInstrInfo.h Revert "[X86FixupLEAs] Transform the sequence LEA/SUB to SUB/SUB" 2021-06-12 11:41:38 +01:00
TargetLowering.h [OpaquePtr] Use ArgListEntry::IndirectType for lowering ABI attributes 2021-07-07 14:58:38 -07:00
TargetLoweringObjectFileImpl.h [AIX] Add traceback ssp canary bit support 2021-06-10 02:40:02 +00:00
TargetOpcodes.h
TargetPassConfig.h [X86] Support AMX fast register allocation 2021-05-08 14:21:11 +08:00
TargetRegisterInfo.h Retire TargetRegisterInfo::getSpillAlignment 2021-05-07 15:16:22 +02:00
TargetSchedule.h
TargetSubtargetInfo.h
TileShapeInfo.h [llvm, clang] Remove stdlib includes from .h files without std:: 2021-04-27 12:41:39 -04:00
UnreachableBlockElim.h
ValueTypes.h Revert "[WebAssembly] Implementation of global.get/set for reftypes in LLVM IR" 2021-07-02 11:49:51 +03:00
ValueTypes.td [ValueTypes] Define MVTs for v3i64/v3f64 to complement v6i32/v6f32 2021-06-24 12:41:22 +09:00
VirtRegMap.h
WasmEHFuncInfo.h [WebAssembly] Rename event to tag 2021-06-17 20:34:19 -07:00
WinEHFuncInfo.h