llvm-project/llvm/lib/Target/Hexagon
Krzysztof Parzyszek c09d630e50 RDF: Copy propagation
This is a very limited implementation of DFG-based copy propagation.
It only handles actual COPY instructions (does not handle other equivalents
such as add-immediate with a 0 operand).
The major limitation is that it does not update the DFG: that will be the
change required to make it more robust (hopefully coming up soon).

llvm-svn: 257490
2016-01-12 17:23:48 +00:00
..
AsmParser fix 'the the '; NFC 2015-12-07 19:21:39 +00:00
Disassembler Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
MCTargetDesc [Hexagon] Add check for nullptr in getFixupNoBits 2016-01-11 15:51:53 +00:00
TargetInfo
BitTracker.cpp ADT: Remove last implicit ilist iterator conversions, NFC 2015-11-07 00:01:16 +00:00
BitTracker.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-01 05:31:27 +00:00
CMakeLists.txt RDF: Copy propagation 2016-01-12 17:23:48 +00:00
Hexagon.h [Hexagon] Improve lowering of instructions to the MC layer 2015-12-02 23:08:29 +00:00
Hexagon.td [TableGen] Modify the AsmMatcherEmitter to only apply the table growth from r252440 to the Hexagon target. 2015-12-31 08:18:23 +00:00
HexagonAsmPrinter.cpp [Hexagon] Make helper function static. NFC. 2016-01-12 14:58:49 +00:00
HexagonAsmPrinter.h [Hexagon] Preprocess mapped instructions before lowering to MC 2015-12-15 17:05:45 +00:00
HexagonBitSimplify.cpp [Hexagon] Bit-based instruction simplification 2015-10-20 22:57:13 +00:00
HexagonBitTracker.cpp [Hexagon] HVX vector register classes and more isel patterns 2015-11-26 04:33:11 +00:00
HexagonBitTracker.h [Hexagon] Move BitTracker into the llvm namespace and remove redundant qualifications 2015-07-13 20:38:16 +00:00
HexagonCFGOptimizer.cpp Replace all weight-based interfaces in MBB with probability-based interfaces, and update all uses of old interfaces. 2015-12-01 05:29:22 +00:00
HexagonCallingConv.td
HexagonCommonGEP.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonCopyToCombine.cpp [Hexagon] Moving pass declarations out of header and in to implementation files. Removing unused function getSubtargetInfo from HexagonMCCodeEmitter.cpp Removing deletion of copy construction and assignment operator since parent already deletes it. 2015-06-15 19:05:35 +00:00
HexagonEarlyIfConv.cpp Normalize MBB's successors' probabilities in several locations. 2015-12-13 09:26:17 +00:00
HexagonExpandCondsets.cpp [Hexagon] Add missing preamble to a source file 2015-07-09 15:40:25 +00:00
HexagonExpandPredSpillCode.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonFixupHwLoops.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
HexagonFrameLowering.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonFrameLowering.h Add missing override noticed by Clang's -Winconsistent-missing-override. 2015-10-19 18:41:23 +00:00
HexagonGenExtract.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonGenInsert.cpp [Hexagon] Fix the return value from HexagonGenInsert::runOnMachineFunction 2015-11-20 20:46:23 +00:00
HexagonGenMux.cpp Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
HexagonGenPredicate.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
HexagonHardwareLoops.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonISelDAGToDAG.cpp [Hexagon] Lowering of V60/HVX vector types 2015-11-26 18:38:27 +00:00
HexagonISelLowering.cpp [Hexagon] Add PIC support 2015-12-18 20:19:30 +00:00
HexagonISelLowering.h [Hexagon] Add PIC support 2015-12-18 20:19:30 +00:00
HexagonInstrAlias.td [Hexagon] Adding instruction aliases and tests. 2015-11-10 01:58:26 +00:00
HexagonInstrEnc.td [Hexagon] Adding skeleton of HVX extension instructions. 2015-10-17 01:33:04 +00:00
HexagonInstrFormats.td [Hexagon] Remove the remnants of isConstExtProfitable 2015-10-20 19:04:53 +00:00
HexagonInstrFormatsV4.td [Hexagon] Update instruction formats 2015-11-23 14:09:26 +00:00
HexagonInstrFormatsV60.td [Hexagon] Update instruction formats 2015-11-23 14:09:26 +00:00
HexagonInstrInfo.cpp [Hexagon] Update the Hexagon packetizer 2015-12-16 19:36:12 +00:00
HexagonInstrInfo.h [Hexagon] Update the Hexagon packetizer 2015-12-16 19:36:12 +00:00
HexagonInstrInfo.td [Hexagon] Add system instructions for cache manipulation 2016-01-06 14:22:22 +00:00
HexagonInstrInfoV3.td [Hexagon] Removing v2-4 flags. V4 is the minimum supported version. 2015-02-09 21:07:35 +00:00
HexagonInstrInfoV4.td [Hexagon] Add implicit uses of GP to GP-relative loads and stores 2016-01-11 15:49:58 +00:00
HexagonInstrInfoV5.td [Hexagon] Treat transfers of FP immediates are pseudo instructions 2015-11-25 21:40:03 +00:00
HexagonInstrInfoV60.td [Hexagon] Implement CONCAT_VECTORS for HVX using V6_vcombine 2015-12-03 16:47:20 +00:00
HexagonInstrInfoVector.td [Hexagon] Hexagon V60 HVX intrinsic defintions 2015-11-26 16:54:33 +00:00
HexagonIntrinsics.td [Hexagon] Hexagon V60 HVX intrinsic defintions 2015-11-26 16:54:33 +00:00
HexagonIntrinsicsDerived.td [Hexagon] Deleting a lot of old variants of intrinsics and updating references. 2015-01-28 18:29:11 +00:00
HexagonIntrinsicsV3.td [Hexagon] Converting XTYPE/SHIFT intrinsics. Cleaning out old intrinsic patterns and updating tests. 2015-02-03 20:40:52 +00:00
HexagonIntrinsicsV4.td Eliminate constant-extender profitability checks from Hexagon isel 2015-03-12 00:19:59 +00:00
HexagonIntrinsicsV5.td [Hexagon] Converting XTYPE/SHIFT intrinsics. Cleaning out old intrinsic patterns and updating tests. 2015-02-03 20:40:52 +00:00
HexagonIntrinsicsV60.td [Hexagon] Hexagon V60 HVX intrinsic defintions 2015-11-26 16:54:33 +00:00
HexagonIsetDx.td [Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing. 2015-06-05 16:00:11 +00:00
HexagonMCInstLower.cpp [Hexagon] Preprocess mapped instructions before lowering to MC 2015-12-15 17:05:45 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
HexagonMachineScheduler.cpp Make MachineScheduler debug output less confusing. 2015-09-18 18:52:20 +00:00
HexagonMachineScheduler.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
HexagonNewValueJump.cpp [Hexagon] Add NewValueJump support for C4_cmpneq, C4_cmplte, C4_cmplteu 2015-12-08 16:28:32 +00:00
HexagonOperands.td [Hexagon] Enabling ASM parsing on Hexagon backend and adding instruction parsing tests. General updating of the code emission. 2015-11-09 04:07:48 +00:00
HexagonOptimizeSZextends.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonPeephole.cpp [Hexagon] Use symbolic name for subregister instead of hardcoded number 2015-10-20 19:26:36 +00:00
HexagonRegisterInfo.cpp [Hexagon] Mark D14 and GP as reserved registers 2016-01-11 15:47:41 +00:00
HexagonRegisterInfo.h Targets: commonize some stack realignment code 2015-07-20 22:51:32 +00:00
HexagonRegisterInfo.td [Hexagon] HVX vector register classes and more isel patterns 2015-11-26 04:33:11 +00:00
HexagonSchedule.td [Hexagon] Update instruction formats 2015-11-23 14:09:26 +00:00
HexagonScheduleV4.td [Hexagon] Bring HexagonInstrInfo up to date 2015-11-24 14:55:26 +00:00
HexagonScheduleV55.td [Hexagon] Adding skeleton of HVX extension instructions. 2015-10-17 01:33:04 +00:00
HexagonScheduleV60.td Hexagon V60/HVX DFA scheduler support 2015-11-21 20:00:45 +00:00
HexagonSelectCCInfo.td
HexagonSelectionDAGInfo.cpp [Hexagon] Make memcpy lowering thread-safe 2015-12-16 17:29:37 +00:00
HexagonSelectionDAGInfo.h Remove getDataLayout() from TargetSelectionDAGInfo (had no users) 2015-07-09 02:10:08 +00:00
HexagonSplitConst32AndConst64.cpp Hexagon: Remove implicit ilist iterator conversions, NFC 2015-10-20 00:46:39 +00:00
HexagonSplitDouble.cpp [Hexagon] Split double registers 2015-10-16 20:38:54 +00:00
HexagonStoreWidening.cpp [Hexagon] Merge adjacent stores 2015-10-16 19:43:56 +00:00
HexagonSubtarget.cpp [Hexagon] Subtarget features/default CPU corrections 2015-12-14 15:03:54 +00:00
HexagonSubtarget.h [Hexagon] Subtarget features/default CPU corrections 2015-12-14 15:03:54 +00:00
HexagonSystemInst.td [Hexagon] Add system instructions for cache manipulation 2016-01-06 14:22:22 +00:00
HexagonTargetMachine.cpp [Hexagon] Subtarget features/default CPU corrections 2015-12-14 15:03:54 +00:00
HexagonTargetMachine.h [Hexagon] Add PIC support 2015-12-18 20:19:30 +00:00
HexagonTargetObjectFile.cpp Stop producing .data.rel sections. 2015-11-18 06:02:15 +00:00
HexagonTargetObjectFile.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
HexagonTargetStreamer.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
HexagonTargetTransformInfo.cpp [Hexagon] Edit a comment. NFC 2015-08-05 21:08:26 +00:00
HexagonTargetTransformInfo.h constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
HexagonVLIWPacketizer.cpp [Hexagon] Misc fixes to r255807 2015-12-16 20:07:04 +00:00
HexagonVLIWPacketizer.h [Hexagon] Update the Hexagon packetizer 2015-12-16 19:36:12 +00:00
LLVMBuild.txt [Hexagon] Adding LLVMBuild.txt reference to HexagonAsmParser. 2015-11-09 04:31:02 +00:00
Makefile [Hexagon] Removing extra gen line. 2015-11-09 05:31:39 +00:00
RDFCopy.cpp RDF: Copy propagation 2016-01-12 17:23:48 +00:00
RDFCopy.h RDF: Copy propagation 2016-01-12 17:23:48 +00:00
RDFDeadCode.cpp RDF: Dead code elimination 2016-01-12 17:01:16 +00:00
RDFDeadCode.h RDF: Dead code elimination 2016-01-12 17:01:16 +00:00
RDFGraph.cpp Fix compiler warnings from r257477 2016-01-12 16:51:55 +00:00
RDFGraph.h Register Data Flow: data flow graph 2016-01-12 15:09:49 +00:00
RDFLiveness.cpp RDF: Implement register liveness analysis 2016-01-12 15:56:33 +00:00
RDFLiveness.h RDF: Implement register liveness analysis 2016-01-12 15:56:33 +00:00