aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineModuleInfo.cpp
diff options
context:
space:
mode:
authorLeonard Chan <leonardchan@google.com>2023-02-23 19:58:29 +0000
committerLeonard Chan <leonardchan@google.com>2023-02-23 19:59:25 +0000
commit608ee703e530b00130923417b6663c9f3816f889 (patch)
tree4175c13c29dab72c929022dde874422c3f4b04ac /llvm/lib/CodeGen/MachineModuleInfo.cpp
parenta9356a515b5a1a3637eaf5820fc0d2c0dad21a64 (diff)
downloadllvm-608ee703e530b00130923417b6663c9f3816f889.zip
llvm-608ee703e530b00130923417b6663c9f3816f889.tar.gz
llvm-608ee703e530b00130923417b6663c9f3816f889.tar.bz2
[SCEV] Ensure SCEV does not replace aliases with their aliasees
Passes in general shouldn't replace an alias with the aliasee (see https://reviews.llvm.org/D66606). This can lead to situations where a linkonce_odr symbol (which could be interposable if lowered to weak linkage) can be replaced with a local aliasee which won't be interposable. SVEC does this when the function is invoked by FunctionPass Manager -> Loop Pass Manager -> Induction Variable Users in the codegen pipeline. This was found in hwasan instrumented code where a linonce_odr alias was replaced with its private aliasee. This fixes the bug descriped at https://github.com/llvm/llvm-project/issues/60668. Differential Revision: https://reviews.llvm.org/D144035
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions