Home | History | Annotate | Download | only in FunctionAttrs
      1 ; RUN: opt -basicaa -functionattrs -S < %s | FileCheck %s
      2 
      3 ; Atomic load/store to local doesn't affect whether a function is
      4 ; readnone/readonly.
      5 define i32 @test1(i32 %x) uwtable ssp {
      6 ; CHECK: define i32 @test1(i32 %x) uwtable readnone ssp {
      7 entry:
      8   %x.addr = alloca i32, align 4
      9   store atomic i32 %x, i32* %x.addr seq_cst, align 4
     10   %r = load atomic i32* %x.addr seq_cst, align 4
     11   ret i32 %r
     12 }
     13 
     14 ; A function with an Acquire load is not readonly.
     15 define i32 @test2(i32* %x) uwtable ssp {
     16 ; CHECK: define i32 @test2(i32* nocapture %x) uwtable ssp {
     17 entry:
     18   %r = load atomic i32* %x seq_cst, align 4
     19   ret i32 %r
     20 }
     21 
     22