This repository has been archived by the owner on Jan 1, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775. git-svn-id: http://llvm.org/svn/llvm-project/llvm/branches/release_24@57706 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
Tanya Lattner
committed
Oct 17, 2008
1 parent
76aea47
commit bf740cb
Showing
2 changed files
with
52 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
; RUN: llvm-as < %s | llc -march=x86 | ||
; PR2775 | ||
|
||
define i32 @func_77(i8 zeroext %p_79) nounwind { | ||
entry: | ||
%0 = tail call i32 (...)* @func_43(i32 1) nounwind ; <i32> [#uses=1] | ||
%1 = icmp eq i32 %0, 0 ; <i1> [#uses=1] | ||
br i1 %1, label %bb3, label %bb | ||
|
||
bb: ; preds = %entry | ||
br label %bb3 | ||
|
||
bb3: ; preds = %bb, %entry | ||
%p_79_addr.0 = phi i8 [ 0, %bb ], [ %p_79, %entry ] ; <i8> [#uses=1] | ||
%2 = zext i8 %p_79_addr.0 to i32 ; <i32> [#uses=2] | ||
%3 = zext i1 false to i32 ; <i32> [#uses=2] | ||
%4 = tail call i32 (...)* @rshift_u_s(i32 1) nounwind ; <i32> [#uses=0] | ||
%5 = lshr i32 %2, %2 ; <i32> [#uses=3] | ||
%6 = icmp eq i32 0, 0 ; <i1> [#uses=1] | ||
br i1 %6, label %bb6, label %bb9 | ||
|
||
bb6: ; preds = %bb3 | ||
%7 = ashr i32 %5, %3 ; <i32> [#uses=1] | ||
%8 = icmp eq i32 %7, 0 ; <i1> [#uses=1] | ||
%9 = select i1 %8, i32 %3, i32 0 ; <i32> [#uses=1] | ||
%. = shl i32 %5, %9 ; <i32> [#uses=1] | ||
br label %bb9 | ||
|
||
bb9: ; preds = %bb6, %bb3 | ||
%.0 = phi i32 [ %., %bb6 ], [ %5, %bb3 ] ; <i32> [#uses=0] | ||
br i1 false, label %return, label %bb10 | ||
|
||
bb10: ; preds = %bb9 | ||
ret i32 undef | ||
|
||
return: ; preds = %bb9 | ||
ret i32 undef | ||
} | ||
|
||
declare i32 @func_43(...) | ||
|
||
declare i32 @rshift_u_s(...) |