-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[Target] Use templated MachineFunction::getSubtarget in *CallingConv.td. NFC #107311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…td. NFC This hides away the static_cast to get the target specific Subtarget object.
@llvm/pr-subscribers-backend-systemz @llvm/pr-subscribers-backend-m68k Author: Craig Topper (topperc) ChangesThis hides away the static_cast to get the target specific Subtarget object. Full diff: https://github.com/llvm/llvm-project/pull/107311.diff 6 Files Affected:
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td b/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
index 4be64629ddac82..21412044d5a013 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
+++ b/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
@@ -214,13 +214,11 @@ def RetCC_AMDGPU_Func : CallingConv<[
]>;
def CC_AMDGPU : CallingConv<[
- CCIf<"static_cast<const GCNSubtarget&>"
- "(State.getMachineFunction().getSubtarget()).getGeneration() >= "
- "AMDGPUSubtarget::SOUTHERN_ISLANDS",
+ CCIf<"State.getMachineFunction().getSubtarget<GCNSubtarget>().getGeneration() >= "
+ "AMDGPUSubtarget::SOUTHERN_ISLANDS",
CCDelegateTo<CC_SI_SHADER>>,
- CCIf<"static_cast<const GCNSubtarget&>"
- "(State.getMachineFunction().getSubtarget()).getGeneration() >= "
- "AMDGPUSubtarget::SOUTHERN_ISLANDS && State.getCallingConv() == CallingConv::C",
+ CCIf<"State.getMachineFunction().getSubtarget<GCNSubtarget>().getGeneration() >= "
+ "AMDGPUSubtarget::SOUTHERN_ISLANDS && State.getCallingConv() == CallingConv::C",
CCDelegateTo<CC_AMDGPU_Func>>
]>;
diff --git a/llvm/lib/Target/M68k/M68kCallingConv.td b/llvm/lib/Target/M68k/M68kCallingConv.td
index 523f08e6461515..cf7e5ef69463e6 100644
--- a/llvm/lib/Target/M68k/M68kCallingConv.td
+++ b/llvm/lib/Target/M68k/M68kCallingConv.td
@@ -15,8 +15,8 @@
// TODO Verify C convention follows SysV M68K ABI
class CCIfSubtarget<string F, CCAction A>
- : CCIf<!strconcat("static_cast<const M68kSubtarget &>"
- "(State.getMachineFunction().getSubtarget()).", F), A>;
+ : CCIf<!strconcat("State.getMachineFunction()."
+ "getSubtarget<M68kSubtarget>().", F), A>;
//===----------------------------------------------------------------------===//
// Return Value Calling Conventions
diff --git a/llvm/lib/Target/Mips/MipsCallingConv.td b/llvm/lib/Target/Mips/MipsCallingConv.td
index 204f11f1107cf9..866161bf50638d 100644
--- a/llvm/lib/Target/Mips/MipsCallingConv.td
+++ b/llvm/lib/Target/Mips/MipsCallingConv.td
@@ -11,8 +11,7 @@
/// CCIfSubtarget - Match if the current subtarget has a feature F.
class CCIfSubtarget<string F, CCAction A, string Invert = "">
: CCIf<!strconcat(Invert,
- "static_cast<const MipsSubtarget&>"
- "(State.getMachineFunction().getSubtarget()).",
+ "State.getMachineFunction().getSubtarget<MipsSubtarget>().",
F),
A>;
diff --git a/llvm/lib/Target/PowerPC/PPCCallingConv.td b/llvm/lib/Target/PowerPC/PPCCallingConv.td
index 825c1a29ed62cb..899326ad466567 100644
--- a/llvm/lib/Target/PowerPC/PPCCallingConv.td
+++ b/llvm/lib/Target/PowerPC/PPCCallingConv.td
@@ -13,13 +13,11 @@
/// CCIfSubtarget - Match if the current subtarget has a feature F.
class CCIfSubtarget<string F, CCAction A>
- : CCIf<!strconcat("static_cast<const PPCSubtarget&>"
- "(State.getMachineFunction().getSubtarget()).",
+ : CCIf<!strconcat("State.getMachineFunction().getSubtarget<PPCSubtarget>().",
F),
A>;
class CCIfNotSubtarget<string F, CCAction A>
- : CCIf<!strconcat("!static_cast<const PPCSubtarget&>"
- "(State.getMachineFunction().getSubtarget()).",
+ : CCIf<!strconcat("!State.getMachineFunction().getSubtarget<PPCSubtarget>().",
F),
A>;
class CCIfOrigArgWasNotPPCF128<CCAction A>
diff --git a/llvm/lib/Target/SystemZ/SystemZCallingConv.td b/llvm/lib/Target/SystemZ/SystemZCallingConv.td
index b0618aafa5da6e..99bb697ce20142 100644
--- a/llvm/lib/Target/SystemZ/SystemZCallingConv.td
+++ b/llvm/lib/Target/SystemZ/SystemZCallingConv.td
@@ -12,8 +12,8 @@ class CCIfExtend<CCAction A>
: CCIf<"ArgFlags.isSExt() || ArgFlags.isZExt()", A>;
class CCIfSubtarget<string F, CCAction A>
- : CCIf<!strconcat("static_cast<const SystemZSubtarget&>"
- "(State.getMachineFunction().getSubtarget()).", F),
+ : CCIf<!strconcat("State.getMachineFunction()."
+ "getSubtarget<SystemZSubtarget>().", F),
A>;
// Match if this specific argument is a fixed (i.e. named) argument.
diff --git a/llvm/lib/Target/X86/X86CallingConv.td b/llvm/lib/Target/X86/X86CallingConv.td
index c55ff3dfc9c8e1..307aeb2ea4c6fd 100644
--- a/llvm/lib/Target/X86/X86CallingConv.td
+++ b/llvm/lib/Target/X86/X86CallingConv.td
@@ -13,14 +13,14 @@
/// CCIfSubtarget - Match if the current subtarget has a feature F.
class CCIfSubtarget<string F, CCAction A>
- : CCIf<!strconcat("static_cast<const X86Subtarget&>"
- "(State.getMachineFunction().getSubtarget()).", F),
+ : CCIf<!strconcat("State.getMachineFunction()."
+ "getSubtarget<X86Subtarget>().", F),
A>;
/// CCIfNotSubtarget - Match if the current subtarget doesn't has a feature F.
class CCIfNotSubtarget<string F, CCAction A>
- : CCIf<!strconcat("!static_cast<const X86Subtarget&>"
- "(State.getMachineFunction().getSubtarget()).", F),
+ : CCIf<!strconcat("!State.getMachineFunction()."
+ "getSubtarget<X86Subtarget>().", F),
A>;
/// CCIfRegCallv4 - Match if RegCall ABIv4 is respected.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This hides away the static_cast to get the target specific Subtarget object.