diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 1bf36212817..b4373572fd0 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -427,6 +427,7 @@ Speedups to various mid-level passes: GVN is much faster on functions with deep dominator trees / lots of BBs. DomTree and DominatorFrontier are much faster to compute, and preserved by more passes (so they are computed less often) + SRoA is also much faster and doesn't use DominanceFrontier. new 'hotpatch' attribute: LangRef.html#fnattrs @@ -456,6 +457,9 @@ MVT::Flag renamed to MVT::Glue Removed the PartialSpecialization pass, it was unmaintained and buggy. +SPARC: Many improvements, including using the Y registers for multiplications + and addition of a simple delay slot filler. + diff --git a/docs/WritingAnLLVMPass.html b/docs/WritingAnLLVMPass.html index edc8631d0ab..97db123ed7d 100644 --- a/docs/WritingAnLLVMPass.html +++ b/docs/WritingAnLLVMPass.html @@ -1206,17 +1206,6 @@ the fact that it hacks on the CFG.
- // This is an example implementation from an analysis, which does not modify - // the program at all, yet has a prerequisite. - void PostDominanceFrontier::getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesAll(); - AU.addRequired<PostDominatorTree>(); - } -
and:
-// This example modifies the program, but does not modify the CFG void LICM::getAnalysisUsage(AnalysisUsage &AU) const { diff --git a/tools/opt/GraphPrinters.cpp b/tools/opt/GraphPrinters.cpp index 791caf571c2..30361f501cd 100644 --- a/tools/opt/GraphPrinters.cpp +++ b/tools/opt/GraphPrinters.cpp @@ -18,7 +18,7 @@ #include "llvm/Pass.h" #include "llvm/Value.h" #include "llvm/Analysis/CallGraph.h" -#include "llvm/Analysis/DominanceFrontier.h" +#include "llvm/Analysis/Dominators.h" #include "llvm/Support/ToolOutputFile.h" using namespace llvm; @@ -103,13 +103,11 @@ namespace { virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired(); - AU.addRequired (); } virtual bool runOnFunction(Function &F) { getAnalysis ().dump(); - getAnalysis ().dump(); return false; } };