From owner-svn-src-vendor@freebsd.org Mon Oct 12 21:31:14 2020 Return-Path: Delivered-To: svn-src-vendor@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 F3D85428C7E; Mon, 12 Oct 2020 21:31:13 +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 4C9Bgj6F76z3S79; Mon, 12 Oct 2020 21:31:13 +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 BA62312AA1; Mon, 12 Oct 2020 21:31:13 +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 09CLVD8F071581; Mon, 12 Oct 2020 21:31:13 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 09CLVDMu071578; Mon, 12 Oct 2020 21:31:13 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202010122131.09CLVDMu071578@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 12 Oct 2020 21:31:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r366653 - in vendor/llvm-project/release-11.x: clang/include/clang/Driver clang/lib/Driver/ToolChains llvm/lib/CodeGen llvm/lib/CodeGen/SelectionDAG X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm-project/release-11.x: clang/include/clang/Driver clang/lib/Driver/ToolChains llvm/lib/CodeGen llvm/lib/CodeGen/SelectionDAG X-SVN-Commit-Revision: 366653 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2020 21:31:14 -0000 Author: dim Date: Mon Oct 12 21:31:12 2020 New Revision: 366653 URL: https://svnweb.freebsd.org/changeset/base/366653 Log: Vendor import of llvm-project branch release/11.x llvmorg-11.0.0-0-g176249bd673 (aka 11.0.0 release). Modified: vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/CodeGen/TailDuplicator.cpp Modified: vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td ============================================================================== --- vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td Mon Oct 12 18:02:51 2020 (r366652) +++ vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td Mon Oct 12 21:31:12 2020 (r366653) @@ -1435,11 +1435,11 @@ def fno_pch_validate_input_files_content: Group, Flags<[DriverOption]>; def fpch_instantiate_templates: Flag <["-"], "fpch-instantiate-templates">, - Group, Flags<[CC1Option]>, + Group, Flags<[CC1Option, CoreOption]>, HelpText<"Instantiate templates already while building a PCH">; def fno_pch_instantiate_templates: Flag <["-"], "fno-pch-instantiate-templates">, - Group, Flags<[CC1Option]>; + Group, Flags<[CC1Option, CoreOption]>; defm pch_codegen: OptInFFlag<"pch-codegen", "Generate ", "Do not generate ", "code for uses of this PCH that assumes an explicit object file will be built for the PCH">; defm pch_debuginfo: OptInFFlag<"pch-debuginfo", "Generate ", "Do not generate ", Modified: vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp Mon Oct 12 18:02:51 2020 (r366652) +++ vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp Mon Oct 12 21:31:12 2020 (r366653) @@ -1197,7 +1197,11 @@ void Clang::AddPreprocessingOptions(Compilation &C, co if (YcArg && JA.getKind() >= Action::PrecompileJobClass && JA.getKind() <= Action::AssembleJobClass) { CmdArgs.push_back(Args.MakeArgString("-building-pch-with-obj")); - CmdArgs.push_back(Args.MakeArgString("-fpch-instantiate-templates")); + // -fpch-instantiate-templates is the default when creating + // precomp using /Yc + if (Args.hasFlag(options::OPT_fpch_instantiate_templates, + options::OPT_fno_pch_instantiate_templates, true)) + CmdArgs.push_back(Args.MakeArgString("-fpch-instantiate-templates")); } if (YcArg || YuArg) { StringRef ThroughHeader = YcArg ? YcArg->getValue() : YuArg->getValue(); Modified: vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp Mon Oct 12 18:02:51 2020 (r366652) +++ vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp Mon Oct 12 21:31:12 2020 (r366653) @@ -5751,10 +5751,8 @@ SDValue TargetLowering::getNegatedExpression(SDValue O // If we already have the use of the negated floating constant, it is free // to negate it even it has multiple uses. - if (!Op.hasOneUse() && CFP.use_empty()) { - RemoveDeadNode(CFP); + if (!Op.hasOneUse() && CFP.use_empty()) break; - } Cost = NegatibleCost::Neutral; return CFP; } Modified: vendor/llvm-project/release-11.x/llvm/lib/CodeGen/TailDuplicator.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/CodeGen/TailDuplicator.cpp Mon Oct 12 18:02:51 2020 (r366652) +++ vendor/llvm-project/release-11.x/llvm/lib/CodeGen/TailDuplicator.cpp Mon Oct 12 21:31:12 2020 (r366653) @@ -627,6 +627,14 @@ bool TailDuplicator::shouldTailDuplicate(bool IsSimple if (PreRegAlloc && MI.isCall()) return false; + // TailDuplicator::appendCopies will erroneously place COPYs after + // INLINEASM_BR instructions after 4b0aa5724fea, which demonstrates the same + // bug that was fixed in f7a53d82c090. + // FIXME: Use findPHICopyInsertPoint() to find the correct insertion point + // for the COPY when replacing PHIs. + if (MI.getOpcode() == TargetOpcode::INLINEASM_BR) + return false; + if (MI.isBundle()) InstrCount += MI.getBundleSize(); else if (!MI.isPHI() && !MI.isMetaInstruction())