From owner-svn-src-all@freebsd.org Sun Jun 21 09:24:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 817ED34828A; Sun, 21 Jun 2020 09:24:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49qRvh2r5Pz4dLH; Sun, 21 Jun 2020 09:24:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5C9F81ADE7; Sun, 21 Jun 2020 09:24:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05L9OmpI005687; Sun, 21 Jun 2020 09:24:48 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05L9OmMh005684; Sun, 21 Jun 2020 09:24:48 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202006210924.05L9OmMh005684@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 21 Jun 2020 09:24:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: 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 X-SVN-Group: stable-12 X-SVN-Commit-Author: dim X-SVN-Commit-Paths: 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 X-SVN-Commit-Revision: 362461 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jun 2020 09:24:48 -0000 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 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