diff options
author | Tobias Grosser <tobias@grosser.es> | 2016-08-09 08:59:05 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2016-08-09 08:59:05 +0000 |
commit | c59b3ce044fc7d0b7d91497b60db26bc6877602c (patch) | |
tree | e0511d9c22bffaaff8e4c92359bd3d43d277b351 /lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallUserDefinedFunction.py | |
parent | c99f72868d1ce70695e2e4b7212d2fcd51e734b6 (diff) | |
download | bcm5719-llvm-c59b3ce044fc7d0b7d91497b60db26bc6877602c.tar.gz bcm5719-llvm-c59b3ce044fc7d0b7d91497b60db26bc6877602c.zip |
[BlockGenerator] Also eliminate dead code not originating from BB
After having generated the code for a ScopStmt, we run a simple dead-code
elimination that drops all instructions that are known to be and remain unused.
Until this change, we only considered instructions for dead-code elimination, if
they have a corresponding instruction in the original BB that belongs to
ScopStmt. However, when generating code we do not only copy code from the BB
belonging to a ScopStmt, but also generate code for operands referenced from BB.
After this change, we now also considers code for dead code elimination, which
does not have a corresponding instruction in BB.
This fixes a bug in Polly-ACC where such dead-code referenced CPU code from
within a GPU kernel, which is possible as we do not guarantee that all variables
that are used in known-dead-code are moved to the GPU.
llvm-svn: 278103
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallUserDefinedFunction.py')
0 files changed, 0 insertions, 0 deletions