blob: f8a0c88d2f895b3d41070c342b19f970e878e890 [file] [log] [blame]
Dan Gohmanf2f6ce62009-09-11 18:01:28 +00001; RUN: opt < %s -simplify-libcalls -S > %t
Nick Lewycky4c498412009-02-13 15:31:46 +00002; RUN: grep nocapture %t | count 2
3; RUN: grep null %t | grep nocapture | count 1
Dan Gohmanc32046e2010-12-17 01:09:43 +00004; RUN: grep null %t | grep call | not grep readonly
Nick Lewycky4c498412009-02-13 15:31:46 +00005
Nick Lewycky02b6a6a2009-02-13 17:08:33 +00006; Test that we add nocapture to the declaration, and to the second call only.
Nick Lewycky4c498412009-02-13 15:31:46 +00007
Nick Lewycky02b6a6a2009-02-13 17:08:33 +00008declare float @strtol(i8* %s, i8** %endptr, i32 %base)
Nick Lewycky4c498412009-02-13 15:31:46 +00009
10define void @foo(i8* %x, i8** %endptr) {
Nick Lewycky02b6a6a2009-02-13 17:08:33 +000011 call float @strtol(i8* %x, i8** %endptr, i32 10)
12 call float @strtol(i8* %x, i8** null, i32 10)
Nick Lewycky4c498412009-02-13 15:31:46 +000013 ret void
14}