llvm-project/llvm/lib/Target/Hexagon
Daniel Sanders 725584e26d Add backend name to Target to enable runtime info to be fed back into TableGen
Summary:
Make it possible to feed runtime information back to tablegen to enable
profile-guided tablegen-eration, detection of untested tablegen definitions, etc.

Being a cross-compiler by nature, LLVM will potentially collect data for multiple
architectures (e.g. when running 'ninja check'). We therefore need a way for
TableGen to figure out what data applies to the backend it is generating at the
time. This patch achieves that by including the name of the 'def X : Target ...'
for the backend in the TargetRegistry.

Reviewers: qcolombet

Reviewed By: qcolombet

Subscribers: jholewinski, arsenm, jyknight, aditya_nandakumar, sdardis, nemanjai, ab, nhaehnle, t.p.northover, javed.absar, qcolombet, llvm-commits, fedor.sergeev

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

llvm-svn: 318352
2017-11-15 23:55:44 +00:00
..
AsmParser [Asm] Add debug tracing in table-generated assembly matcher 2017-10-11 09:17:43 +00:00
Disassembler Hexagon: Fold a single-use textual header into its use 2017-10-25 19:52:21 +00:00
MCTargetDesc Fix warnings discovered by rL317076. [-Wunused-private-field] 2017-11-01 13:47:55 +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 [Hexagon] Rangify some loops, NFC 2017-10-16 18:43:08 +00:00
BitTracker.h [Hexagon] Better determination of register classes in bit tracker 2017-09-25 19:12:55 +00:00
CMakeLists.txt [Hexagon] Reorganize and update instruction patterns 2017-10-20 19:33:12 +00:00
Hexagon.h
Hexagon.td [Hexagon] Reorganize and update instruction patterns 2017-10-20 19:33:12 +00:00
HexagonAsmPrinter.cpp [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonAsmPrinter.h [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
HexagonBitSimplify.cpp Set hasSideEffects=0 for PHI and fix affected passes 2017-11-08 20:19:16 +00:00
HexagonBitTracker.cpp Add iterator range MachineRegisterInfo::liveins(), adopt users, NFC 2017-10-16 19:08:41 +00:00
HexagonBitTracker.h [Hexagon] Better determination of register classes in bit tracker 2017-09-25 19:12:55 +00:00
HexagonBlockRanges.cpp [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-28 22:27:31 +00:00
HexagonBlockRanges.h [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-28 22:27:31 +00:00
HexagonBranchRelaxation.cpp [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-13 22:13:50 +00:00
HexagonCFGOptimizer.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonCommonGEP.cpp [Hexagon] Fix expensive checks build bot broken in r309230. 2017-07-26 23:56:29 +00:00
HexagonConstExtenders.cpp [Hexagon] Fix an incorrect assertion in HexagonConstExtenders.cpp 2017-10-27 18:52:28 +00:00
HexagonConstPropagation.cpp [Hexagon] Make getHexagonSubRegIndex take reference instead of pointer 2017-09-25 18:49:42 +00:00
HexagonCopyToCombine.cpp [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonDepArch.h [Hexagon] Update Hexagon ArchEnum and sync some downstream changes(NFC) 2017-10-18 17:45:22 +00:00
HexagonDepArch.td [Hexagon] Update Hexagon ArchEnum and sync some downstream changes(NFC) 2017-10-18 17:45:22 +00:00
HexagonDepIICHVX.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonDepIICScalar.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonDepITypes.h [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonDepITypes.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonDepInstrFormats.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonDepInstrInfo.td [Hexagon] Mark vector loads as predicable, update instruction mappings 2017-10-18 17:36:46 +00:00
HexagonDepMappings.td [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonDepOperands.td [Hexagon] Change the vector scaling for vector offsets 2017-04-06 17:28:21 +00:00
HexagonDepTimingClasses.h HexagonDepTimingClasses.h: Don't mark header functions as file local 2017-10-24 21:29:16 +00:00
HexagonEarlyIfConv.cpp [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonExpandCondsets.cpp [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonFixupHwLoops.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonFrameLowering.cpp [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonFrameLowering.h Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
HexagonGenExtract.cpp [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-28 22:27:31 +00:00
HexagonGenInsert.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-29 00:56:56 +00:00
HexagonGenMux.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-29 00:56:56 +00:00
HexagonGenPredicate.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-29 00:56:56 +00:00
HexagonHardwareLoops.cpp [Hexagon] Reorganize and update instruction patterns 2017-10-20 19:33:12 +00:00
HexagonHazardRecognizer.cpp [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-17 01:09:05 +00:00
HexagonHazardRecognizer.h [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2016-12-17 01:09:05 +00:00
HexagonIICHVX.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonIICScalar.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonISelDAGToDAG.cpp Recommit r317904: [Hexagon] Create HexagonISelDAGToDAG.h, NFC 2017-11-10 20:09:46 +00:00
HexagonISelDAGToDAG.h Recommit r317904: [Hexagon] Create HexagonISelDAGToDAG.h, NFC 2017-11-10 20:09:46 +00:00
HexagonISelLowering.cpp [Hexagon] Return the correct chain edge for i1 function calls 2017-10-23 19:35:25 +00:00
HexagonISelLowering.h TargetLowering: Change isShuffleMaskLegal's mask argument type to ArrayRef<int>. NFCI. 2017-07-26 08:06:58 +00:00
HexagonInstrFormats.td [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonInstrFormatsV4.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonInstrFormatsV60.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonInstrInfo.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonInstrInfo.h Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonIntrinsics.td [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td
HexagonIntrinsicsV5.td
HexagonIntrinsicsV60.td [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonLoopIdiomRecognition.cpp [Hexagon] Make a test more flexible in HexagonLoopIdiomRecognition 2017-11-07 17:05:54 +00:00
HexagonMCInstLower.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h [Hexagon, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-04 02:02:05 +00:00
HexagonMachineScheduler.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonMachineScheduler.h Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonMapAsm2IntrinV62.gen.td [Hexagon] Switch to parameterized register classes for HVX 2017-09-15 15:46:05 +00:00
HexagonNewValueJump.cpp [Hexagon] Reorganize and update instruction patterns 2017-10-20 19:33:12 +00:00
HexagonOperands.td [Hexagon] Reorganize and update instruction patterns 2017-10-20 19:33:12 +00:00
HexagonOptAddrMode.cpp [Hexagon] Fix store conversion from rr to io in optimize addressing modes 2017-10-19 16:59:22 +00:00
HexagonOptimizeSZextends.cpp
HexagonPatterns.td [Hexagon] Prefer L2_loadrub_io over L4_loadrub_rr 2017-11-02 21:56:59 +00:00
HexagonPeephole.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonPseudo.td [Hexagon] New HVX target features. 2017-10-18 18:07:07 +00:00
HexagonRDFOpt.cpp [Hexagon] Allow the RDF optimizations to be run in .mir testcases 2017-10-30 14:11:52 +00:00
HexagonRegisterInfo.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonRegisterInfo.h [Hexagon] Make getHexagonSubRegIndex take reference instead of pointer 2017-09-25 18:49:42 +00:00
HexagonRegisterInfo.td [Hexagon] New HVX target features. 2017-10-18 18:07:07 +00:00
HexagonSchedule.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonScheduleV4.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonScheduleV55.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonScheduleV60.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonScheduleV62.td [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
HexagonSelectionDAGInfo.cpp Make library calls sensitive to regparm module flag (Fixes PR3997). 2017-03-18 00:44:07 +00:00
HexagonSelectionDAGInfo.h
HexagonSplitConst32AndConst64.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
HexagonSplitDouble.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
HexagonStoreWidening.cpp [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-28 22:27:31 +00:00
HexagonSubtarget.cpp [Hexagon] New HVX target features. 2017-10-18 18:07:07 +00:00
HexagonSubtarget.h [Hexagon] New HVX target features. 2017-10-18 18:07:07 +00:00
HexagonTargetMachine.cpp [Hexagon] Allow the RDF optimizations to be run in .mir testcases 2017-10-30 14:11:52 +00:00
HexagonTargetMachine.h Revert "TargetMachine: Merge TargetMachine and LLVMTargetMachine" 2017-10-12 22:57:28 +00:00
HexagonTargetObjectFile.cpp [Hexagon] Emit lookup tables in text section based on a flag 2017-07-18 15:31:37 +00:00
HexagonTargetObjectFile.h [Hexagon] Emit lookup tables in text section based on a flag 2017-07-18 15:31:37 +00:00
HexagonTargetStreamer.h
HexagonTargetTransformInfo.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
HexagonTargetTransformInfo.h [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
HexagonVLIWPacketizer.cpp [Packetizer] Add function to check for aliasing between instructions 2017-10-20 22:08:40 +00:00
HexagonVLIWPacketizer.h [Pipeliner] Improve serialization order for post-increments 2017-10-11 15:51:44 +00:00
HexagonVectorLoopCarriedReuse.cpp Add llvm::for_each as a range-based extensions to <algorithm> and make use of it in some cases where it is a more clear alternative to std::for_each. 2017-11-03 20:01:25 +00:00
HexagonVectorPrint.cpp [Hexagon] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-28 22:27:31 +00:00
LLVMBuild.txt [Hexagon] Require IPO library in Hexagon build 2017-01-26 23:03:22 +00:00
RDFCopy.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
RDFCopy.h [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
RDFDeadCode.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
RDFDeadCode.h
RDFGraph.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
RDFGraph.h [RDF] Simplify construction of maximal registers 2017-10-05 17:12:49 +00:00
RDFLiveness.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
RDFLiveness.h [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
RDFRegisters.cpp [Hexagon] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-01 21:20:10 +00:00
RDFRegisters.h Suppress a warning discovered by rL317076. [-Wunused-private-field] 2017-11-01 13:47:51 +00:00