Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 May 2015 15:36:24 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r283769 - in projects/clang-trunk/contrib/llvm: lib/Transforms/IPO patches
Message-ID:  <201505301536.t4UFaOBU058503@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sat May 30 15:36:23 2015
New Revision: 283769
URL: https://svnweb.freebsd.org/changeset/base/283769

Log:
  Drop llvm/clang patches which are no longer necessary.

Added:
  projects/clang-trunk/contrib/llvm/patches/patch-01-clang-vendor-suffix.diff
     - copied unchanged from r283744, projects/clang-trunk/contrib/llvm/patches/patch-02-clang-vendor-suffix.diff
  projects/clang-trunk/contrib/llvm/patches/patch-02-add-CC-aliases.diff
     - copied unchanged from r283744, projects/clang-trunk/contrib/llvm/patches/patch-03-add-CC-aliases.diff
  projects/clang-trunk/contrib/llvm/patches/patch-03-enable-armv6-clrex.diff
     - copied unchanged from r283744, projects/clang-trunk/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff
  projects/clang-trunk/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff
     - copied unchanged from r283744, projects/clang-trunk/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff
Deleted:
  projects/clang-trunk/contrib/llvm/patches/patch-01-freebsd-kprintf.diff
  projects/clang-trunk/contrib/llvm/patches/patch-02-clang-vendor-suffix.diff
  projects/clang-trunk/contrib/llvm/patches/patch-03-add-CC-aliases.diff
  projects/clang-trunk/contrib/llvm/patches/patch-04-add-llvm-gvn-option.diff
  projects/clang-trunk/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff
  projects/clang-trunk/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff
  projects/clang-trunk/contrib/llvm/patches/patch-07-llvm-r227752-boot2-shrink.diff
  projects/clang-trunk/contrib/llvm/patches/patch-08-llvm-r230348-arm-fix-bad-ha.diff
  projects/clang-trunk/contrib/llvm/patches/patch-09-clang-r227115-constantarraytype.diff
Modified:
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  projects/clang-trunk/contrib/llvm/patches/README.TXT

Modified: projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
==============================================================================
--- projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp	Sat May 30 15:13:18 2015	(r283768)
+++ projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp	Sat May 30 15:36:23 2015	(r283769)
@@ -89,10 +89,6 @@ static cl::opt<bool> EnableLoopDistribut
     "enable-loop-distribute", cl::init(false), cl::Hidden,
     cl::desc("Enable the new, experimental LoopDistribution Pass"));
 
