From d4ed2a8636a1662cbf1e0f077083cf780344263e Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Fri, 16 Apr 2010 18:16:08 +0000 Subject: [PATCH] Use a ValueMap not a std::map for the reason indicated in the comment. This was causing nondeterministic changes in inlining decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101503 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/InlineCost.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/llvm/Analysis/InlineCost.h b/include/llvm/Analysis/InlineCost.h index 066b9439689..600892db7eb 100644 --- a/include/llvm/Analysis/InlineCost.h +++ b/include/llvm/Analysis/InlineCost.h @@ -19,6 +19,7 @@ #include #include #include "llvm/ADT/DenseMap.h" +#include "llvm/ADT/ValueMap.h" namespace llvm { @@ -165,7 +166,9 @@ namespace llvm { void analyzeFunction(Function *F); }; - std::map CachedFunctionInfo; + // The Function* for a function can be changed (by ArgumentPromotion); + // the ValueMap will update itself when this happens. + ValueMap CachedFunctionInfo; public: