Skip to content

Commit 31537e6

Browse files
scottconstableJethro Beekman
authored and
Jethro Beekman
committed
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"

llvm/lib/Target/Hexagon/RDFCopy.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "RDFCopy.h"
14-
#include "RDFGraph.h"
15-
#include "RDFLiveness.h"
16-
#include "RDFRegisters.h"
1714
#include "llvm/CodeGen/MachineDominators.h"
1815
#include "llvm/CodeGen/MachineInstr.h"
1916
#include "llvm/CodeGen/MachineOperand.h"
2017
#include "llvm/CodeGen/MachineRegisterInfo.h"
18+
#include "llvm/CodeGen/RDFGraph.h"
19+
#include "llvm/CodeGen/RDFLiveness.h"
20+
#include "llvm/CodeGen/RDFRegisters.h"
2121
#include "llvm/CodeGen/TargetOpcodes.h"
2222
#include "llvm/CodeGen/TargetRegisterInfo.h"
2323
#include "llvm/MC/MCRegisterInfo.h"

llvm/lib/Target/Hexagon/RDFCopy.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
#ifndef LLVM_LIB_TARGET_HEXAGON_RDFCOPY_H
1010
#define LLVM_LIB_TARGET_HEXAGON_RDFCOPY_H
1111

12-
#include "RDFGraph.h"
13-
#include "RDFLiveness.h"
14-
#include "RDFRegisters.h"
12+
#include "llvm/CodeGen/RDFGraph.h"
13+
#include "llvm/CodeGen/RDFLiveness.h"
14+
#include "llvm/CodeGen/RDFRegisters.h"
1515
#include "llvm/CodeGen/MachineFunction.h"
1616
#include <map>
1717
#include <vector>

llvm/lib/Target/Hexagon/RDFDeadCode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
// RDF-based generic dead code elimination.
1010

1111
#include "RDFDeadCode.h"
12-
#include "RDFGraph.h"
13-
#include "RDFLiveness.h"
1412

1513
#include "llvm/ADT/SetVector.h"
1614
#include "llvm/CodeGen/MachineBasicBlock.h"
1715
#include "llvm/CodeGen/MachineFunction.h"
1816
#include "llvm/CodeGen/MachineRegisterInfo.h"
17+
#include "llvm/CodeGen/RDFGraph.h"
18+
#include "llvm/CodeGen/RDFLiveness.h"
1919
#include "llvm/Support/Debug.h"
2020

2121
#include <queue>

llvm/lib/Target/Hexagon/RDFDeadCode.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
#ifndef RDF_DEADCODE_H
2424
#define RDF_DEADCODE_H
2525

26-
#include "RDFGraph.h"
27-
#include "RDFLiveness.h"
26+
#include "llvm/CodeGen/RDFGraph.h"
27+
#include "llvm/CodeGen/RDFLiveness.h"
2828
#include "llvm/ADT/SetVector.h"
2929

3030
namespace llvm {

0 commit comments

Comments
 (0)