[PATCH] D12528: Add AliasAnalysis as preserved for a bunch of transforms

James Molloy via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 06:41:21 PDT 2015


jmolloy created this revision.
jmolloy added a reviewer: chandlerc.
jmolloy added a subscriber: llvm-commits.
jmolloy set the repository for this revision to rL LLVM.

AliasAnalysis must be preserved by definition. But most passes don't inform the pass manager of this, so it invalidates non-Immutable alias passes.

Drive-by add addPreserved<AliasAnalysis>() to all passes in Scalar/ and InstCombine/.

Chandler, I think you said you were going to look at some PassManager trick for this... but I assume that didn't come to anything and this patch isn't invasive anyway.

This allows us to turn on GlobalsModRef by default and it actually be useful.

Repository:
  rL LLVM

http://reviews.llvm.org/D12528

Files:
  lib/Transforms/InstCombine/InstructionCombining.cpp
  lib/Transforms/Scalar/ADCE.cpp
  lib/Transforms/Scalar/BDCE.cpp
  lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  lib/Transforms/Scalar/EarlyCSE.cpp
  lib/Transforms/Scalar/IndVarSimplify.cpp
  lib/Transforms/Scalar/JumpThreading.cpp
  lib/Transforms/Scalar/LoopDeletion.cpp
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  lib/Transforms/Scalar/LoopUnswitch.cpp
  lib/Transforms/Scalar/Reassociate.cpp
  lib/Transforms/Scalar/SCCP.cpp
  lib/Transforms/Scalar/SROA.cpp
  lib/Transforms/Scalar/SimplifyCFGPass.cpp
  lib/Transforms/Scalar/TailRecursionElimination.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12528.33685.patch
Type: text/x-patch
Size: 10620 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150901/b7c82e04/attachment.bin>


More information about the llvm-commits mailing list