1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/include/llvm/CodeGen
Tim Northover beda738748 Reapply ARM: Do not spill CSR to stack on entry to noreturn functions
Should fix UBSan bot by also checking there's no "uwtable" attribute
before skipping. Otherwise the unwind table will be useless since its
moves expect CSRs to actually be preserved.

A noreturn nounwind function can be expected to never return in any way, and by
never returning it will also never have to restore any callee-saved registers
for its caller. This makes it possible to skip spills of those registers during
function entry, saving some stack space and time in the process. This is rather
useful for embedded targets with limited stack space.

Should fix PR9970.

Patch mostly by myeisha (pmb).

llvm-svn: 329494
2018-04-07 10:57:03 +00:00
..
GlobalISel Fix layering of MachineValueType.h by moving it from CodeGen to Support 2018-03-23 23:58:25 +00:00
MIRParser
PBQP Fix warnings discovered by rL317076. [-Wunused-private-field] 2017-11-01 13:47:55 +00:00
AccelTable.h Re-commit r329179 after fixing build&test issues 2018-04-04 14:42:14 +00:00
Analysis.h
AsmPrinter.h Style update. NFC. 2018-03-29 23:32:54 +00:00
AtomicExpandUtils.h
BasicTTIImpl.h [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +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 [TLS] use emulated TLS if the target supports only this mode 2018-02-28 17:48:55 +00:00
CostTable.h Fix layering of MachineValueType.h by moving it from CodeGen to Support 2018-03-23 23:58:25 +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
ExecutionDomainFix.h Separate LoopTraversal, ReachingDefAnalysis and BreakFalseDeps into their own files. 2018-01-22 10:06:50 +00:00
ExpandReductions.h
FastISel.h Fix layering of MachineValueType.h by moving it from CodeGen to Support 2018-03-23 23:58:25 +00:00
FaultMaps.h Fix FaultMaps crash when the out streamer is reused 2017-10-17 11:44:34 +00:00
FunctionLoweringInfo.h [FastISel] Sink local value materializations to first use 2018-03-14 21:54:21 +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] (float)((int) f) --> ftrunc (PR36617) 2018-03-31 17:55:44 +00:00
LatencyPriorityQueue.h
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 Take into account the cost of local intervals when selecting split candidate. 2018-01-31 13:31:08 +00:00
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
LoopTraversal.h Separate LoopTraversal, ReachingDefAnalysis and BreakFalseDeps into their own files. 2018-01-22 10:06:50 +00:00
LowLevelType.h
MachineBasicBlock.h [WebAssembly] Add DebugLoc information to WebAssembly block and loop. 2018-03-15 22:06:51 +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
MachineDominators.h [Dominators] Remove verifyDomTree and add some verifying for Post Dom Trees 2018-02-28 11:00:08 +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 [AArch64] Keep track of MIFlags in the LoadStoreOptimizer 2018-03-14 17:10:58 +00:00
MachineInstrBuilder.h [GISel] Make constrainSelectedInstRegOperands() available to the legalizer. NFC 2018-01-17 19:31:33 +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 [CodeGen] Use MIR syntax for MachineMemOperand printing 2018-03-14 21:52:13 +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 [MachineOperand][Target] MachineOperand::isRenamable semantics changes 2018-02-23 18:25:08 +00:00
MachineOptimizationRemarkEmitter.h MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MachinePassRegistry.h
MachinePostDominators.h
MachineRegionInfo.h
MachineRegisterInfo.h Adding optional Name parameter to createVirtualRegister and createGenericVirtualRegister. 2018-04-03 15:53:49 +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
MachineTraceMetrics.h Recommit [MachineCombiner] Update instruction depths incrementally for large BBs. 2017-09-20 11:54:37 +00:00
MachORelocation.h
MacroFusion.h
MIRPrinter.h
MIRYamlMapping.h [MIR] Add support for MachineFrameInfo::LocalFrameSize 2018-04-06 08:56:25 +00:00
ParallelCG.h
Passes.h [CodeGen] Add a new pass for PostRA sink 2018-03-22 20:06:47 +00:00
PBQPRAConstraint.h
PreISelIntrinsicLowering.h
PseudoSourceValue.h
ReachingDefAnalysis.h [ReachingDefAnalysis] Fix what I assume to be a typo ReachingDedDefaultVal->ReachingDefDefaultVal. 2018-03-20 20:53:21 +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 Add support for emitting libcalls for x86_fp80 -> fp128 and vice-versa 2018-01-17 22:29:16 +00:00
RuntimeLibcalls.h [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +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 [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +00:00
SelectionDAGAddressAnalysis.h [DAG] Teach BaseIndexOffset to correctly handle with indexed operations 2018-01-08 16:21:35 +00:00
SelectionDAGISel.h [DAG, X86] Fix ISel-time node insertion ids 2018-03-22 19:32:07 +00:00
SelectionDAGNodes.h [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +00:00
SelectionDAGTargetInfo.h
SlotIndexes.h [include] Change std::sort to llvm::sort in response to r327219 2018-04-01 18:39:50 +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 [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +00:00
TargetFrameLowering.h Reapply ARM: Do not spill CSR to stack on entry to noreturn functions 2018-04-07 10:57:03 +00:00
TargetInstrInfo.h [MachineOutliner] Add useMachineOutliner target hook 2018-04-04 19:13:31 +00:00
TargetLowering.h [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +00:00
TargetLoweringObjectFileImpl.h Move TargetLoweringObjectFile from CodeGen to Target to fix layering 2018-03-23 23:58:19 +00:00
TargetOpcodes.h Fix layering of CodeGen/TargetOpcodes.def by moving it to Support 2018-03-23 23:58:27 +00:00
TargetPassConfig.h Fix typos of occurred and occurrence 2018-01-24 10:33:39 +00:00
TargetRegisterInfo.h [MIR] Adding support for Named Virtual Registers in MIR. 2018-03-30 18:15:54 +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 Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre.. 2018-01-22 22:05:25 +00:00
UnreachableBlockElim.h
ValueTypes.h [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer. 2018-03-29 17:21:10 +00:00
ValueTypes.td [NFC] Fix minor typos in comments 2018-03-19 13:48:40 +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