
Several tests for the new fake use intrinsic are failing on NVPTX buildbots due to relying on behaviour for their expected triple; this commit adds that triple to each of them to prevent failures. Fixes commit 3d08ade (#86149). Example buildbot failures: https://lab.llvm.org/buildbot/#/builders/160/builds/4175 https://lab.llvm.org/buildbot/#/builders/180/builds/4173
38 lines
1021 B
LLVM
38 lines
1021 B
LLVM
; RUN: llc < %s -stop-after=finalize-isel -mtriple=x86_64-unknown-linux - | FileCheck %s --implicit-check-not FAKE_USE
|
|
; Fake uses following tail calls should be pulled in front
|
|
; of the TCRETURN instruction. Fake uses using something defined by
|
|
; the tail call or after it should be suppressed.
|
|
|
|
; CHECK: name:{{ +}}bar
|
|
; CHECK: body:
|
|
; CHECK: bb.0.{{.*}}:
|
|
; CHECK: %0:{{.*}}= COPY
|
|
; CHECK: FAKE_USE %0
|
|
; CHECK: TCRETURN
|
|
|
|
; CHECK: name:{{ +}}baz
|
|
; CHECK: body:
|
|
; CHECK: bb.0.{{.*}}:
|
|
; CHECK: %0:{{.*}}= COPY
|
|
; CHECK: FAKE_USE %0
|
|
; CHECK: TCRETURN
|
|
|
|
define void @bar(i32 %v) optdebug {
|
|
entry:
|
|
%call = tail call i32 @_Z3fooi(i32 %v)
|
|
%mul = mul nsw i32 %call, 3
|
|
notail call void (...) @llvm.fake.use(i32 %mul)
|
|
notail call void (...) @llvm.fake.use(i32 %call)
|
|
notail call void (...) @llvm.fake.use(i32 %v)
|
|
ret void
|
|
}
|
|
|
|
define i32 @baz(i32 %v) optdebug {
|
|
entry:
|
|
%call = tail call i32 @_Z3fooi(i32 %v)
|
|
notail call void (...) @llvm.fake.use(i32 %v)
|
|
ret i32 %call
|
|
}
|
|
|
|
declare i32 @_Z3fooi(i32) local_unnamed_addr
|