42 auto *NewAliasee = canonicalizeAlias(GA->getAliasee(),
Changed);
43 if (NewAliasee != GA->getAliasee()) {
44 GA->setAliasee(NewAliasee);
54 std::vector<Constant *>
Ops;
55 for (
Use &U :
CE->operands())
57 return CE->getWithOperands(
Ops);
61static bool canonicalizeAliases(
Module &M) {
63 for (
auto &GA : M.aliases())
64 canonicalizeAlias(&GA,
Changed);
71 if (!canonicalizeAliases(M))
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
This file contains the declarations for the subclasses of Constant, which represent the different fla...
Module.h This file contains the declarations for the Module class.
const AbstractManglingParser< Derived, Alloc >::OperatorInfo AbstractManglingParser< Derived, Alloc >::Ops[]
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
This is an important base class in LLVM.
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
static PreservedAnalyses none()
Convenience factory function for the empty preserved set.
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
A Use represents the edge between a Value definition and its users.
@ CE
Windows NT (Windows on ARM)
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast<X> - Return the argument parameter cast to the specified type.
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.