llvm-6502/test/Analysis/BasicAA/nocapture.ll
Nick Lewycky f23d0d392a Resubmit support for the 'nocapture' attribute.
The problematic part of this patch is that we were out of attribute bits,
requiring some fancy bit hacking to make it fit (by shrinking alignment)
without breaking existing users or the file format.

This change will require users to rebuild llvm-gcc to match llvm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61239 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 06:39:12 +00:00

15 lines
373 B
LLVM

; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine | llvm-dis | grep {ret i32 0}
declare i32* @test(i32* nocapture)
define i32 @test2() {
%P = alloca i32
%Q = call i32* @test(i32* %P)
%a = load i32* %P
store i32 4, i32* %Q ;; cannot clobber P since it is nocapture.
%b = load i32* %P
%c = sub i32 %a, %b
ret i32 %c
}