mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Get rid of an optimization in SCCP which appears to have many issues. Specifically, it doesn't handle many cases involving undef correctly, and it is missing other checks which
lead to it trying to re-mark a value marked as a constant with a different value. It also appears to trigger very rarely. Fixes PR11357. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144352 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
; RUN: opt < %s -sccp -dce -simplifycfg -S | not grep br
|
||||
|
||||
define i32 @test(i32 %param) {
|
||||
entry:
|
||||
%tmp.1 = icmp ne i32 %param, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp.1, label %endif.0, label %else
|
||||
else: ; preds = %entry
|
||||
br label %endif.0
|
||||
endif.0: ; preds = %else, %entry
|
||||
%a.0 = phi i32 [ 2, %else ], [ 3, %entry ] ; <i32> [#uses=1]
|
||||
%b.0 = phi i32 [ 3, %else ], [ 2, %entry ] ; <i32> [#uses=1]
|
||||
%tmp.5 = add i32 %a.0, %b.0 ; <i32> [#uses=1]
|
||||
%tmp.7 = icmp ne i32 %tmp.5, 5 ; <i1> [#uses=1]
|
||||
br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1
|
||||
endif.1: ; preds = %endif.0
|
||||
ret i32 0
|
||||
UnifiedReturnBlock: ; preds = %endif.0
|
||||
ret i32 2
|
||||
}
|
||||
|
Reference in New Issue
Block a user