svn commit: r362461 - in stable: 11/contrib/llvm-project/llvm/lib/Analysis 11/lib/clang/include/clang/Config 12/contrib/llvm-project/llvm/lib/Analysis 12/lib/clang/include/clang/Config

Dimitry Andric dim at FreeBSD.org
Sun Jun 21 09:24:48 UTC 2020


Author: dim
Date: Sun Jun 21 09:24:47 2020
New Revision: 362461
URL: https://svnweb.freebsd.org/changeset/base/362461

Log:
  MFC r362341:
  
  Merge commit 0cecafd647cc from llvm git (by Alina Sbirlea):
  
    [BasicAA] Make BasicAA a cfg pass.
  
    Summary:
    Part of the changes in D44564 made BasicAA not CFG only due to it
    using PhiAnalysisValues which may have values invalidated. Subsequent
    patches (rL340613) appear to have addressed this limitation.
  
    BasicAA should not be invalidated by non-CFG-altering passes. A
    concrete example is MemCpyOpt which preserves CFG, but we are testing
    it invalidates BasicAA.
  
    llvm-dev RFC:
    https://groups.google.com/forum/#!topic/llvm-dev/eSPXuWnNfzM
  
    Reviewers: john.brawn, sebpop, hfinkel, brzycki
  
    Subscribers: hiraditya, llvm-commits
  
    Tags: #llvm
  
    Differential Revision: https://reviews.llvm.org/D74353
  
  This fixes an issue with clang's -fintegrated-cc1 feature, which could
  make it output slightly different assembly code, depending on the way it
  was invoked.
  
  In r361755 we attempted to work around it by disabling the integrated
  cc1 stage, but it did not solve the root cause for all situations.
  
  Extensive testing and bisecting showed that the above change finally
  makes the output deterministic, even if -fintegrated-cc1 is on.
  
  Reported by:	Fabian Keil <fk at fabiankeil.de>
  PR:		246630

Modified:
  stable/12/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp
  stable/12/lib/clang/include/clang/Config/config.h
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp
  stable/11/lib/clang/include/clang/Config/config.h
Directory Properties:
  stable/11/   (props changed)
  stable/11/contrib/llvm-project/llvm/   (props changed)

Modified: stable/12/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp
==============================================================================
--- stable/12/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp	Sun Jun 21 08:51:24 2020	(r362460)
+++ stable/12/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp	Sun Jun 21 09:24:47 2020	(r362461)
@@ -2059,12 +2059,13 @@ char BasicAAWrapperPass::ID = 0;
 void BasicAAWrapperPass::anchor() {}
 
 INITIALIZE_PASS_BEGIN(BasicAAWrapperPass, "basicaa",
-                      "Basic Alias Analysis (stateless AA impl)", false, true)
+                      "Basic Alias Analysis (stateless AA impl)", true, true)
 INITIALIZE_PASS_DEPENDENCY(AssumptionCacheTracker)
 INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
 INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfoWrapperPass)
+INITIALIZE_PASS_DEPENDENCY(PhiValuesWrapperPass)
 INITIALIZE_PASS_END(BasicAAWrapperPass, "basicaa",
-                    "Basic Alias Analysis (stateless AA impl)", false, true)
+                    "Basic Alias Analysis (stateless AA impl)", true, true)
 
 FunctionPass *llvm::createBasicAAWrapperPass() {
   return new BasicAAWrapperPass();

Modified: stable/12/lib/clang/include/clang/Config/config.h
==============================================================================
--- stable/12/lib/clang/include/clang/Config/config.h	Sun Jun 21 08:51:24 2020	(r362460)
+++ stable/12/lib/clang/include/clang/Config/config.h	Sun Jun 21 09:24:47 2020	(r362461)
@@ -82,6 +82,6 @@
 /* #undef CLANG_ENABLE_STATIC_ANALYZER */
 
 /* Spawn a new process clang.exe for the CC1 tool invocation, when necessary */
-#define CLANG_SPAWN_CC1 1
+#define CLANG_SPAWN_CC1 0
 
 #endif


More information about the svn-src-stable mailing list