-static cl::opt<bool> EnableGVN("enable-gvn",
-  cl::init(true), cl::Hidden,
-  cl::desc("Run the global value numbering pass"));
-
 PassManagerBuilder::PassManagerBuilder() {
     OptLevel = 2;
     SizeLevel = 0;
@@ -265,8 +261,7 @@ void PassManagerBuilder::populateModuleP
   if (OptLevel > 1) {
     if (EnableMLSM)
       MPM.add(createMergedLoadStoreMotionPass()); // Merge ld/st in diamonds
-    if (EnableGVN)
-      MPM.add(createGVNPass(DisableGVNLoadPRE));  // Remove redundancies
+    MPM.add(createGVNPass(DisableGVNLoadPRE));  // Remove redundancies
   }
   MPM.add(createMemCpyOptPass());             // Remove memcpy / form memset
   MPM.add(createSCCPPass());                  // Constant prop with SCCP

Modified: projects/clang-trunk/contrib/llvm/patches/README.TXT
==============================================================================
--- projects/clang-trunk/contrib/llvm/patches/README.TXT	Sat May 30 15:13:18 2015	(r283768)
+++ projects/clang-trunk/contrib/llvm/patches/README.TXT	Sat May 30 15:36:23 2015	(r283769)
@@ -1,11 +1,11 @@
 This is a set of individual patches, which contain all the customizations to
 llvm/clang currently in the FreeBSD base system.  These can be applied in
-alphabetical order to a pristine llvm/clang 3.6.1 source tree, for example by
+alphabetical order to a pristine llvm/clang 3.7.0 source tree, for example by
 doing:
 
-svn co https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361/final llvm-3.6.1 
-svn co https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_361/final llvm-3.6.1/tools/clang
-cd llvm-3.6.1
+svn co https://llvm.org/svn/llvm-project/llvm/trunk llvm-3.7.0 
+svn co https://llvm.org/svn/llvm-project/cfe/trunk llvm-3.7.0/tools/clang
+cd llvm-3.7.0
 for p in /usr/src/contrib/llvm/patches/patch-*.diff; do
 	patch -p0 -f -F0 -E -i $p -s || break
 done

Copied: projects/clang-trunk/contrib/llvm/patches/patch-01-clang-vendor-suffix.diff (from r283744, projects/clang-trunk/contrib/llvm/patches/patch-02-clang-vendor-suffix.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang-trunk/contrib/llvm/patches/patch-01-clang-vendor-suffix.diff	Sat May 30 15:36:23 2015	(r283769, copy of r283744, projects/clang-trunk/contrib/llvm/patches/patch-02-clang-vendor-suffix.diff)
@@ -0,0 +1,22 @@
+This patch adds a FreeBSD-specific suffix to clang's version string.  This is
+usually of the form "(yyyyddmm)", representing the date when the compiler was
+last updated.
+
+Introduced here: http://svnweb.freebsd.org/changeset/base/209107
+
+Index: tools/clang/lib/Basic/Version.cpp
+===================================================================
+--- tools/clang/lib/Basic/Version.cpp
++++ tools/clang/lib/Basic/Version.cpp
+@@ -128,8 +128,10 @@ std::string getClangToolFullVersion(StringRef Tool
+   OS << ToolName << " version " CLANG_VERSION_STRING " "
+      << getClangFullRepositoryVersion();
+ 
++#ifdef CLANG_VENDOR_SUFFIX
++  OS << CLANG_VENDOR_SUFFIX;
++#elif defined(CLANG_VENDOR)
+   // If vendor supplied, include the base LLVM version as well.
+-#ifdef CLANG_VENDOR
+   OS << " (based on " << BACKEND_PACKAGE_STRING << ")";
+ #endif
+ 

Copied: projects/clang-trunk/contrib/llvm/patches/patch-02-add-CC-aliases.diff (from r283744, projects/clang-trunk/contrib/llvm/patches/patch-03-add-CC-aliases.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang-trunk/contrib/llvm/patches/patch-02-add-CC-aliases.diff	Sat May 30 15:36:23 2015	(r283769, copy of r283744, projects/clang-trunk/contrib/llvm/patches/patch-03-add-CC-aliases.diff)
@@ -0,0 +1,23 @@
+This patch adds "CC" and "clang-CC" to the list of program name aliases which
+invoke the C++ compiler.
+
+Introduced here: http://svnweb.freebsd.org/changeset/base/257109
+
+Index: tools/clang/tools/driver/driver.cpp
+===================================================================
+--- tools/clang/tools/driver/driver.cpp
++++ tools/clang/tools/driver/driver.cpp
+@@ -213,11 +213,13 @@ static const DriverSuffix *FindDriverSuffix(String
+       {"clang", nullptr},
+       {"clang++", "--driver-mode=g++"},
+       {"clang-c++", "--driver-mode=g++"},
++      {"clang-CC", "--driver-mode=g++"},
+       {"clang-cc", nullptr},
+       {"clang-cpp", "--driver-mode=cpp"},
+       {"clang-g++", "--driver-mode=g++"},
+       {"clang-gcc", nullptr},
+       {"clang-cl", "--driver-mode=cl"},
++      {"CC", "--driver-mode=g++"},
+       {"cc", nullptr},
+       {"cpp", "--driver-mode=cpp"},
+       {"cl", "--driver-mode=cl"},

Copied: projects/clang-trunk/contrib/llvm/patches/patch-03-enable-armv6-clrex.diff (from r283744, projects/clang-trunk/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang-trunk/contrib/llvm/patches/patch-03-enable-armv6-clrex.diff	Sat May 30 15:36:23 2015	(r283769, copy of r283744, projects/clang-trunk/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff)
@@ -0,0 +1,20 @@
+For now, enable the clrex instruction for armv6, until upstream
+implements this properly.
+
+Submitted by:	rdivacky
+
+Introduced here: http://svnweb.freebsd.org/changeset/base/275362
+
+Index: lib/Target/ARM/ARMInstrInfo.td
+===================================================================
+--- lib/Target/ARM/ARMInstrInfo.td
++++ lib/Target/ARM/ARMInstrInfo.td
+@@ -4640,7 +4640,7 @@ def STLEXD : AIstlex<0b01, (outs GPR:$Rd),
+ 
+ def CLREX : AXI<(outs), (ins), MiscFrm, NoItinerary, "clrex",
+                 [(int_arm_clrex)]>,
+-            Requires<[IsARM, HasV7]>  {
++            Requires<[IsARM, HasV6]>  {
+   let Inst{31-0} = 0b11110101011111111111000000011111;
+ }
+ 

Copied: projects/clang-trunk/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff (from r283744, projects/clang-trunk/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang-trunk/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff	Sat May 30 15:36:23 2015	(r283769, copy of r283744, projects/clang-trunk/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff)
@@ -0,0 +1,33 @@
+Allow clang to be built for mips/mips64 backend types by adding our mips
+triple ids
+
+This only allows testing and does not change the defaults for mips/mips64.
+They still build/use gcc by default.
+
+Differential Revision:	https://reviews.freebsd.org/D1190
+Reviewed by:	dim
+
+Introduced here: http://svnweb.freebsd.org/changeset/base/277423
+
+Index: tools/clang/lib/Driver/Tools.cpp
+===================================================================
+--- tools/clang/lib/Driver/Tools.cpp
++++ tools/clang/lib/Driver/Tools.cpp
+@@ -6652,6 +6652,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c
+     CmdArgs.push_back("elf32ppc_fbsd");
+   }
+ 
++  if (Arg *A = Args.getLastArg(options::OPT_G)) {
++    if (ToolChain.getArch() == llvm::Triple::mips ||
++      ToolChain.getArch() == llvm::Triple::mipsel ||
++      ToolChain.getArch() == llvm::Triple::mips64 ||
++      ToolChain.getArch() == llvm::Triple::mips64el) {
++      StringRef v = A->getValue();
++      CmdArgs.push_back(Args.MakeArgString("-G" + v));
++      A->claim();
++    }
++  }
++
+   if (Output.isFilename()) {
+     CmdArgs.push_back("-o");
+     CmdArgs.push_back(Output.getFilename());



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505301536.t4UFaOBU058503>