Remove support for zext and sext constant expressions. All places creating them have been removed beforehand, so this just removes the APIs and uses of these constant expressions in tests. There is some additional cleanup that can be done on top of this, e.g. we can remove the ZExtInst vs ZExtOperator footgun. This is part of https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179.
24 lines
725 B
LLVM
24 lines
725 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt -S -passes='function(early-cse),globalopt' < %s | FileCheck %s
|
|
; RUN: opt -S -passes='function(early-cse)' < %s | opt -S -passes=globalopt | FileCheck %s
|
|
|
|
@g = internal global [6 x ptr] undef
|
|
|
|
define void @test1() {
|
|
; CHECK-LABEL: @test1(
|
|
; CHECK-NEXT: ret void
|
|
;
|
|
%xor4 = xor i1 add (i1 icmp ne (ptr getelementptr (i8, ptr @g, i64 3), ptr null), i1 1), 0
|
|
%t0 = load ptr, ptr getelementptr (i8, ptr @g, i64 3), align 1
|
|
%t1 = load i16, ptr %t0, align 1
|
|
ret void
|
|
}
|
|
|
|
define void @test2() {
|
|
; CHECK-LABEL: @test2(
|
|
; CHECK-NEXT: ret void
|
|
;
|
|
store ptr null, ptr getelementptr inbounds ([6 x ptr], ptr @g, i32 0, i32 5)
|
|
ret void
|
|
}
|