diff options
-rw-r--r-- | lib/Target/README.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 20f4898b2a..37b671f34b 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -424,3 +424,28 @@ return: [ %tmp.9, %then.1 ] ret int %result.0 } + +//===---------------------------------------------------------------------===// + +Argument promotion should promote arguments for recursive functions, like +this: + +; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | grep x.val + +implementation ; Functions: + +internal int %foo(int* %x) { +entry: + %tmp = load int* %x + %tmp.foo = call int %foo(int *%x) + ret int %tmp.foo +} + +int %bar(int* %x) { +entry: + %tmp3 = call int %foo( int* %x) ; <int>[#uses=1] + ret int %tmp3 +} + + + |