[llvm-commits] CVS: llvm/test/Feature/aliases.ll
Changes in directory llvm/test/Feature: aliases.ll updated: 1.1 - 1.2 --- Log message: not fully implemented yet. --- Diffs of the changes: (+2 -0) aliases.ll |2 ++ 1 files changed, 2 insertions(+) Index: llvm/test/Feature/aliases.ll diff -u llvm/test/Feature/aliases.ll:1.1 llvm/test/Feature/aliases.ll:1.2 --- llvm/test/Feature/aliases.ll:1.1Wed Apr 25 09:27:10 2007 +++ llvm/test/Feature/aliases.llSat Apr 28 01:02:13 2007 @@ -2,6 +2,8 @@ ; RUN: llvm-as %t1.ll -o - | llvm-dis %t2.ll ; RUN: diff %t1.ll %t2.ll +; XFAIL: * + @bar = external global i32 @foo1 = alias i32* @bar @foo2 = alias i32* @bar ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Feature/aliases.ll
Changes in directory llvm/test/Feature: aliases.ll updated: 1.2 - 1.3 --- Log message: Implement review feedback. Aliasees can be either GlobalValue's or bitcasts of them. --- Diffs of the changes: (+2 -2) aliases.ll |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Feature/aliases.ll diff -u llvm/test/Feature/aliases.ll:1.2 llvm/test/Feature/aliases.ll:1.3 --- llvm/test/Feature/aliases.ll:1.2Sat Apr 28 01:02:13 2007 +++ llvm/test/Feature/aliases.llSat Apr 28 08:45:00 2007 @@ -2,8 +2,6 @@ ; RUN: llvm-as %t1.ll -o - | llvm-dis %t2.ll ; RUN: diff %t1.ll %t2.ll -; XFAIL: * - @bar = external global i32 @foo1 = alias i32* @bar @foo2 = alias i32* @bar @@ -15,6 +13,8 @@ @bar_i = alias internal i32* @bar [EMAIL PROTECTED] = alias bitcast (i32* @bar to i64*) + define i32 @test() { entry: %tmp = load i32* @foo1 ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Feature/aliases.ll
Changes in directory llvm/test/Feature: aliases.ll added (r1.1) --- Log message: Implement aliases. This fixes PR1017: http://llvm.org/PR1017 and it's dependent bugs. CFE part will follow. --- Diffs of the changes: (+28 -0) aliases.ll | 28 1 files changed, 28 insertions(+) Index: llvm/test/Feature/aliases.ll diff -c /dev/null llvm/test/Feature/aliases.ll:1.1 *** /dev/null Wed Apr 25 09:27:21 2007 --- llvm/test/Feature/aliases.llWed Apr 25 09:27:10 2007 *** *** 0 --- 1,28 + ; RUN: llvm-as %s | llvm-dis %t1.ll + ; RUN: llvm-as %t1.ll -o - | llvm-dis %t2.ll + ; RUN: diff %t1.ll %t2.ll + + @bar = external global i32 + @foo1 = alias i32* @bar + @foo2 = alias i32* @bar + + %FunTy = type i32() + + declare i32 @foo_f() + @bar_f = alias weak %FunTy* @foo_f + + @bar_i = alias internal i32* @bar + + define i32 @test() { + entry: +%tmp = load i32* @foo1 +%tmp1 = load i32* @foo2 +%tmp0 = load i32* @bar_i +%tmp2 = call i32 @foo_f() +%tmp3 = add i32 %tmp, %tmp2 +%tmp4 = call %FunTy* @bar_f() +%tmp5 = add i32 %tmp3, %tmp4 +%tmp6 = add i32 %tmp1, %tmp5 +%tmp7 = add i32 %tmp6, %tmp0 +ret i32 %tmp7 + } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] CVS: llvm/test/Feature/aliases.ll
Implement aliases. This fixes PR1017: http://llvm.org/PR1017 and it's dependent bugs. CFE part will follow. One thing that just occurred to me. When you switch GlobalAlias to have a Use for the aliasee, RAUW will work on globals that are aliased. Unfortunately, various bits of code (like the CFE) want to replace globals with other globals of different types. In practice, this means that these clients RAUW the global with a constant expr bitcast of the new global. This implies that aliases should allow either a global value or a bitcast of a global value as their aliasee: @A = alias i32* (bitcast f32* @F to i32*) What do you think? -Chris ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits