forked from OSchip/llvm-project
7fa503ef4a
And another step towards transformss not introducing inttoptr and/or ptrtoint casts that weren't there already. In this case, when load/store uses have conflicting types, instead of falling back to the iN, we can try to use allocated sub-type. As disscussed, this isn't the best idea overall (we shouldn't rely on allocated type), but it works fine as a temporary measure. I've measured, and @ `-O3` as of vanilla llvm test-suite + RawSpeed, this results in +0.05% more bitcasts, -5.51% less inttoptr and -1.05% less ptrtoint (at the end of middle-end opt pipeline) See https://bugs.llvm.org/show_bug.cgi?id=47592 Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D88788 |
||
---|---|---|
.. | ||
PR16736.ll | ||
PR26163.ll | ||
big-endian-bitfield.ll | ||
big-endian-dump.ll | ||
bitfield.ll | ||
call-site-info-output.ll | ||
cfi-eof-prologue.mir | ||
constant-dbgloc.ll | ||
entry-value-multi-byte-expr.ll | ||
float-args.ll | ||
float-stack-arg.ll | ||
header.ll | ||
illegal-fragment.ll | ||
line.test | ||
lit.local.cfg | ||
little-endian-dump.ll | ||
lowerbdgdeclare_vla.ll | ||
multiple-constant-uses-drops-dbgloc.ll | ||
partial-subreg.ll | ||
processes-relocations.ll | ||
prologue_end.ll | ||
s-super-register.ll | ||
salvage-debug-info.ll | ||
sdag-split-arg.ll | ||
sdag-split-arg1.ll | ||
selectiondag-deadcode.ll | ||
single-constant-use-preserves-dbgloc.ll | ||
split-complex.ll | ||
sroa-complex.ll | ||
tls.ll |