mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-10 06:03:52 +00:00
AArch64: fall back to DAG ISel for inline assembly.
We can't currently handle "calls" to inlineasm strings so it's better to let the DAG handle it than generate rubbish. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292540 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4b9c663e5c
commit
dfbb55fc0c
@ -581,6 +581,9 @@ bool IRTranslator::translateCall(const User &U, MachineIRBuilder &MIRBuilder) {
|
||||
auto TII = MF->getTarget().getIntrinsicInfo();
|
||||
const Function *F = CI.getCalledFunction();
|
||||
|
||||
if (CI.isInlineAsm())
|
||||
return false;
|
||||
|
||||
if (!F || !F->isIntrinsic()) {
|
||||
unsigned Res = CI.getType()->isVoidTy() ? 0 : getOrCreateVReg(CI);
|
||||
SmallVector<unsigned, 8> Args;
|
||||
|
10
test/CodeGen/AArch64/GlobalISel/inline-asm.ll
Normal file
10
test/CodeGen/AArch64/GlobalISel/inline-asm.ll
Normal file
@ -0,0 +1,10 @@
|
||||
; RUN: llc -mtriple=aarch64 -global-isel -global-isel-abort=2 %s -o - | FileCheck %s
|
||||
|
||||
; CHECK-LABEL: test_asm:
|
||||
; CHECK: {{APP|InlineAsm Start}}
|
||||
; CHECK: mov x0, x0
|
||||
; CHECK: {{NO_APP|InlineAsm End}}
|
||||
define void @test_asm() {
|
||||
call void asm sideeffect "mov x0, x0", ""()
|
||||
ret void
|
||||
}
|
Loading…
Reference in New Issue
Block a user