Skip to content

Commit aafaa69

Browse files
authored
[Target] Use templated MachineFunction::getSubtarget in *CallingConv.td. NFC (#107311)
This hides away the static_cast needed to get the target specific Subtarget object.
1 parent 96a5aab commit aafaa69

File tree

6 files changed

+15
-20
lines changed

6 files changed

+15
-20
lines changed

llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,11 @@ def RetCC_AMDGPU_Func : CallingConv<[
214214
]>;
215215

216216
def CC_AMDGPU : CallingConv<[
217-
CCIf<"static_cast<const GCNSubtarget&>"
218-
"(State.getMachineFunction().getSubtarget()).getGeneration() >= "
219-
"AMDGPUSubtarget::SOUTHERN_ISLANDS",
217+
CCIf<"State.getMachineFunction().getSubtarget<GCNSubtarget>().getGeneration() >= "
218+
"AMDGPUSubtarget::SOUTHERN_ISLANDS",
220219
CCDelegateTo<CC_SI_SHADER>>,
221-
CCIf<"static_cast<const GCNSubtarget&>"
222-
"(State.getMachineFunction().getSubtarget()).getGeneration() >= "
223-
"AMDGPUSubtarget::SOUTHERN_ISLANDS && State.getCallingConv() == CallingConv::C",
220+
CCIf<"State.getMachineFunction().getSubtarget<GCNSubtarget>().getGeneration() >= "
221+
"AMDGPUSubtarget::SOUTHERN_ISLANDS && State.getCallingConv() == CallingConv::C",
224222
CCDelegateTo<CC_AMDGPU_Func>>
225223
]>;
226224

llvm/lib/Target/M68k/M68kCallingConv.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// TODO Verify C convention follows SysV M68K ABI
1616

1717
class CCIfSubtarget<string F, CCAction A>
18-
: CCIf<!strconcat("static_cast<const M68kSubtarget &>"
19-
"(State.getMachineFunction().getSubtarget()).", F), A>;
18+
: CCIf<!strconcat("State.getMachineFunction()."
19+
"getSubtarget<M68kSubtarget>().", F), A>;
2020

2121
//===----------------------------------------------------------------------===//
2222
// Return Value Calling Conventions

llvm/lib/Target/Mips/MipsCallingConv.td

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
/// CCIfSubtarget - Match if the current subtarget has a feature F.
1212
class CCIfSubtarget<string F, CCAction A, string Invert = "">
1313
: CCIf<!strconcat(Invert,
14-
"static_cast<const MipsSubtarget&>"
15-
"(State.getMachineFunction().getSubtarget()).",
14+
"State.getMachineFunction().getSubtarget<MipsSubtarget>().",
1615
F),
1716
A>;
1817

llvm/lib/Target/PowerPC/PPCCallingConv.td

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@
1313

1414
/// CCIfSubtarget - Match if the current subtarget has a feature F.
1515
class CCIfSubtarget<string F, CCAction A>
16-
: CCIf<!strconcat("static_cast<const PPCSubtarget&>"
17-
"(State.getMachineFunction().getSubtarget()).",
16+
: CCIf<!strconcat("State.getMachineFunction().getSubtarget<PPCSubtarget>().",
1817
F),
1918
A>;
2019
class CCIfNotSubtarget<string F, CCAction A>
21-
: CCIf<!strconcat("!static_cast<const PPCSubtarget&>"
22-
"(State.getMachineFunction().getSubtarget()).",
20+
: CCIf<!strconcat("!State.getMachineFunction().getSubtarget<PPCSubtarget>().",
2321
F),
2422
A>;
2523
class CCIfOrigArgWasNotPPCF128<CCAction A>

llvm/lib/Target/SystemZ/SystemZCallingConv.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ class CCIfExtend<CCAction A>
1212
: CCIf<"ArgFlags.isSExt() || ArgFlags.isZExt()", A>;
1313

1414
class CCIfSubtarget<string F, CCAction A>
15-
: CCIf<!strconcat("static_cast<const SystemZSubtarget&>"
16-
"(State.getMachineFunction().getSubtarget()).", F),
15+
: CCIf<!strconcat("State.getMachineFunction()."
16+
"getSubtarget<SystemZSubtarget>().", F),
1717
A>;
1818

1919
// Match if this specific argument is a fixed (i.e. named) argument.

llvm/lib/Target/X86/X86CallingConv.td

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313

1414
/// CCIfSubtarget - Match if the current subtarget has a feature F.
1515
class CCIfSubtarget<string F, CCAction A>
16-
: CCIf<!strconcat("static_cast<const X86Subtarget&>"
17-
"(State.getMachineFunction().getSubtarget()).", F),
16+
: CCIf<!strconcat("State.getMachineFunction()."
17+
"getSubtarget<X86Subtarget>().", F),
1818
A>;
1919

2020
/// CCIfNotSubtarget - Match if the current subtarget doesn't has a feature F.
2121
class CCIfNotSubtarget<string F, CCAction A>
22-
: CCIf<!strconcat("!static_cast<const X86Subtarget&>"
23-
"(State.getMachineFunction().getSubtarget()).", F),
22+
: CCIf<!strconcat("!State.getMachineFunction()."
23+
"getSubtarget<X86Subtarget>().", F),
2424
A>;
2525

2626
/// CCIfRegCallv4 - Match if RegCall ABIv4 is respected.

0 commit comments

Comments
 (0)