
Remove support for the icmp and fcmp constant expressions. This is part of: https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179 As usual, many of the updated tests will no longer test what they were originally intended to -- this is hard to preserve when constant expressions get removed, and in many cases just impossible as the existence of a specific kind of constant expression was the cause of the issue in the first place.
20 lines
420 B
LLVM
20 lines
420 B
LLVM
; RUN: llc < %s
|
|
|
|
; PR33094
|
|
; Make sure that a constant extractvalue doesn't cause a crash in
|
|
; SelectionDAGBuilder::visitExtractValue.
|
|
|
|
%A = type {}
|
|
%B = type {}
|
|
%Tuple = type { i64 }
|
|
|
|
@A_Inst = global %A zeroinitializer
|
|
@B_Inst = global %B zeroinitializer
|
|
|
|
define i64 @foo() {
|
|
%c = icmp eq ptr @A_Inst, @B_Inst
|
|
%s = select i1 %c, %Tuple { i64 33 }, %Tuple { i64 42 }
|
|
%e = extractvalue %Tuple %s, 0
|
|
ret i64 %e
|
|
}
|