[PATCH] D137269: [Clang][AArch64][Darwin] Enable GlobalISel by default for Darwin ARM64 platforms.

Florian Hahn via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 9 02:19:08 PST 2022


fhahn added a comment.

It looks like GISel crashes when building `llvm-test-suite` with -O3 on ARM64. If it isn't trivial to fix we should probably revert the patch to bring things back to green.

Reproducer:

  ; llc  -global-isel -O3
  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
  target triple = "arm64-apple-macosx"
  
  define void @widget(ptr %arg, i1 %arg1) {
  bb:
    br i1 %arg1, label %bb2, label %bb3
  
  bb2:                                              ; preds = %bb
    %tmp = icmp slt i32 0, 0
    br i1 %tmp, label %bb3, label %bb9
  
  bb3:                                              ; preds = %bb2, %bb
    %tmp4 = phi i32 [ 1, %bb ], [ 0, %bb2 ]
    %tmp5 = zext i32 %tmp4 to i64
    br label %bb6
  
  bb6:                                              ; preds = %bb6, %bb3
    %tmp7 = getelementptr i32, ptr %arg, i64 %tmp5
    %tmp8 = getelementptr i32, ptr %tmp7, i64 4
    store <4 x i32> zeroinitializer, ptr %tmp8, align 4
    br label %bb6
  
  bb9:                                              ; preds = %bb2
    ret void
  }

https://llvm.godbolt.org/z/d5oTWxvaG


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137269/new/

https://reviews.llvm.org/D137269



More information about the cfe-commits mailing list