diff options
| author | Johannes Doerfert <jdoerfert@anl.gov> | 2019-08-26 17:51:23 +0000 | 
|---|---|---|
| committer | Johannes Doerfert <jdoerfert@anl.gov> | 2019-08-26 17:51:23 +0000 | 
| commit | a4a308cc2523cf775feba830619a276ff465fff2 (patch) | |
| tree | 686a1d0d84a299d83d4fcc1379ba761cb64a1211 | |
| parent | 19b0043641734c44e8a993250d31735f2c59d7b1 (diff) | |
| download | bcm5719-llvm-a4a308cc2523cf775feba830619a276ff465fff2.tar.gz bcm5719-llvm-a4a308cc2523cf775feba830619a276ff465fff2.zip  | |
[Attributor] Further cut down on non-determinism
llvm-svn: 369936
| -rw-r--r-- | llvm/include/llvm/Transforms/IPO/Attributor.h | 7 | ||||
| -rw-r--r-- | llvm/lib/Transforms/IPO/Attributor.cpp | 2 | 
2 files changed, 5 insertions, 4 deletions
diff --git a/llvm/include/llvm/Transforms/IPO/Attributor.h b/llvm/include/llvm/Transforms/IPO/Attributor.h index 5929fc4a9ed..bea369a6b51 100644 --- a/llvm/include/llvm/Transforms/IPO/Attributor.h +++ b/llvm/include/llvm/Transforms/IPO/Attributor.h @@ -97,6 +97,7 @@  #define LLVM_TRANSFORMS_IPO_ATTRIBUTOR_H  #include "llvm/ADT/SetVector.h" +#include "llvm/ADT/MapVector.h"  #include "llvm/IR/CallSite.h"  #include "llvm/IR/PassManager.h" @@ -758,7 +759,7 @@ private:    /// to the getAAFor<...>(...) method.    ///{    using QueryMapTy = -      DenseMap<AbstractAttribute *, SetVector<AbstractAttribute *>>; +      MapVector<AbstractAttribute *, SetVector<AbstractAttribute *>>;    QueryMapTy QueryMap;    ///} @@ -1157,9 +1158,9 @@ struct AAReturnedValues        const function_ref<bool(Value &, const SmallSetVector<ReturnInst *, 4> &)>            &Pred) const = 0; -  using iterator = DenseMap<Value *, SmallSetVector<ReturnInst *, 4>>::iterator; +  using iterator = MapVector<Value *, SmallSetVector<ReturnInst *, 4>>::iterator;    using const_iterator = -      DenseMap<Value *, SmallSetVector<ReturnInst *, 4>>::const_iterator; +      MapVector<Value *, SmallSetVector<ReturnInst *, 4>>::const_iterator;    virtual llvm::iterator_range<iterator> returned_values() = 0;    virtual llvm::iterator_range<const_iterator> returned_values() const = 0; diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp index a2ea0068bc0..ebe4fba0856 100644 --- a/llvm/lib/Transforms/IPO/Attributor.cpp +++ b/llvm/lib/Transforms/IPO/Attributor.cpp @@ -689,7 +689,7 @@ class AAReturnedValuesImpl : public AAReturnedValues, public AbstractState {    /// Mapping of values potentially returned by the associated function to the    /// return instructions that might return them. -  DenseMap<Value *, SmallSetVector<ReturnInst *, 4>> ReturnedValues; +  MapVector<Value *, SmallSetVector<ReturnInst *, 4>> ReturnedValues;    /// Mapping to remember the number of returned values for a call site such    /// that we can avoid updates if nothing changed.  | 

