[PATCH] D83101: [Scalarizer] ExtractElement handling w/ constant extract index
mattias.v.eriksson@ericsson.com via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 18 06:56:45 PDT 2020
materi added a comment.
We have seen some issues with missing symbols during linking that I think are caused by this patch. The origin of this is downstream fuzz testing.
The global variable `aglobal` is renamed:
$ cat global.ll
@aglobal = dso_local global i16 0, align 1
@b = dso_local local_unnamed_addr global i16 0, align 1
define dso_local void @c() local_unnamed_addr {
entry:
%d.sroa.0.1.vec.extract = extractelement <4 x i16*> <i16* @aglobal, i16* @aglobal, i16* @aglobal, i16* @aglobal>, i32 1
%0 = ptrtoint i16* %d.sroa.0.1.vec.extract to i16
store i16 %0, i16* @b, align 1
ret void
}
$ opt -scalarizer global.ll -S
; ModuleID = 'global.ll'
source_filename = "global.ll"
@d.sroa.0.1.vec.extract = dso_local global i16 0, align 1
@b = dso_local local_unnamed_addr global i16 0, align 1
define dso_local void @c() local_unnamed_addr {
entry:
%0 = ptrtoint i16* @d.sroa.0.1.vec.extract to i16
store i16 %0, i16* @b, align 1
ret void
}
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83101/new/
https://reviews.llvm.org/D83101
More information about the llvm-commits
mailing list