1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 13:11:39 +01:00

[GlobalISel][IRTranslator] Ignore the llvm.experimental.noalias.scope.decl intrinsic.

These don't generate any code.
This commit is contained in:
Amara Emerson 2021-01-26 12:54:41 -08:00
parent 80d5e143a6
commit 1eb88d40b9
2 changed files with 15 additions and 0 deletions

View File

@ -2126,6 +2126,7 @@ bool IRTranslator::translateKnownIntrinsic(const CallInst &CI, Intrinsic::ID ID,
return true;
}
case Intrinsic::assume:
case Intrinsic::experimental_noalias_scope_decl:
case Intrinsic::var_annotation:
case Intrinsic::sideeffect:
// Discard annotate attributes, assumptions, and artificial side-effects.

View File

@ -2388,6 +2388,20 @@ define void @test_assume(i1 %x) {
ret void
}
declare void @llvm.experimental.noalias.scope.decl(metadata)
define void @test.llvm.noalias.scope.decl(i8* %P, i8* %Q) nounwind ssp {
tail call void @llvm.experimental.noalias.scope.decl(metadata !3)
; CHECK-LABEL: name: test.llvm.noalias.scope.decl
; CHECK-NOT: llvm.experimental.noalias.scope.decl
; CHECK: RET_ReallyLR
ret void
}
!3 = !{ !4 }
!4 = distinct !{ !4, !5, !"test1: var" }
!5 = distinct !{ !5, !"test1" }
declare void @llvm.sideeffect()
define void @test_sideeffect() {
; CHECK-LABEL: name: test_sideeffect