summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/frame/TestFrames.py
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2017-05-27 15:17:49 +0000
committerTobias Grosser <tobias@grosser.es>2017-05-27 15:17:49 +0000
commite3684d0b843303afc16ecd961d7149bcea21eb61 (patch)
tree1d83b7c70a9c656e023b5b2103b11c1768cabb18 /lldb/packages/Python/lldbsuite/test/python_api/frame/TestFrames.py
parent33f4a9728741b1305496ec89f5b472a57e21a32b (diff)
downloadbcm5719-llvm-e3684d0b843303afc16ecd961d7149bcea21eb61.tar.gz
bcm5719-llvm-e3684d0b843303afc16ecd961d7149bcea21eb61.zip
[SCEV] Assume parameters coming from function calls contain IVs
The optimistic delinearization implemented in LLVM detects array sizes by looking for non-linear products between parameters and induction variables. In OpenCL code, such products often look like: A[get_global_id(0) * N + get_global_id(1)] Hence, the IV is hidden in the get_global_id() call and consequently delinearization would fail as no induction variable is available that helps us to identify N as array size parameter. We now use a very simple heuristic to change this. We assume that each parameter that comes directly from a function call is a hidden induction variable. As a result, we can delinearize the access above to: A[get_global_id(0)][get_global_id(1] llvm-svn: 304073
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/frame/TestFrames.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud