steven-johnson wrote:
FYI: this *appears* to have injected a failure into Halide builds (based on a
bisect) -- there are some bitcode files that we build with LLVM's top-of-tree
Clang then load later on to use for codegen, and these bitcode files are now
missing certain type definitions that
@@ -560,14 +560,15 @@ define i32 @test28() nounwind {
; CHECK-NEXT: entry:
; CHECK-NEXT:[[ORIENTATIONS:%.*]] = alloca [1 x [1 x %struct.x]], align 8
; CHECK-NEXT:[[T3:%.*]] = call i32 @puts(ptr noundef nonnull
dereferenceable(1) @.str) #[[ATTR0]]
+; CHECK-NEXT:
llvmbot wrote:
@llvm/pr-subscribers-backend-risc-v
@llvm/pr-subscribers-backend-amdgpu
@llvm/pr-subscribers-clang
Author: Nikita Popov (nikic)
Changes
This patch canonicalizes getelementptr instructions with constant indices to
use the `i8` source element type. This makes it easier for
https://github.com/nikic ready_for_review
https://github.com/llvm/llvm-project/pull/68882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/68882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2282,6 +2282,15 @@ Instruction
*InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst ) {
if (MadeChange)
return
+ // Canonicalize constant GEPs to i8 type.
bjope wrote:
Right. So things can be expected to just work (given
@@ -2282,6 +2282,15 @@ Instruction
*InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst ) {
if (MadeChange)
return
+ // Canonicalize constant GEPs to i8 type.
nikic wrote:
Note that i8 GEPs are already generated by some important components
@@ -560,14 +560,15 @@ define i32 @test28() nounwind {
; CHECK-NEXT: entry:
; CHECK-NEXT:[[ORIENTATIONS:%.*]] = alloca [1 x [1 x %struct.x]], align 8
; CHECK-NEXT:[[T3:%.*]] = call i32 @puts(ptr noundef nonnull
dereferenceable(1) @.str) #[[ATTR0]]
+; CHECK-NEXT: