From 44c8cd97a508a7a12df769a1ffea29b1adb83fcc Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Wed, 31 Dec 2008 16:14:43 +0000 Subject: Rename AddReadAttrs to FunctionAttrs, and teach it how to work out (in a very simplistic way) which function arguments (pointer arguments only) are only dereferenced and so do not escape. Mark such arguments 'nocapture'. llvm-svn: 61525 --- llvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 llvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll (limited to 'llvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll') diff --git a/llvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll b/llvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll new file mode 100644 index 00000000000..b6077fd8ee3 --- /dev/null +++ b/llvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | not grep read +; PR2792 + +@g = global i32 0 ; [#uses=1] + +define i32 @f() { + %t = volatile load i32* @g ; [#uses=1] + ret i32 %t +} -- cgit v1.2.3