llvm-project/llvm/lib/Target/Hexagon
Eli Friedman 0319c28459 [CodeGen] Emit more precise AssertZext/AssertSext nodes.
This is marginally helpful for removing redundant extensions, and the
code is easier to read, so it seems like an all-around win. In the new
test i8-phi-ext.ll, we used to emit an AssertSext i8; now we emit an
AssertZext i2, which allows the extension of the return value to be
eliminated.

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

llvm-svn: 336868
2018-07-11 23:26:35 +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 [Hexagon] Add a "generic" cpu 2018-06-26 18:44:05 +00:00
TargetInfo [Hexagon] Add a "generic" cpu 2018-06-26 18:44:05 +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] Add a "generic" cpu 2018-06-26 18:44:05 +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
HexagonCFGOptimizer.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
HexagonCallingConv.td [Hexagon] Express calling conventions via .td file instead of hand-coding 2018-02-09 15:30:02 +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] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +00:00
HexagonDepIICHVX.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepIICScalar.td [Hexagon] Remove unused instruction itineraties, NFC 2018-06-29 13:55:28 +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
HexagonDepInstrFormats.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonDepInstrInfo.td [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +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 [Hexagon] Add implicit uses even when untied explicit uses are present 2018-07-10 12:57:49 +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 [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +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
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 [CodeGen] Emit more precise AssertZext/AssertSext nodes. 2018-07-11 23:26:35 +00:00
HexagonISelLowering.h [SelectionDAG] Provide default expansion for rotates 2018-06-12 12:49:36 +00:00
HexagonISelLoweringHVX.cpp [Hexagon] Split CTPOP of vector pairs 2018-06-06 18:03:29 +00:00
HexagonInstrFormats.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonInstrFormatsV4.td
HexagonInstrFormatsV60.td [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +00:00
HexagonInstrFormatsV65.td [Hexagon] Add support for Hexagon V65 2017-12-11 18:57:54 +00:00
HexagonInstrInfo.cpp [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +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 [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +00:00
HexagonIntrinsicsV60.td [Hexagon] Remove vectors of i64 from valid HVX types 2017-12-14 18:35:24 +00:00
HexagonLoopIdiomRecognition.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
HexagonMCInstLower.cpp
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] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +00:00
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] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +00:00
HexagonPatternsHVX.td [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +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] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +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] Add a "generic" cpu 2018-06-26 18:44:05 +00:00
HexagonSubtarget.h [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +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] Make floating point operations expensive for vectorization 2018-06-12 15:12:50 +00:00
HexagonTargetTransformInfo.h [Hexagon] Make floating point operations expensive for vectorization 2018-06-12 15:12:50 +00:00
HexagonVExtract.cpp Inline variable only used within assert. 2018-01-26 21:55:13 +00:00
HexagonVLIWPacketizer.cpp [Hexagon] Remove 'T' from HasVNN predicates, NFC 2018-06-20 13:56:09 +00:00
HexagonVLIWPacketizer.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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
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