[PATCH] D112717: [IR] Replace *all* uses of a constant expression by corresponding instruction
Jon Chesterfield via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 13 23:38:53 PDT 2022
JonChesterfield added a comment.
Example repro.
; RUN: opt -S -mtriple=amdgcn-- -amdgpu-lower-module-lds < %s | FileCheck %s
; RUN: opt -S -mtriple=amdgcn-- -passes=amdgpu-lower-module-lds < %s | FileCheck %s
@var = addrspace(3) global i32 undef, align 4
define amdgpu_kernel void @func(i32 %c) {
entry:
switch i32 %c, label %return [
i32 0, label %bb0
i32 1, label %bb1
]
bb0:
br label %bb2
bb1:
br label %bb2
bb2:
%tmp = phi ptr [ addrspacecast (ptr addrspace(3) @var to ptr), %bb0 ],
[ addrspacecast (ptr addrspace(3) @var to ptr), %bb1 ]
br label %return
return:
ret void
}
Instruction does not dominate all uses!
%0 = addrspacecast ptr addrspace(3) @llvm.amdgcn.kernel.func.lds to ptr
%tmp = phi ptr [ %0, %bb0 ], [ %0, %bb1 ]
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112717/new/
https://reviews.llvm.org/D112717
More information about the llvm-commits
mailing list