diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-19 21:01:38 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-19 21:01:38 +0000 |
commit | f00f68ad0dc24206ef176b71465c4f30c44708a4 (patch) | |
tree | 048af4b9747bccca380d6b79465d465098b6371c | |
parent | 778ae71f375d0ce35a682a5f42bd31bb985e49cb (diff) |
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28402 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/README.txt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 92fc8d036d..24fb24d386 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -220,3 +220,22 @@ Doing so could allow SROA of the destination pointers. See also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17687 //===---------------------------------------------------------------------===// + +Scalar Repl cannot currently promote this testcase to 'ret long cst': + + %struct.X = type { int, int } + %struct.Y = type { %struct.X } +ulong %bar() { + %retval = alloca %struct.Y, align 8 ; <%struct.Y*> [#uses=3] + %tmp12 = getelementptr %struct.Y* %retval, int 0, uint 0, uint 0 ; <int*> [#uses=1] + store int 0, int* %tmp12 + %tmp15 = getelementptr %struct.Y* %retval, int 0, uint 0, uint 1 ; <int*> [#uses=1] + store int 1, int* %tmp15 + %retval = cast %struct.Y* %retval to ulong* ; <ulong*> [#uses=1] + %retval = load ulong* %retval ; <ulong> [#uses=1] + ret ulong %retval +} + +it should be extended to do so. + +//===---------------------------------------------------------------------===// |