Skip to content

Commit 31537e6

Browse files
scottconstableJethro Beekman
authored andcommitted
Move RDF from Hexagon to Codegen
RDF is designed to be target agnostic. Therefore it would be useful to have it available for other targets, such as X86. Based on a previous patch by Krzysztof Parzyszek Differential Revision: https://reviews.llvm.org/D75932
1 parent 943dbdd commit 31537e6

File tree

14 files changed

+29
-27
lines changed

14 files changed

+29
-27
lines changed

llvm/lib/CodeGen/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@ add_llvm_component_library(LLVMCodeGen
114114
ProcessImplicitDefs.cpp
115115
PrologEpilogInserter.cpp
116116
PseudoSourceValue.cpp
117+
RDFGraph.cpp
118+
RDFLiveness.cpp
119+
RDFRegisters.cpp
117120
ReachingDefAnalysis.cpp
118121
RegAllocBase.cpp
119122
RegAllocBasic.cpp

llvm/lib/Target/Hexagon/RDFGraph.cpp renamed to llvm/lib/CodeGen/RDFGraph.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
//
99
// Target-independent, SSA-based data flow graph for register data flow (RDF).
1010
//
11-
#include "RDFGraph.h"
12-
#include "RDFRegisters.h"
1311
#include "llvm/ADT/BitVector.h"
1412
#include "llvm/ADT/STLExtras.h"
1513
#include "llvm/ADT/SetVector.h"
@@ -20,6 +18,8 @@
2018
#include "llvm/CodeGen/MachineInstr.h"
2119
#include "llvm/CodeGen/MachineOperand.h"
2220
#include "llvm/CodeGen/MachineRegisterInfo.h"
21+
#include "llvm/CodeGen/RDFGraph.h"
22+
#include "llvm/CodeGen/RDFRegisters.h"
2323
#include "llvm/CodeGen/TargetInstrInfo.h"
2424
#include "llvm/CodeGen/TargetLowering.h"
2525
#include "llvm/CodeGen/TargetRegisterInfo.h"
@@ -753,8 +753,10 @@ RegisterSet DataFlowGraph::getLandingPadLiveIns() const {
753753
const TargetLowering &TLI = *MF.getSubtarget().getTargetLowering();
754754
if (RegisterId R = TLI.getExceptionPointerRegister(PF))
755755
LR.insert(RegisterRef(R));
756-
if (RegisterId R = TLI.getExceptionSelectorRegister(PF))
757-
LR.insert(RegisterRef(R));
756+
if (!isFuncletEHPersonality(classifyEHPersonality(PF))) {
757+
if (RegisterId R = TLI.getExceptionSelectorRegister(PF))
758+
LR.insert(RegisterRef(R));
759+
}
758760
return LR;
759761
}
760762

llvm/lib/Target/Hexagon/RDFLiveness.cpp renamed to llvm/lib/CodeGen/RDFLiveness.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
// and Embedded Architectures and Compilers", 8 (4),
2323
// <10.1145/2086696.2086706>. <hal-00647369>
2424
//
25-
#include "RDFLiveness.h"
26-
#include "RDFGraph.h"
27-
#include "RDFRegisters.h"
2825
#include "llvm/ADT/BitVector.h"
2926
#include "llvm/ADT/STLExtras.h"
3027
#include "llvm/ADT/SetVector.h"
@@ -33,6 +30,9 @@
3330
#include "llvm/CodeGen/MachineDominators.h"
3431
#include "llvm/CodeGen/MachineFunction.h"
3532
#include "llvm/CodeGen/MachineInstr.h"
33+
#include "llvm/CodeGen/RDFLiveness.h"
34+
#include "llvm/CodeGen/RDFGraph.h"
35+
#include "llvm/CodeGen/RDFRegisters.h"
3636
#include "llvm/CodeGen/TargetRegisterInfo.h"
3737
#include "llvm/MC/LaneBitmask.h"
3838
#include "llvm/MC/MCRegisterInfo.h"

llvm/lib/Target/Hexagon/RDFRegisters.cpp renamed to llvm/lib/CodeGen/RDFRegisters.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "RDFRegisters.h"
109
#include "llvm/ADT/BitVector.h"
1110
#include "llvm/CodeGen/MachineFunction.h"
1211
#include "llvm/CodeGen/MachineInstr.h"
1312
#include "llvm/CodeGen/MachineOperand.h"
13+
#include "llvm/CodeGen/RDFRegisters.h"
1414
#include "llvm/CodeGen/TargetRegisterInfo.h"
1515
#include "llvm/MC/LaneBitmask.h"
1616
#include "llvm/MC/MCRegisterInfo.h"

llvm/lib/Target/Hexagon/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,6 @@ add_llvm_target(HexagonCodeGen
6464
HexagonVLIWPacketizer.cpp
6565
RDFCopy.cpp
6666
RDFDeadCode.cpp
67-
RDFGraph.cpp
68-
RDFLiveness.cpp
69-
RDFRegisters.cpp
7067
)
7168

7269
add_subdirectory(AsmParser)

llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#include "HexagonInstrInfo.h"
1313
#include "HexagonSubtarget.h"
1414
#include "MCTargetDesc/HexagonBaseInfo.h"
15-
#include "RDFGraph.h"
16-
#include "RDFLiveness.h"
17-
#include "RDFRegisters.h"
1815
#include "llvm/ADT/DenseMap.h"
1916
#include "llvm/ADT/DenseSet.h"
2017
#include "llvm/ADT/StringRef.h"
@@ -27,6 +24,9 @@
2724
#include "llvm/CodeGen/MachineInstrBuilder.h"
2825
#include "llvm/CodeGen/MachineOperand.h"
2926
#include "llvm/CodeGen/MachineRegisterInfo.h"
27+
#include "llvm/CodeGen/RDFGraph.h"
28+
#include "llvm/CodeGen/RDFLiveness.h"
29+
#include "llvm/CodeGen/RDFRegisters.h"
3030
#include "llvm/CodeGen/TargetSubtargetInfo.h"
3131
#include "llvm/InitializePasses.h"
3232
#include "llvm/MC/MCInstrDesc.h"

llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
#include "MCTargetDesc/HexagonBaseInfo.h"
1212
#include "RDFCopy.h"
1313
#include "RDFDeadCode.h"
14-
#include "RDFGraph.h"
15-
#include "RDFLiveness.h"
16-
#include "RDFRegisters.h"
1714
#include "llvm/ADT/DenseMap.h"
1815
#include "llvm/ADT/STLExtras.h"
1916
#include "llvm/ADT/SetVector.h"
@@ -24,6 +21,9 @@
2421
#include "llvm/CodeGen/MachineInstr.h"
2522
#include "llvm/CodeGen/MachineOperand.h"
2623
#include "llvm/CodeGen/MachineRegisterInfo.h"
24+
#include "llvm/CodeGen/RDFGraph.h"
25+
#include "llvm/CodeGen/RDFLiveness.h"
26+
#include "llvm/CodeGen/RDFRegisters.h"
2727
#include "llvm/InitializePasses.h"
2828
#include "llvm/Pass.h"
2929
#include "llvm/Support/CommandLine.h"

0 commit comments

Comments
 (0)