Skip to content

Commit 080dd10

Browse files
scottconstabletopperc
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 3d9e6c4 commit 080dd10

14 files changed

+29
-27
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.

Diff for: llvm/lib/CodeGen/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ add_llvm_component_library(LLVMCodeGen
117117
ProcessImplicitDefs.cpp
118118
PrologEpilogInserter.cpp
119119
PseudoSourceValue.cpp
120+
RDFGraph.cpp
121+
RDFLiveness.cpp
122+
RDFRegisters.cpp
120123
ReachingDefAnalysis.cpp
121124
RegAllocBase.cpp
122125
RegAllocBasic.cpp

Diff for: llvm/lib/Target/Hexagon/RDFGraph.cpp renamed to llvm/lib/CodeGen/RDFGraph.cpp

+6-4
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

Diff for: llvm/lib/Target/Hexagon/RDFLiveness.cpp renamed to llvm/lib/CodeGen/RDFLiveness.cpp

+3-3
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"

Diff for: llvm/lib/Target/Hexagon/RDFRegisters.cpp renamed to llvm/lib/CodeGen/RDFRegisters.cpp

+1-1
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"

Diff for: llvm/lib/Target/Hexagon/CMakeLists.txt

-3
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)

Diff for: llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp

+3-3
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"

Diff for: llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp

+3-3
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"

Diff for: llvm/lib/Target/Hexagon/RDFCopy.cpp

+3-3
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"

Diff for: llvm/lib/Target/Hexagon/RDFCopy.h

+3-3
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>

Diff for: llvm/lib/Target/Hexagon/RDFDeadCode.cpp

+2-2
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>

Diff for: llvm/lib/Target/Hexagon/RDFDeadCode.h

+2-2
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)