[PATCH] D88808: [X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 5 13:41:06 PDT 2020
rnk added a comment.
Can we go even later? See https://reviews.llvm.org/rGcda6b0924257f162cc9299dae2d4bb134fac5d38, which goes all the way to X86ExpandPseudo.
================
Comment at: llvm/test/CodeGen/X86/pr42064.ll:46
+ %14 = bitcast %struct.SomeArrays* %3 to i8*
+ call void @llvm.memset.p0i8.i64(i8* nonnull align 8 dereferenceable(48) %14, i8 0, i64 48, i1 false)
+ %15 = invoke nonnull align 8 dereferenceable(48) %struct.SomeArrays* @"??4SomeArrays@@QEAAAEAU0@$$QEAU0@@Z"(%struct.SomeArrays* nonnull %2, %struct.SomeArrays* nonnull align 8 dereferenceable(48) %3)
----------------
Can this be reduced a little? I'm guessing something here, maybe these stack memsets, are increasing the alignment of a stack object during ISel, which causes us to use a base pointer. You probably only need one funclet and one of whatever increases the alignment to trigger the bug.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88808/new/
https://reviews.llvm.org/D88808
More information about the llvm-commits
mailing list