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
Peter Smith 7d816e3012 [MC] Pass MCSubtargetInfo to fixupNeedsRelaxation and applyFixup
On targets like Arm some relaxations may only be performed when certain
architectural features are available. As functions can be compiled with
differing levels of architectural support we must make a judgement on
whether we can relax based on the MCSubtargetInfo for the function. This
change passes through the MCSubtargetInfo for the function to
fixupNeedsRelaxation so that the decision on whether to relax can be made
per function. In this patch, only the ARM backend makes use of this
information. We must also pass the MCSubtargetInfo to applyFixup because
some fixups skip error checking on the assumption that relaxation has
occurred, to prevent code-generation errors applyFixup must see the same
MCSubtargetInfo as fixupNeedsRelaxation.

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

llvm-svn: 334078
2018-06-06 09:40:06 +00:00
..
AsmParser [Hexagon] Use addAliasForDirective for data directives 2018-05-17 13:21:18 +00:00
Disassembler Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MCTargetDesc [MC] Pass MCSubtargetInfo to fixupNeedsRelaxation and applyFixup 2018-06-06 09:40:06 +00:00
TargetInfo Add backend name to Target to enable runtime info to be fed back into TableGen 2017-11-15 23:55:44 +00:00
BitTracker.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
BitTracker.h [Hexagon] Memoize instruction positions in BitTracker 2018-02-05 17:12:07 +00:00
CMakeLists.txt Consistently sort add_subdirectory calls in lib/Target/*/CMakeLists.txt 2018-04-23 12:49:34 +00:00
Hexagon.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Hexagon.td [Hexagon] Remove unused flag from subtarget and (non)corresponding test 2018-05-15 16:13:52 +00:00
HexagonAsmPrinter.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
HexagonAsmPrinter.h [Hexagon] Clean up some code in HexagonAsmPrinter, NFC 2018-04-02 15:06:55 +00:00
HexagonBitSimplify.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonBitTracker.cpp [Hexagon] Fix alignment calculation of stack objects in Hexagon bit tracker 2018-02-20 14:29:43 +00:00
HexagonBitTracker.h
HexagonBlockRanges.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonBlockRanges.h
HexagonBranchRelaxation.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonCallingConv.td [Hexagon] Express calling conventions via .td file instead of hand-coding 2018-02-09 15:30:02 +00:00
HexagonCFGOptimizer.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
HexagonCommonGEP.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
HexagonConstExtenders.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonConstPropagation.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonCopyToCombine.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonDepArch.h [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepArch.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepIICHVX.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepIICScalar.td [Hexagon] Remove unused scheduling classes 2018-03-30 14:34:32 +00:00
HexagonDepInstrFormats.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepInstrInfo.td [Hexagon] Add trap1 instruction 2018-03-01 21:54:08 +00:00
HexagonDepITypes.h [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepITypes.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepMappings.td [Hexagon] Add trap1 instruction 2018-03-01 21:54:08 +00:00
HexagonDepOperands.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepTimingClasses.h [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonEarlyIfConv.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonExpandCondsets.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonFixupHwLoops.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
HexagonFrameLowering.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonFrameLowering.h Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
HexagonGatherPacketize.cpp Rename LiveIntervalAnalysis.h to LiveIntervals.h 2017-12-13 02:51:04 +00:00
HexagonGenExtract.cpp
HexagonGenInsert.cpp [Hexagon] Change std::sort to llvm::sort in response to r327219 2018-03-24 17:34:37 +00:00
HexagonGenMux.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
HexagonGenPredicate.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonHardwareLoops.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonHazardRecognizer.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonHazardRecognizer.h [Hexagon] Improve scheduling heuristic for large basic blocks 2018-03-20 14:54:01 +00:00
HexagonIICHVX.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonIICScalar.td
HexagonInstrFormats.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonInstrFormatsV4.td
HexagonInstrFormatsV60.td
HexagonInstrFormatsV65.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonInstrInfo.cpp [Hexagon] Generate post-increment for floating point types 2018-05-18 18:14:44 +00:00
HexagonInstrInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
HexagonIntrinsics.td [Hexagon] Add support to handle bit-reverse load intrinsics 2018-03-29 13:52:46 +00:00
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td
HexagonIntrinsicsV5.td
HexagonIntrinsicsV60.td [Hexagon] Remove vectors of i64 from valid HVX types 2017-12-14 18:35:24 +00:00
HexagonISelDAGToDAG.cpp [SelectionDAG] Expand UADDO/USUBO into ADD/SUBCARRY if legal for target 2018-06-01 14:00:32 +00:00
HexagonISelDAGToDAG.h [SelectionDAG] Expand UADDO/USUBO into ADD/SUBCARRY if legal for target 2018-06-01 14:00:32 +00:00
HexagonISelDAGToDAGHVX.cpp [Hexagon] Use vector align-left when shift amount fits in 3 bits 2018-05-30 13:45:34 +00:00
HexagonISelLowering.cpp [Hexagon] Minor cleanups in isel lowering 2018-06-05 12:49:19 +00:00
HexagonISelLowering.h [Hexagon] Select HVX code for vector CTPOP, CTLZ, and CTTZ 2018-06-01 14:52:58 +00:00
HexagonISelLoweringHVX.cpp [Hexagon] Avoid UB when shifting unsigned integer left by 32 2018-06-01 15:39:10 +00:00
HexagonLoopIdiomRecognition.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h
HexagonMachineScheduler.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonMachineScheduler.h [Hexagon] Add heuristic to exclude critical path cost for scheduling 2018-03-20 19:26:27 +00:00
HexagonMapAsm2IntrinV62.gen.td
HexagonMapAsm2IntrinV65.gen.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonMCInstLower.cpp
HexagonNewValueJump.cpp Fix up a few grammar issues. 2018-05-21 10:27:36 +00:00
HexagonOperands.td [Hexagon] Reorganize and update instruction patterns 2017-10-20 19:33:12 +00:00
HexagonOptAddrMode.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonOptimizeSZextends.cpp
HexagonPatterns.td [Hexagon] Add pattern to generate 64-bit neg instruction 2018-06-05 19:52:39 +00:00
HexagonPatternsHVX.td [Hexagon] Select HVX code for vector CTPOP, CTLZ, and CTTZ 2018-06-01 14:52:58 +00:00
HexagonPatternsV65.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonPeephole.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
HexagonPseudo.td [Hexagon] Recognize and handle :endloop01 2018-03-30 15:29:47 +00:00
HexagonRDFOpt.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
HexagonRegisterInfo.cpp [Hexagon] Add guest registers 2018-03-01 17:03:26 +00:00
HexagonRegisterInfo.h [Hexagon] Add TargetRegisterInfo::getPointerRegClass() override 2018-02-21 22:27:07 +00:00
HexagonRegisterInfo.td [Hexagon] Remove -mhvx-double and the corresponding subtarget feature 2018-04-03 16:06:36 +00:00
HexagonSchedule.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonScheduleV4.td
HexagonScheduleV55.td
HexagonScheduleV60.td
HexagonScheduleV62.td
HexagonScheduleV65.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonSelectionDAGInfo.cpp
HexagonSelectionDAGInfo.h
HexagonSplitConst32AndConst64.cpp [Hexagon] Add a target feature to control using small data section 2018-05-14 21:01:56 +00:00
HexagonSplitDouble.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonStoreWidening.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonSubtarget.cpp [Hexagon] Remove unused flag from subtarget and (non)corresponding test 2018-05-15 16:13:52 +00:00
HexagonSubtarget.h [Hexagon] Remove unused function from subtarget 2018-05-15 16:32:24 +00:00
HexagonTargetMachine.cpp [Hexagon] Handle non-immediate constants in HexagonSplitDouble 2018-05-04 15:04:48 +00:00
HexagonTargetMachine.h (Re-landing) Expose a TargetMachine::getTargetTransformInfo function 2017-12-22 18:21:59 +00:00
HexagonTargetObjectFile.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonTargetObjectFile.h
HexagonTargetStreamer.h
HexagonTargetTransformInfo.cpp [Hexagon] hexagon-autohvx was left on again 2018-04-20 19:45:49 +00:00
HexagonTargetTransformInfo.h [Hexagon] Initial instruction cost model for auto-vectorization 2018-04-13 20:46:50 +00:00
HexagonVectorLoopCarriedReuse.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonVectorPrint.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonVExtract.cpp Inline variable only used within assert. 2018-01-26 21:55:13 +00:00
HexagonVLIWPacketizer.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
HexagonVLIWPacketizer.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LLVMBuild.txt
RDFCopy.cpp [MachineOperand][Target] MachineOperand::isRenamable semantics changes 2018-02-23 18:25:08 +00:00
RDFCopy.h
RDFDeadCode.cpp [Hexagon] Change std::sort to llvm::sort in response to r327219 2018-03-24 17:34:37 +00:00
RDFDeadCode.h
RDFGraph.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
RDFGraph.h [CodeGen] Use MachineOperand::print in the MIRPrinter for MO_Register. 2017-12-07 10:40:31 +00:00
RDFLiveness.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +00:00
RDFLiveness.h [Hexagon] fix 'must explicitly initialize the const member' error which clang 3.8 emits 2018-03-12 14:40:48 +00:00
RDFRegisters.cpp [CodeGen] Rename functions PrintReg* to printReg* 2017-11-28 12:42:37 +00:00
RDFRegisters.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00