diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2014-01-22 21:55:46 +0000 | 
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2014-01-22 21:55:46 +0000 | 
| commit | e89373e0622724f99194276d3a97ad6052db41a8 (patch) | |
| tree | 46631c02c31871551acf7ed1a631ad6f0e850ef8 /clang/lib/CodeGen/CodeGenFunction.cpp | |
| parent | 59ed4794c4fff1456c7afc970a36266ba505ae48 (diff) | |
| download | llvm-e89373e0622724f99194276d3a97ad6052db41a8.zip llvm-e89373e0622724f99194276d3a97ad6052db41a8.tar.gz llvm-e89373e0622724f99194276d3a97ad6052db41a8.tar.bz2  | |
R600: Add work-around for the CF stack entry HW bug
The CF stack can be corrupted if you use CF_ALU_PUSH_BEFORE,
CF_ALU_ELSE_AFTER, CF_ALU_BREAK, or CF_ALU_CONTINUE when the number of
sub-entries on the stack is greater than or equal to the stack entry
size and sub-entries modulo 4 is either 0 or 3 (on cedar the bug is
present when number of sub-entries module 8 is either 7 or 0)
We choose to be conservative and always apply the work-around when the
number of sub-enries is greater than or equal to the stack entry size,
so that we can safely over-allocate the stack when we are unsure of the
stack allocation rules.
reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 199842
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions
