summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-09-17 16:09:55 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-09-17 16:09:55 +0000
commitac0fc849cf53b41735526eba7931ee4f3508fb8f (patch)
treef4cf0befd7d3ba8e6255338d85188df82606185d /llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
parentbcfd94c2982e6b8468596390234832653a56fb54 (diff)
downloadbcm5719-llvm-ac0fc849cf53b41735526eba7931ee4f3508fb8f.tar.gz
bcm5719-llvm-ac0fc849cf53b41735526eba7931ee4f3508fb8f.zip
AMDGPU: Fix broken FrameIndex handling
We were trying to avoid using a FrameIndex operand in non-pointer operands in a convoluted way, and would break because of using TargetFrameIndex. The TargetFrameIndex should only be used in the case where it makes sense to fold it as part of the addressing mode, otherwise it requires materialization like a normal constant. This wasn't working reliably and failed in the added testcase, hitting the assert when processing the frame index. The TargetFrameIndex was coming from trying to produce an AssertZext limiting the maximum stack size. I'm not sure this was correct to begin with, because it is apparently possible to have a single workitem dispatch that requires all 4G of private memory. llvm-svn: 281824
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonSubtarget.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud