[all-commits] [llvm/llvm-project] 608ee7: [SCEV] Ensure SCEV does not replace aliases with t...
PiJoules via All-commits
all-commits at lists.llvm.org
Thu Feb 23 11:59:57 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 608ee703e530b00130923417b6663c9f3816f889
https://github.com/llvm/llvm-project/commit/608ee703e530b00130923417b6663c9f3816f889
Author: Leonard Chan <leonardchan at google.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/no-follow-alias.ll
Log Message:
-----------
[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
More information about the All-commits
mailing list