1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib/Target/Hexagon
Duncan P. N. Exon Smith 51ce2b263f Hexagon: Avoid dereferencing end() in HexagonCopyToCombine::findPairable
Check for end() before skipping through debug values.  This avoids
dereferencing end() when the instruction is the final one in the basic
block.  (It still assumes that a debug value will not be the final
instruction in the basic block.  No tests seemed to violate that.)

Many Hexagon tests trigger this, but they happen to magically pass right
now.  I found this because WIP patches for PR26753 convert them into
crashes.

llvm-svn: 278355
2016-08-11 16:40:03 +00:00
..
AsmParser [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
Disassembler
MCTargetDesc MC] Provide an MCTargetOptions to implementors of MCAsmBackendCtorTy, NFC 2016-07-25 17:18:28 +00:00
TargetInfo
BitTracker.cpp [Hexagon-ish] Add function to print cell map contents in bit tracker 2016-08-03 18:13:32 +00:00
BitTracker.h [Hexagon-ish] Add function to print cell map contents in bit tracker 2016-08-03 18:13:32 +00:00
CMakeLists.txt [Hexagon] Delete HexagonSelectCCInfo.td 2016-08-10 16:23:53 +00:00
Hexagon.h
Hexagon.td [Hexagon] Add target feature to generate long calls 2016-07-25 14:42:11 +00:00
HexagonAsmPrinter.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonAsmPrinter.h
HexagonBitSimplify.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonBitTracker.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +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
HexagonCallingConv.td
HexagonCFGOptimizer.cpp Hexagon: Avoid implicit iterator conversions, NFC 2016-07-12 01:55:32 +00:00
HexagonCommonGEP.cpp
HexagonConstPropagation.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonCopyToCombine.cpp Hexagon: Avoid dereferencing end() in HexagonCopyToCombine::findPairable 2016-08-11 16:40:03 +00:00
HexagonEarlyIfConv.cpp Replace MachineInstr* with MachineInstr& in TargetInstrInfo, NFC 2016-08-01 17:55:48 +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] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonFrameLowering.h [Hexagon] Check for offset overflow when reserving scavenging slots 2016-08-01 17:15:30 +00:00
HexagonGenExtract.cpp
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] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +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
HexagonInstrAlias.td
HexagonInstrEnc.td
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
HexagonInstrInfo.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonInstrInfo.h Replace MachineInstr* with MachineInstr& in TargetInstrInfo, NFC 2016-08-01 17:55:48 +00:00
HexagonInstrInfo.td [Hexagon] Remove unused variants of LO/HI instructions 2016-08-10 18:40:36 +00:00
HexagonInstrInfoV3.td
HexagonInstrInfoV4.td [Hexagon] Prefer _io over _rr for 64-bit store with constant offset 2016-08-02 18:50:05 +00:00
HexagonInstrInfoV5.td [Hexagon] Add extra patterns for single-precision min/max instructions 2016-08-10 17:56:24 +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
HexagonIntrinsicsDerived.td
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td
HexagonIntrinsicsV5.td
HexagonIntrinsicsV60.td
HexagonISelDAGToDAG.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonISelLowering.cpp [Hexagon] Remove unneeded/unused ISD opcodes ARGEXTEND and FCONST32 2016-08-10 16:20:33 +00:00
HexagonISelLowering.h [Hexagon] Remove unneeded/unused ISD opcodes ARGEXTEND and FCONST32 2016-08-10 16:20:33 +00:00
HexagonIsetDx.td
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h
HexagonMachineScheduler.cpp Move helpers into anonymous namespaces. NFC. 2016-08-06 11:13:10 +00:00
HexagonMachineScheduler.h [Hexagon] Add verbose debugging mode to Hexagon MI Scheduler 2016-07-18 15:47:25 +00:00
HexagonMCInstLower.cpp
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
HexagonPeephole.cpp [Hexagon] Clear kill flags from modified registers in peephole optimizer 2016-08-04 14:17:16 +00:00
HexagonRDF.cpp
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
HexagonRegisterInfo.td [Hexagon] Separate C8 and USR to avoid unwanted subregister composition 2016-05-28 01:51:16 +00:00
HexagonSchedule.td
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
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] Simplify the SplitConst32/64 pass 2016-08-10 18:05:47 +00:00
HexagonSplitDouble.cpp [Hexagon] Use integer instructions for floating point immediates 2016-08-10 16:46:36 +00:00
HexagonStoreWidening.cpp
HexagonSubtarget.cpp Replace MachineInstr* with MachineInstr& in TargetInstrInfo, NFC 2016-08-01 17:55:48 +00:00
HexagonSubtarget.h [Hexagon] Referencify MachineInstr in HexagonInstrInfo, NFC 2016-07-29 21:49:42 +00:00
HexagonSystemInst.td
HexagonTargetMachine.cpp [Hexagon] Generate vector printing instructions 2016-08-01 19:36:39 +00:00
HexagonTargetMachine.h Delete Reloc::Default. 2016-05-18 22:04:49 +00:00
HexagonTargetObjectFile.cpp
HexagonTargetObjectFile.h
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
HexagonVectorPrint.cpp Hexagon: Use llvm_unreachable. NFC. 2016-08-03 15:51:10 +00:00
HexagonVLIWPacketizer.cpp Replace MachineInstr* with MachineInstr& in TargetInstrInfo, NFC 2016-08-01 17:55:48 +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
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