mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 11:35:51 -04:00

Summary: Guard against a potential crash observed in https://github.com/JuliaLang/julia/issues/32994#issuecomment-524249628 If two branches are collapsed we can encounter a degenerate conditional branch `TBB==FBB`. The subsequent code assumes that they differ, so we exit out early. Reviewers: ributzka, spatel Subscribers: loladiro, dexonsmith, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66657
19 lines
634 B
LLVM
19 lines
634 B
LLVM
; RUN: llc -fast-isel=true -O1 -mtriple=x86_64-unkown-linux-gnu -start-before=codegenprepare -stop-after=codegenprepare -o - < %s | FileCheck %s
|
|
|
|
; CHECK-LABEL: @foo
|
|
define void @foo() {
|
|
top:
|
|
; CHECK: br label %L34
|
|
br label %L34
|
|
|
|
L34: ; preds = %L34, %L34, %top
|
|
%.sroa.075.0 = phi i64 [ undef, %top ], [ undef, %L34 ], [ undef, %L34 ]
|
|
%0 = icmp sgt i8 undef, -1
|
|
%cond5896 = icmp eq i8 0, 2
|
|
%cond58 = and i1 %cond5896, %0
|
|
; During codegenprepare such degenerate branches can occur and should not
|
|
; lead to crashes.
|
|
; CHECK: br label %L34
|
|
br i1 %cond58, label %L34, label %L34
|
|
}
|