llvm-project/llvm/lib/Target/Hexagon
Krzysztof Parzyszek ddafa2cd5f [Hexagon] Check for offset overflow when reserving scavenging slots
Scavenging slots were only reserved when pseudo-instruction expansion in
frame lowering created new virtual registers. It is possible to still
need a scavenging slot even if no virtual registers were created, in cases
where the stack is large enough to overflow instruction offsets.

llvm-svn: 277355
2016-08-01 17:15:30 +00:00
..
AsmParser Delete more dead code. 2016-06-21 21:51:41 +00:00
Disassembler [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MCTargetDesc MC] Provide an MCTargetOptions to implementors of MCAsmBackendCtorTy, NFC 2016-07-25 17:18:28 +00:00
TargetInfo Remove autoconf support 2016-01-26 21:29:08 +00:00
BitTracker.cpp [Hexagon] Rerun bit tracker on new instructions in RIE 2016-07-26 19:08:45 +00:00
BitTracker.h [Hexagon] Rerun bit tracker on new instructions in RIE 2016-07-26 19:08:45 +00:00
CMakeLists.txt [Hexagon] Implement DFA based hazard recognizer 2016-07-29 13:59:09 +00:00
Hexagon.h [Hexagon] Improve lowering of instructions to the MC layer 2015-12-02 23:08:29 +00:00
Hexagon.td [Hexagon] Add target feature to generate long calls 2016-07-25 14:42:11 +00:00
HexagonAsmPrinter.cpp [Hexagon] Add support for proper handling of H and L constraints 2016-07-26 17:31:02 +00:00
HexagonAsmPrinter.h [Hexagon] Preprocess mapped instructions before lowering to MC 2015-12-15 17:05:45 +00:00
HexagonBitSimplify.cpp [HexagonBitSimplify] Remove dead code. 2016-07-30 22:07:18 +00:00
HexagonBitTracker.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
HexagonBitTracker.h Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonBlockRanges.cpp [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00
HexagonBlockRanges.h [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00
HexagonBranchRelaxation.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonCFGOptimizer.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonCallingConv.td
HexagonCommonGEP.cpp [scan-build] fix dead store warnings emitted on LLVM Hexagon code base 2016-05-13 13:13:59 +00:00
HexagonConstPropagation.cpp [HexagonConstPropagation] Remove dead code. 2016-07-30 22:07:21 +00:00
HexagonCopyToCombine.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonEarlyIfConv.cpp [Hexagon] Post-increment loads/stores enhancements 2016-07-26 20:30:30 +00:00
HexagonExpandCondsets.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonFixupHwLoops.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonFrameLowering.cpp [Hexagon] Check for offset overflow when reserving scavenging slots 2016-08-01 17:15:30 +00:00
HexagonFrameLowering.h [Hexagon] Check for offset overflow when reserving scavenging slots 2016-08-01 17:15:30 +00:00
HexagonGenExtract.cpp Add optimization bisect opt-in calls for Hexagon passes 2016-04-26 19:46:28 +00:00
HexagonGenInsert.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonGenMux.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonGenPredicate.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonHardwareLoops.cpp [Hexagon] Find speculative loop preheader in hardware loop generation 2016-07-27 21:20:54 +00:00
HexagonHazardRecognizer.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonHazardRecognizer.h Fix license information in the file header 2016-07-29 14:04:17 +00:00
HexagonISelDAGToDAG.cpp Fixed MSVC out of range shift warning 2016-07-29 18:43:59 +00:00
HexagonISelLowering.cpp Revert r277178, the actual change had already been applied 2016-07-29 17:50:47 +00:00
HexagonISelLowering.h [Hexagon] Custom lower VECTOR_SHUFFLE and EXTRACT_SUBVECTOR for HVX 2016-07-29 16:44:27 +00:00
HexagonInstrAlias.td [Hexagon] Treat all conditional branches as predicted (not-taken by default) 2016-05-09 18:22:07 +00:00
HexagonInstrEnc.td [Hexagon] Adding skeleton of HVX extension instructions. 2015-10-17 01:33:04 +00:00
HexagonInstrFormats.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonInstrFormatsV4.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonInstrFormatsV60.td [Hexagon] Update instruction formats 2015-11-23 14:09:26 +00:00
HexagonInstrInfo.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonInstrInfo.h [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonInstrInfo.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonInstrInfoV3.td [Hexagon] Register save/restore functions do not follow regular conventions 2016-04-25 17:49:44 +00:00
HexagonInstrInfoV4.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonInstrInfoV5.td [Hexagon] Treat transfers of FP immediates are pseudo instructions 2015-11-25 21:40:03 +00:00
HexagonInstrInfoV60.td [Hexagon] Custom lower VECTOR_SHUFFLE and EXTRACT_SUBVECTOR for HVX 2016-07-29 16:44:27 +00:00
HexagonInstrInfoVector.td [Hexagon] Equally-sized vectors are equivalent in ISel (except vNi1) 2016-06-27 15:08:22 +00:00
HexagonIntrinsics.td [Hexagon] Handle operand type differences for A2_tfrpi 2016-05-05 15:29:47 +00:00
HexagonIntrinsicsDerived.td
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td [Hexagon] Use common Pat classes for selecting code for intrinsics 2016-04-22 18:05:55 +00:00
HexagonIntrinsicsV5.td [Hexagon] Use common Pat classes for selecting code for intrinsics 2016-04-22 18:05:55 +00:00
HexagonIntrinsicsV60.td [Hexagon] Use common Pat classes for selecting code for intrinsics 2016-04-22 18:05:55 +00:00
HexagonIsetDx.td
HexagonMCInstLower.cpp [Hexagon] Using MustExtend flag on expression instead of passing around bools. 2016-02-29 18:39:51 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h [Hexagon] Speed up frame lowering when no optimizations are enabled 2016-03-28 14:42:03 +00:00
HexagonMachineScheduler.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonMachineScheduler.h [Hexagon] Add verbose debugging mode to Hexagon MI Scheduler 2016-07-18 15:47:25 +00:00
HexagonNewValueJump.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonOperands.td [Hexagon] Improve patterns with stack-based addressing 2016-07-15 15:35:52 +00:00
HexagonOptAddrMode.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonOptimizeSZextends.cpp Add optimization bisect opt-in calls for Hexagon passes 2016-04-26 19:46:28 +00:00
HexagonPeephole.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonRDF.cpp [Hexagon] Implement RDF-based post-RA optimizations 2016-01-12 19:09:01 +00:00
HexagonRDF.h [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00
HexagonRDFOpt.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonRegisterInfo.cpp Run clang-tidy's performance-unnecessary-copy-initialization over LLVM. 2016-06-12 17:30:47 +00:00
HexagonRegisterInfo.h [Hexagon] Make getCallerSavedRegs specific to a register class 2016-05-16 18:02:28 +00:00
HexagonRegisterInfo.td [Hexagon] Separate C8 and USR to avoid unwanted subregister composition 2016-05-28 01:51:16 +00:00
HexagonSchedule.td [Hexagon] Update instruction formats 2015-11-23 14:09:26 +00:00
HexagonScheduleV4.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonScheduleV55.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonScheduleV60.td [Hexagon] Update instruction itineraries 2016-07-15 16:58:34 +00:00
HexagonSelectCCInfo.td
HexagonSelectionDAGInfo.cpp [Hexagon] Add target feature to generate long calls 2016-07-25 14:42:11 +00:00
HexagonSelectionDAGInfo.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
HexagonSplitConst32AndConst64.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonSplitDouble.cpp [CodeGen] Take a MachineMemOperand::Flags in MachineFunction::getMachineMemOperand. 2016-07-15 18:26:59 +00:00
HexagonStoreWidening.cpp Add optimization bisect opt-in calls for Hexagon passes 2016-04-26 19:46:28 +00:00
HexagonSubtarget.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonSubtarget.h [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonSystemInst.td [Hexagon] Add definitions for trap/pause instructions 2016-04-22 16:25:00 +00:00
HexagonTargetMachine.cpp MachinePipeliner pass that implements Swing Modulo Scheduling 2016-07-29 16:44:44 +00:00
HexagonTargetMachine.h Delete Reloc::Default. 2016-05-18 22:04:49 +00:00
HexagonTargetObjectFile.cpp [Hexagon] Expand handling of the small-data/bss section 2016-04-21 18:56:45 +00:00
HexagonTargetObjectFile.h [Hexagon] Expand handling of the small-data/bss section 2016-04-21 18:56:45 +00:00
HexagonTargetStreamer.h
HexagonTargetTransformInfo.cpp [Hexagon] Use loop data prefetch on Hexagon 2016-07-22 14:22:43 +00:00
HexagonTargetTransformInfo.h [Hexagon] Use loop data prefetch on Hexagon 2016-07-22 14:22:43 +00:00
HexagonVLIWPacketizer.cpp [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonVLIWPacketizer.h [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
LLVMBuild.txt [Hexagon] Make HexagonCodeGen depend on Scalar 2016-07-22 17:23:46 +00:00
RDFCopy.cpp [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00
RDFCopy.h [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00
RDFDeadCode.cpp [RDF] Improve compile-time performance of dead code elimination 2016-01-18 20:42:47 +00:00
RDFDeadCode.h [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00
RDFGraph.cpp [RDF] Make the graph construction/use less expensive 2016-07-22 16:09:47 +00:00
RDFGraph.h [RDF] Make the graph construction/use less expensive 2016-07-22 16:09:47 +00:00
RDFLiveness.cpp [RDF] Ignore implicit defs when resetting <kill> flags 2016-06-02 14:30:09 +00:00
RDFLiveness.h [hexagon] Move BlockRanges and RDF stuff into the llvm namespace. 2016-05-27 10:06:40 +00:00