summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-08-29 19:07:16 +0000
committerTim Northover <tnorthover@apple.com>2016-08-29 19:07:16 +0000
commitb3b5a54d1643bfdc0eb54909df3a599dc702450f (patch)
treef05cfec5257c0f31ded02831f701431afdd03811 /include
parent755f9da10b252202bedb2f969f3d9005a3ca7a34 (diff)
GlobalISel: legalize frem to a libcall on AArch64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279988 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/GlobalISel/CallLowering.h6
-rw-r--r--include/llvm/CodeGen/GlobalISel/MachineLegalizeHelper.h3
2 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/GlobalISel/CallLowering.h b/include/llvm/CodeGen/GlobalISel/CallLowering.h
index c293ad25ea3..e96522493ae 100644
--- a/include/llvm/CodeGen/GlobalISel/CallLowering.h
+++ b/include/llvm/CodeGen/GlobalISel/CallLowering.h
@@ -88,9 +88,9 @@ class CallLowering {
/// needs to be passed.
///
/// \return true if the lowering succeeded, false otherwise.
- virtual bool lowerCall(MachineIRBuilder &MIRBuilder, MachineOperand &Callee,
- ArrayRef<MVT> ResTys, ArrayRef<unsigned> ResRegs,
- ArrayRef<MVT> ArgTys,
+ virtual bool lowerCall(MachineIRBuilder &MIRBuilder,
+ const MachineOperand &Callee, ArrayRef<MVT> ResTys,
+ ArrayRef<unsigned> ResRegs, ArrayRef<MVT> ArgTys,
ArrayRef<unsigned> ArgRegs) const {
return false;
}
diff --git a/include/llvm/CodeGen/GlobalISel/MachineLegalizeHelper.h b/include/llvm/CodeGen/GlobalISel/MachineLegalizeHelper.h
index c3ba7354282..e0b2345888e 100644
--- a/include/llvm/CodeGen/GlobalISel/MachineLegalizeHelper.h
+++ b/include/llvm/CodeGen/GlobalISel/MachineLegalizeHelper.h
@@ -61,6 +61,9 @@ public:
LegalizeResult legalizeInstr(MachineInstr &MI,
const MachineLegalizer &Legalizer);
+ /// Legalize an instruction by emiting a runtime library call instead.
+ LegalizeResult libcall(MachineInstr &MI);
+
/// Legalize an instruction by reducing the width of the underlying scalar
/// type.
LegalizeResult narrowScalar(MachineInstr &MI, unsigned TypeIdx, LLT NarrowTy);