[PATCH] D33849: DAG: Undo and->or combine with FrameIndexes
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 2 13:32:59 PDT 2017
arsenm created this revision.
Herald added subscribers: tpr, nhaehnle, wdng.
This pattern shows up when lowering byval copies on AMDGPU.
The byval object access is split into 4-byte chunks, adding a
constant offset to the FixedStack base. When some of the offsets
turn into ors, this prevents combining the constant offsets.
This makes it not apparent that the object is there when matching
addressing modes, so it ends up using a scratch wave offset
relative access and the lengthy frame index expansion for that.
https://reviews.llvm.org/D33849
Files:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AMDGPU/byval-frame-setup.ll
test/CodeGen/BPF/undef.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33849.101268.patch
Type: text/x-patch
Size: 8223 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170602/40731aa3/attachment.bin>
More information about the llvm-commits
mailing list