aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorChristudasan Devadasan <christudasan.devadasan@amd.com>2023-10-27 19:10:18 +0530
committerGitHub <noreply@github.com>2023-10-27 19:10:18 +0530
commita0eb6b88f9af9ea51bf5cadcb4c223f3d235ed57 (patch)
treeee259b89c6862b304566b6aed905de34ed9ae14f /clang/lib/Lex/ModuleMap.cpp
parentb0b88643a1facc4fcb06783e295de3d4a91dc924 (diff)
downloadllvm-a0eb6b88f9af9ea51bf5cadcb4c223f3d235ed57.zip
llvm-a0eb6b88f9af9ea51bf5cadcb4c223f3d235ed57.tar.gz
llvm-a0eb6b88f9af9ea51bf5cadcb4c223f3d235ed57.tar.bz2
[AMDGPU] Try to fix the block prologs broken by RA inserted instructions (#69924)
The insertion point determined by RA while attempting spills and liverange split at the beginning of a block goes wrong at times, and the newly inserted vector instructions are placed before the exec-mask restore instruction which is wrong. It occurs mainly due to the dependency on isBasicBlockPrologue that doesn't account early inserted instructions (spills and splits) during RA and causes the block prolog break. A better approach for deciding the insertion point should be worked out. For now, improving the helper function to consider all possible early insertions. This patch includes the spill instructions. The copies associated with liverange split should also be included in the block prolog.
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions