[llvm-commits] [llvm] r56342 - in /llvm/trunk: include/llvm/LinkAllPasses.h include/llvm/Transforms/Scalar.h lib/Transforms/Scalar/MarkModRef.cpp test/Analysis/GlobalsModRef/2008-09-03-WrongRecords.ll win32/Transforms/Transforms.vcproj

Duncan Sands baldrick at free.fr
Mon Sep 29 06:18:29 PDT 2008


Hi Chris,

> > Remove the MarkModRef pass (use AddReadAttrs instead).
> > Unfortunately this means removing one regression test
> > of GlobalsModRef because I couldn't work out how to
> > perform it without MarkModRef.
> 
> What is the issue?

the result of the GlobalsModRef alias analysis used to be
wrong sometimes.  But how to get at the analysis result
in order to write a testcase?  MarkModRef was convenient
for this, because it stored alias analysis results in the
bitcode, so you could pass to llvm-dis and grep for badness.

> Also, why doesn't your AddReadAttrs pass use AliasAnalysis?

It doesn't need AA to do a decent job, but indeed if AA is
available it might as well use it (currently no AA exists that
would actually help, but such an AA may be written someday).
It could call getAnalysisToUpdate, and use the resulting AA
if present.  In which case I suppose it would be best if
getAnalysisToUpdate was renamed to getAnalysisIfAvailable.

Ciao,

Duncan.



More information about the llvm-commits mailing list