Mercurial > hg > CbC > CbC_llvm
view llvm/test/Feature/OperandBundles/adce.ll @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | 1d019706d866 |
children | c4bab56944e8 |
line wrap: on
line source
; RUN: opt -S -adce < %s | FileCheck %s ; While it is normally okay to DCE out calls to @readonly_function and ; @readnone_function, we cannot do that if they're carrying operand ; bundles since the presence of unknown operand bundles implies ; arbitrary memory effects. declare void @readonly_function() readonly nounwind willreturn declare void @readnone_function() readnone nounwind willreturn define void @test0() { ; CHECK-LABEL: @test0( entry: call void @readonly_function() [ "tag"() ] ; CHECK: call void @readonly_function ret void } define void @test1() { ; CHECK-LABEL: @test1( entry: call void @readnone_function() [ "tag"() ] ; CHECK: call void @readnone_function ret void } define void @test2() { ; CHECK-LABEL: @test2( entry: ; CHECK-NOT: @readonly_function( call void @readonly_function() readonly [ "tag"() ] ret void } define void @test3() { ; CHECK-LABEL: @test3( entry: ; CHECK-NOT: @readnone_function( call void @readnone_function() readnone [ "tag"() ] ret void } define void @test4() { ; CHECK-LABEL: @test4( entry: ; CHECK-NOT: @readonly_function() call void @readonly_function() [ "deopt"() ] ret void }