UPDATE: LLVM 3.4

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

UPDATE: LLVM 3.4

Brad Smith-14
Here is an update to LLVM 3.4.

Any additional testing welcome.

OK?


Index: devel/llvm/Makefile
===================================================================
RCS file: /home/cvs/ports/devel/llvm/Makefile,v
retrieving revision 1.70
diff -u -p -u -p -r1.70 Makefile
--- devel/llvm/Makefile 16 Dec 2013 20:34:46 -0000 1.70
+++ devel/llvm/Makefile 6 Jan 2014 06:07:48 -0000
@@ -8,14 +8,13 @@ DPB_PROPERTIES = parallel
 
 COMMENT = modular, fast C/C++/ObjC compiler, static analyzer and tools
 
-LLVM_V = 3.3
-REVISION = 3
+LLVM_V = 3.4
 DISTNAME = llvm-${LLVM_V}.src
 PKGNAME = llvm-${LLVM_V}
 CATEGORIES = devel
 MASTER_SITES = http://llvm.org/releases/${LLVM_V}/
 
-DISTFILES = ${DISTNAME}${EXTRACT_SUFX} cfe-${LLVM_V}.src${EXTRACT_SUFX}
+DISTFILES = ${DISTNAME}${EXTRACT_SUFX} clang-${LLVM_V}.src${EXTRACT_SUFX}
 
 SHARED_LIBS = clang 0.0 # 3.2
 
@@ -25,9 +24,9 @@ HOMEPAGE = http://www.llvm.org/
 # BSD
 PERMIT_PACKAGE_CDROM = Yes
 
-WANTLIB = c m pthread stdc++ z
+WANTLIB = c curses m pthread stdc++ z
 
-WRKDIST = ${WRKDIR}/llvm-${LLVM_V}.src
+WRKDIST = ${WRKDIR}/llvm-${LLVM_V}
 
 MODULES = devel/cmake \
  lang/python
@@ -40,8 +39,7 @@ SEPARATE_BUILD = Yes
 CONFIGURE_ARGS = -DLLVM_ENABLE_FFI:Bool=False \
  -DLLVM_REQUIRES_RTTI:Bool=True \
  -DCMAKE_BUILD_TYPE:String=Release \
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2:Bool=True \
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD:String=R600
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2:Bool=True
 
 # Workaround relocation overflow
 .if ${MACHINE_ARCH} == "powerpc"
@@ -54,7 +52,7 @@ CLANG_INCLUDE_PATH = lib/clang/${LLVM_V}
 SUBST_VARS += CLANG_INCLUDE_PATH LLVM_V
 
 post-extract:
- @mv ${WRKDIR}/cfe-${LLVM_V}.src ${WRKDIST}/tools/clang
+ @mv ${WRKDIR}/clang-${LLVM_V} ${WRKDIST}/tools/clang
 
 pre-configure:
  @${SUBST_CMD} ${WRKSRC}/tools/clang/tools/scan-build/scan-build
Index: devel/llvm/distinfo
===================================================================
RCS file: /home/cvs/ports/devel/llvm/distinfo,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 distinfo
--- devel/llvm/distinfo 21 Jun 2013 22:09:12 -0000 1.12
+++ devel/llvm/distinfo 6 Jan 2014 05:41:14 -0000
@@ -1,4 +1,4 @@
-SHA256 (cfe-3.3.src.tar.gz) = sbVd5Ks6V9PgMxqD4ChGEBkcd9kk40RkmNkRPQjfuZY=
-SHA256 (llvm-3.3.src.tar.gz) = aHZrHnDQWiXi9QLpl6PLOTcYejKWWVz24Jd9XNZydXg=
-SIZE (cfe-3.3.src.tar.gz) = 9425539
-SIZE (llvm-3.3.src.tar.gz) = 13602421
+SHA256 (clang-3.4.src.tar.gz) = Iql4DbO4Wn8uueoff24A2gJJ49EoUejeoPYvF4MkKxs=
+SHA256 (llvm-3.4.src.tar.gz) = JaVhLWksSEgbmzl+K1X0hw5EeWbWbJbWVSQXAtRKJig=
+SIZE (clang-3.4.src.tar.gz) = 10619607
+SIZE (llvm-3.4.src.tar.gz) = 15920544
Index: devel/llvm/patches/patch-CMakeLists_txt
===================================================================
RCS file: /home/cvs/ports/devel/llvm/patches/patch-CMakeLists_txt,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-CMakeLists_txt
--- devel/llvm/patches/patch-CMakeLists_txt 21 Jun 2013 22:09:12 -0000 1.3
+++ devel/llvm/patches/patch-CMakeLists_txt 18 Dec 2013 02:04:40 -0000
@@ -2,14 +2,14 @@ $OpenBSD: patch-CMakeLists_txt,v 1.3 201
 
 Don't confuse scripts who want the version with appended 'svn' goo.
 
---- CMakeLists.txt.orig Mon May  6 12:23:07 2013
-+++ CMakeLists.txt Tue Jun 18 23:00:44 2013
-@@ -13,7 +13,7 @@ set(CMAKE_MODULE_PATH
- set(LLVM_VERSION_MAJOR 3)
- set(LLVM_VERSION_MINOR 3)
+--- CMakeLists.txt.orig Mon Nov 25 13:34:26 2013
++++ CMakeLists.txt Wed Dec  4 03:41:41 2013
+@@ -14,7 +14,7 @@ set(LLVM_VERSION_MAJOR 3)
+ set(LLVM_VERSION_MINOR 4)
 
--set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn")
-+set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}")
+ if (NOT PACKAGE_VERSION)
+-  set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn")
++  set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}")
+ endif()
 
- option(LLVM_USE_FOLDERS "Enable solution folders in Visual Studio. Disable for Express versions." ON)
- if ( LLVM_USE_FOLDERS )
+ option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
Index: devel/llvm/patches/patch-lib_CodeGen_StackProtector_cpp
===================================================================
RCS file: devel/llvm/patches/patch-lib_CodeGen_StackProtector_cpp
diff -N devel/llvm/patches/patch-lib_CodeGen_StackProtector_cpp
--- devel/llvm/patches/patch-lib_CodeGen_StackProtector_cpp 21 Jun 2013 22:09:12 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,91 +0,0 @@
-$OpenBSD: patch-lib_CodeGen_StackProtector_cpp,v 1.3 2013/06/21 22:09:12 brad Exp $
---- lib/CodeGen/StackProtector.cpp.orig Mon Mar  4 20:00:45 2013
-+++ lib/CodeGen/StackProtector.cpp Wed Jun  5 15:41:29 2013
-@@ -25,6 +25,8 @@
- #include "llvm/IR/DataLayout.h"
- #include "llvm/IR/DerivedTypes.h"
- #include "llvm/IR/Function.h"
-+#include "llvm/IR/GlobalValue.h"
-+#include "llvm/IR/GlobalVariable.h"
- #include "llvm/IR/Instructions.h"
- #include "llvm/IR/Intrinsics.h"
- #include "llvm/IR/Module.h"
-@@ -41,7 +43,8 @@ namespace {
-   class StackProtector : public FunctionPass {
-     /// TLI - Keep a pointer of a TargetLowering to consult for determining
-     /// target type sizes.
--    const TargetLoweringBase *TLI;
-+    const TargetLoweringBase *const TLI;
-+    const Triple Trip;
-
-     Function *F;
-     Module *M;
-@@ -84,7 +87,8 @@ namespace {
-       initializeStackProtectorPass(*PassRegistry::getPassRegistry());
-     }
-     StackProtector(const TargetLoweringBase *tli)
--      : FunctionPass(ID), TLI(tli) {
-+        : FunctionPass(ID), TLI(tli),
-+          Trip(tli->getTargetMachine().getTargetTriple()) {
-       initializeStackProtectorPass(*PassRegistry::getPassRegistry());
-     }
-
-@@ -128,8 +132,6 @@ bool StackProtector::ContainsProtectableArray(Type *Ty
-       return true;
-     const TargetMachine &TM = TLI->getTargetMachine();
-     if (!AT->getElementType()->isIntegerTy(8)) {
--      Triple Trip(TM.getTargetTriple());
--
-       // If we're on a non-Darwin platform or we're inside of a structure, don't
-       // add stack protectors unless the array is a character array.
-       if (InStruct || !Trip.isOSDarwin())
-@@ -283,6 +285,10 @@ bool StackProtector::InsertStackProtectors() {
-
-         StackGuardVar = ConstantExpr::getIntToPtr(OffsetVal,
-                                       PointerType::get(PtrTy, AddressSpace));
-+      } else if (Trip.getOS() == llvm::Triple::OpenBSD) {
-+        StackGuardVar = M->getOrInsertGlobal("__guard_local", PtrTy);
-+        cast<GlobalValue>(StackGuardVar)
-+            ->setVisibility(GlobalValue::HiddenVisibility);
-       } else {
-         StackGuardVar = M->getOrInsertGlobal("__stack_chk_guard", PtrTy);
-       }
-@@ -359,12 +365,31 @@ bool StackProtector::InsertStackProtectors() {
- /// CreateFailBB - Create a basic block to jump to when the stack protector
- /// check fails.
- BasicBlock *StackProtector::CreateFailBB() {
--  BasicBlock *FailBB = BasicBlock::Create(F->getContext(),
--                                          "CallStackCheckFailBlk", F);
--  Constant *StackChkFail =
--    M->getOrInsertFunction("__stack_chk_fail",
--                           Type::getVoidTy(F->getContext()), NULL);
--  CallInst::Create(StackChkFail, "", FailBB);
--  new UnreachableInst(F->getContext(), FailBB);
-+  LLVMContext &Context = F->getContext();
-+  BasicBlock *FailBB = BasicBlock::Create(Context, "CallStackCheckFailBlk", F);
-+  if (Trip.getOS() == llvm::Triple::OpenBSD) {
-+    Constant *StackChkFail = M->getOrInsertFunction(
-+        "__stack_smash_handler", Type::getVoidTy(Context),
-+        Type::getInt8PtrTy(Context), NULL);
-+
-+    Constant *NameStr = ConstantDataArray::getString(Context, F->getName());
-+    Constant *FuncName =
-+        new GlobalVariable(*M, NameStr->getType(), true,
-+                           GlobalVariable::PrivateLinkage, NameStr, "SSH");
-+
-+    SmallVector<Constant *, 2> IdxList;
-+    IdxList.push_back(ConstantInt::get(Type::getInt8Ty(Context), 0));
-+    IdxList.push_back(ConstantInt::get(Type::getInt8Ty(Context), 0));
-+
-+    SmallVector<Value *, 1> Args;
-+    Args.push_back(ConstantExpr::getGetElementPtr(FuncName, IdxList));
-+
-+    CallInst::Create(StackChkFail, Args, "", FailBB);
-+  } else {
-+    Constant *StackChkFail = M->getOrInsertFunction(
-+        "__stack_chk_fail", Type::getVoidTy(Context), NULL);
-+    CallInst::Create(StackChkFail, "", FailBB);
-+  }
-+  new UnreachableInst(Context, FailBB);
-   return FailBB;
- }
Index: devel/llvm/patches/patch-lib_Target_AArch64_Utils_CMakeLists_txt
===================================================================
RCS file: devel/llvm/patches/patch-lib_Target_AArch64_Utils_CMakeLists_txt
diff -N devel/llvm/patches/patch-lib_Target_AArch64_Utils_CMakeLists_txt
--- devel/llvm/patches/patch-lib_Target_AArch64_Utils_CMakeLists_txt 21 Jun 2013 22:09:12 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-$OpenBSD: patch-lib_Target_AArch64_Utils_CMakeLists_txt,v 1.1 2013/06/21 22:09:12 brad Exp $
---- lib/Target/AArch64/Utils/CMakeLists.txt.orig Sun Jun  9 16:45:50 2013
-+++ lib/Target/AArch64/Utils/CMakeLists.txt Sun Jun  9 16:46:13 2013
-@@ -3,3 +3,5 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${
- add_llvm_library(LLVMAArch64Utils
-   AArch64BaseInfo.cpp
-   )
-+
-+add_dependencies(LLVMAArch64Utils AArch64CommonTableGen)
Index: devel/llvm/patches/patch-lib_Target_R600_SIISelLowering_cpp
===================================================================
RCS file: devel/llvm/patches/patch-lib_Target_R600_SIISelLowering_cpp
diff -N devel/llvm/patches/patch-lib_Target_R600_SIISelLowering_cpp
--- devel/llvm/patches/patch-lib_Target_R600_SIISelLowering_cpp 6 Aug 2013 23:33:44 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-$OpenBSD: patch-lib_Target_R600_SIISelLowering_cpp,v 1.1 2013/08/06 23:33:44 jsg Exp $
-
-llvm svn rev 182446
-
---- lib/Target/R600/SIISelLowering.cpp.orig Tue May  7 09:02:15 2013
-+++ lib/Target/R600/SIISelLowering.cpp Sat Jul 20 00:30:00 2013
-@@ -338,7 +338,7 @@ SDValue SITargetLowering::LowerBRCOND(SDValue BRCOND,
-   return Chain;
- }
-
--#define RSRC_DATA_FORMAT 0xf00000000000
-+const uint64_t RSRC_DATA_FORMAT = 0xf00000000000LL;
-
- SDValue SITargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
-   StoreSDNode *StoreNode = cast<StoreSDNode>(Op);
-@@ -351,9 +351,9 @@ SDValue SITargetLowering::LowerSTORE(SDValue Op, Selec
-     return SDValue();
-   }
-
--  SDValue SrcSrc = DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i128,
--                               DAG.getConstant(0, MVT::i64),
--       DAG.getConstant(RSRC_DATA_FORMAT, MVT::i64));
-+  SDValue Zero = DAG.getConstant(0, MVT::i64);
-+  SDValue Format = DAG.getConstant(RSRC_DATA_FORMAT, MVT::i64);
-+  SDValue SrcSrc = DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i128, Zero, Format);
-
-   SDValue Ops[2];
-   Ops[0] = DAG.getNode(AMDGPUISD::BUFFER_STORE, DL, MVT::Other, Chain,
Index: devel/llvm/patches/patch-tools_clang_include_clang_Driver_Options_td
===================================================================
RCS file: /home/cvs/ports/devel/llvm/patches/patch-tools_clang_include_clang_Driver_Options_td,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-tools_clang_include_clang_Driver_Options_td
--- devel/llvm/patches/patch-tools_clang_include_clang_Driver_Options_td 21 Jun 2013 22:09:12 -0000 1.1
+++ devel/llvm/patches/patch-tools_clang_include_clang_Driver_Options_td 18 Dec 2013 02:04:40 -0000
@@ -1,11 +1,12 @@
 $OpenBSD: patch-tools_clang_include_clang_Driver_Options_td,v 1.1 2013/06/21 22:09:12 brad Exp $
---- tools/clang/include/clang/Driver/Options.td.orig Tue Jun  4 23:41:19 2013
-+++ tools/clang/include/clang/Driver/Options.td Tue Jun  4 23:41:50 2013
-@@ -1004,6 +1004,7 @@ def nodefaultlibs : Flag<["-"], "nodefaultlibs">;
- def nofixprebinding : Flag<["-"], "nofixprebinding">;
- def nolibc : Flag<["-"], "nolibc">;
- def nomultidefs : Flag<["-"], "nomultidefs">;
-+def nopie : Flag<["-"], "nopie">;
- def noprebind : Flag<["-"], "noprebind">;
- def noseglinkedit : Flag<["-"], "noseglinkedit">;
- def nostartfiles : Flag<["-"], "nostartfiles">;
+--- tools/clang/include/clang/Driver/Options.td.orig Fri Dec 13 18:44:27 2013
++++ tools/clang/include/clang/Driver/Options.td Fri Dec 13 18:45:32 2013
+@@ -242,7 +242,7 @@ def Qn : Flag<["-"], "Qn">;
+ def Qunused_arguments : Flag<["-"], "Qunused-arguments">, Flags<[DriverOption, CoreOption]>,
+   HelpText<"Don't emit warning for unused driver arguments">;
+ def Q : Flag<["-"], "Q">;
+-def R : Flag<["-"], "R">;
++def R : JoinedOrSeparate<["-"], "R">, Flags<[RenderJoined]>;
+ def S : Flag<["-"], "S">, Flags<[DriverOption,CC1Option]>, Group<Action_Group>,
+   HelpText<"Only run preprocess and compilation steps">;
+ def Tbss : JoinedOrSeparate<["-"], "Tbss">, Group<T_Group>;
Index: devel/llvm/patches/patch-tools_clang_lib_Basic_Targets_cpp
===================================================================
RCS file: /home/cvs/ports/devel/llvm/patches/patch-tools_clang_lib_Basic_Targets_cpp,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 patch-tools_clang_lib_Basic_Targets_cpp
--- devel/llvm/patches/patch-tools_clang_lib_Basic_Targets_cpp 21 Jun 2013 22:09:12 -0000 1.9
+++ devel/llvm/patches/patch-tools_clang_lib_Basic_Targets_cpp 18 Dec 2013 02:04:40 -0000
@@ -1,23 +1,21 @@
 $OpenBSD: patch-tools_clang_lib_Basic_Targets_cpp,v 1.9 2013/06/21 22:09:12 brad Exp $
---- tools/clang/lib/Basic/Targets.cpp.orig Wed May 15 17:07:09 2013
-+++ tools/clang/lib/Basic/Targets.cpp Sun Jun  9 18:39:31 2013
-@@ -870,16 +870,19 @@ const Builtin::Info PPCTargetInfo::BuiltinInfo[] = {
+--- tools/clang/lib/Basic/Targets.cpp.orig Tue Dec  3 00:11:19 2013
++++ tools/clang/lib/Basic/Targets.cpp Wed Dec  4 03:38:59 2013
+@@ -918,7 +918,6 @@ bool PPCTargetInfo::handleTargetFeatures(std::vector<s
  void PPCTargetInfo::getTargetDefines(const LangOptions &Opts,
                                       MacroBuilder &Builder) const {
    // Target identification.
 -  Builder.defineMacro("__ppc__");
-+  Builder.defineMacro("__PPC__");
+   Builder.defineMacro("__PPC__");
    Builder.defineMacro("_ARCH_PPC");
    Builder.defineMacro("__powerpc__");
-   Builder.defineMacro("__POWERPC__");
-   if (PointerWidth == 64) {
-+    Builder.defineMacro("__PPC64__");
-     Builder.defineMacro("_ARCH_PPC64");
+@@ -928,6 +927,10 @@ void PPCTargetInfo::getTargetDefines(const LangOptions
      Builder.defineMacro("__powerpc64__");
      Builder.defineMacro("__ppc64__");
-   } else {
+     Builder.defineMacro("__PPC64__");
++  } else {
 +    Builder.defineMacro("__powerpc");
-     Builder.defineMacro("__ppc__");
++    Builder.defineMacro("__ppc__");
 +    Builder.defineMacro("__PPC");
    }
 
Index: devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_h
===================================================================
RCS file: /home/cvs/ports/devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_h,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 patch-tools_clang_lib_Driver_ToolChains_h
--- devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_h 21 Jun 2013 22:09:12 -0000 1.5
+++ devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_h 18 Dec 2013 02:05:11 -0000
@@ -1,15 +1,16 @@
 $OpenBSD: patch-tools_clang_lib_Driver_ToolChains_h,v 1.5 2013/06/21 22:09:12 brad Exp $
---- tools/clang/lib/Driver/ToolChains.h.orig Mon Apr 29 21:21:43 2013
-+++ tools/clang/lib/Driver/ToolChains.h Tue Jun  4 23:59:36 2013
-@@ -427,6 +427,11 @@ class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic
+--- tools/clang/lib/Driver/ToolChains.h.orig Tue Dec 17 20:40:08 2013
++++ tools/clang/lib/Driver/ToolChains.h Tue Dec 17 20:42:55 2013
+@@ -471,6 +471,12 @@ class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic
+     return 1;
+   }
 
-   virtual bool IsMathErrnoDefault() const { return false; }
-   virtual bool IsObjCNonFragileABIDefault() const { return true; }
-+  virtual bool isPIEDefault() const { return true; }
-+
-+  virtual unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const {
-+    return 1;
++  virtual bool IsIntegratedAssemblerDefault() const {
++    if (getTriple().getArch() == llvm::Triple::ppc)
++      return true;
++    return Generic_ELF::IsIntegratedAssemblerDefault();
 +  }
-
++
  protected:
    virtual Tool *buildAssembler() const;
+   virtual Tool *buildLinker() const;
Index: devel/llvm/patches/patch-tools_clang_lib_Driver_Tools_cpp
===================================================================
RCS file: /home/cvs/ports/devel/llvm/patches/patch-tools_clang_lib_Driver_Tools_cpp,v
retrieving revision 1.17
diff -u -p -u -p -r1.17 patch-tools_clang_lib_Driver_Tools_cpp
--- devel/llvm/patches/patch-tools_clang_lib_Driver_Tools_cpp 2 Dec 2013 22:14:29 -0000 1.17
+++ devel/llvm/patches/patch-tools_clang_lib_Driver_Tools_cpp 18 Dec 2013 02:04:40 -0000
@@ -1,66 +1,11 @@
 $OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.17 2013/12/02 22:14:29 brad Exp $
---- tools/clang/lib/Driver/Tools.cpp.orig Thu May 30 14:01:30 2013
-+++ tools/clang/lib/Driver/Tools.cpp Wed Nov 27 23:09:47 2013
-@@ -5071,6 +5071,40 @@ void openbsd::Assemble::ConstructJob(Compilation &C, c
-                                      const char *LinkingOutput) const {
-   ArgStringList CmdArgs;
+--- tools/clang/lib/Driver/Tools.cpp.orig Sun Dec  8 21:59:27 2013
++++ tools/clang/lib/Driver/Tools.cpp Tue Dec 17 07:17:38 2013
+@@ -5532,6 +5532,7 @@ void openbsd::Link::ConstructJob(Compilation &C, const
+                                        "/4.2.1"));
 
-+  // When building 32-bit code on OpenBSD/amd64, we have to explicitly
-+  // instruct as in the base system to assemble 32-bit code.
-+  if (getToolChain().getArch() == llvm::Triple::x86)
-+    CmdArgs.push_back("--32");
-+  else if (getToolChain().getArch() == llvm::Triple::ppc) {
-+    CmdArgs.push_back("-mppc");
-+    CmdArgs.push_back("-many");
-+  } else if (getToolChain().getArch() == llvm::Triple::mips64 ||
-+             getToolChain().getArch() == llvm::Triple::mips64el) {
-+    StringRef CPUName;
-+    StringRef ABIName;
-+    getMipsCPUAndABI(Args, getToolChain(), CPUName, ABIName);
-+
-+    CmdArgs.push_back("-mabi");
-+    CmdArgs.push_back(getGnuCompatibleMipsABIName(ABIName).data());
-+
-+    if (getToolChain().getArch() == llvm::Triple::mips64)
-+      CmdArgs.push_back("-EB");
-+    else
-+      CmdArgs.push_back("-EL");
-+
-+    Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC,
-+                                      options::OPT_fpic, options::OPT_fno_pic,
-+                                      options::OPT_fPIE, options::OPT_fno_PIE,
-+                                      options::OPT_fpie, options::OPT_fno_pie);
-+    if (LastPICArg &&
-+        (LastPICArg->getOption().matches(options::OPT_fPIC) ||
-+         LastPICArg->getOption().matches(options::OPT_fpic) ||
-+         LastPICArg->getOption().matches(options::OPT_fPIE) ||
-+         LastPICArg->getOption().matches(options::OPT_fpie))) {
-+      CmdArgs.push_back("-KPIC");
-+    }
-+  }
-+
-   Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
-                        options::OPT_Xassembler);
-
-@@ -5104,6 +5138,11 @@ void openbsd::Link::ConstructJob(Compilation &C, const
-   // handled somewhere else.
-   Args.ClaimAllArgs(options::OPT_w);
-
-+  if (getToolChain().getArch() == llvm::Triple::mips64)
-+    CmdArgs.push_back("-EB");
-+  else if (getToolChain().getArch() == llvm::Triple::mips64el)
-+    CmdArgs.push_back("-EL");
-+
-   if ((!Args.hasArg(options::OPT_nostdlib)) &&
-       (!Args.hasArg(options::OPT_shared))) {
-     CmdArgs.push_back("-e");
-@@ -5124,6 +5163,9 @@ void openbsd::Link::ConstructJob(Compilation &C, const
-       CmdArgs.push_back("/usr/libexec/ld.so");
-     }
-   }
-+
-+  if (Args.hasArg(options::OPT_nopie))
-+    CmdArgs.push_back("-nopie");
-
-   if (Output.isFilename()) {
-     CmdArgs.push_back("-o");
+   Args.AddAllArgs(CmdArgs, options::OPT_L);
++  Args.AddAllArgs(CmdArgs, options::OPT_R);
+   Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
+   Args.AddAllArgs(CmdArgs, options::OPT_e);
+   Args.AddAllArgs(CmdArgs, options::OPT_s);
Index: devel/llvm/patches/patch-tools_clang_tools_scan-build_scan-build
===================================================================
RCS file: /home/cvs/ports/devel/llvm/patches/patch-tools_clang_tools_scan-build_scan-build,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 patch-tools_clang_tools_scan-build_scan-build
--- devel/llvm/patches/patch-tools_clang_tools_scan-build_scan-build 21 Jun 2013 22:09:12 -0000 1.5
+++ devel/llvm/patches/patch-tools_clang_tools_scan-build_scan-build 18 Dec 2013 02:04:40 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-tools_clang_tools_scan-build_scan-build,v 1.5 2013/06/21 22:09:12 brad Exp $
---- tools/clang/tools/scan-build/scan-build.orig Wed May  1 20:52:46 2013
-+++ tools/clang/tools/scan-build/scan-build Wed May  8 06:31:00 2013
-@@ -410,7 +410,7 @@ sub CopyFiles {
+--- tools/clang/tools/scan-build/scan-build.orig Mon Sep 16 12:17:18 2013
++++ tools/clang/tools/scan-build/scan-build Thu Nov 21 12:44:35 2013
+@@ -419,7 +419,7 @@ sub CopyFiles {
 
    my $Dir = shift;
 
@@ -10,7 +10,7 @@ $OpenBSD: patch-tools_clang_tools_scan-b
   
    DieDiag("Cannot find 'sorttable.js'.\n")
      if (! -r $JS);  
-@@ -420,7 +420,7 @@ sub CopyFiles {
+@@ -429,7 +429,7 @@ sub CopyFiles {
    DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
      if (! -r "$Dir/sorttable.js");
     
Index: devel/llvm/pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/devel/llvm/pkg/PLIST,v
retrieving revision 1.20
diff -u -p -u -p -r1.20 PLIST
--- devel/llvm/pkg/PLIST 7 Dec 2013 10:30:39 -0000 1.20
+++ devel/llvm/pkg/PLIST 7 Dec 2013 10:32:55 -0000
@@ -6,13 +6,16 @@ bin/clang
 bin/clang++
 @bin bin/clang-${LLVM_V}
 @bin bin/clang-check
+bin/clang-cl
 @bin bin/clang-format
-@bin bin/clang-tblgen
+bin/git-clang-format
 @bin bin/llc
 @bin bin/lli
+@bin bin/lli-child-target
 @bin bin/llvm-ar
 @bin bin/llvm-as
 @bin bin/llvm-bcanalyzer
+@bin bin/llvm-c-test
 @bin bin/llvm-config
 @bin bin/llvm-cov
 @bin bin/llvm-diff
@@ -20,13 +23,11 @@ bin/clang++
 @bin bin/llvm-dwarfdump
 @bin bin/llvm-extract
 @bin bin/llvm-link
-bin/llvm-lit
+@bin bin/llvm-lto
 @bin bin/llvm-mc
 @bin bin/llvm-mcmarkup
 @bin bin/llvm-nm
 @bin bin/llvm-objdump
-@bin bin/llvm-prof
-@bin bin/llvm-ranlib
 @bin bin/llvm-readobj
 @bin bin/llvm-rtdyld
 @bin bin/llvm-size
@@ -52,7 +53,9 @@ include/clang/AST/AST.h
 include/clang/AST/ASTConsumer.h
 include/clang/AST/ASTContext.h
 include/clang/AST/ASTDiagnostic.h
+include/clang/AST/ASTFwd.h
 include/clang/AST/ASTImporter.h
+include/clang/AST/ASTLambda.h
 include/clang/AST/ASTMutationListener.h
 include/clang/AST/ASTTypeTraits.h
 include/clang/AST/ASTUnresolvedSet.h
@@ -102,8 +105,8 @@ include/clang/AST/ExprCXX.h
 include/clang/AST/ExprObjC.h
 include/clang/AST/ExternalASTSource.h
 include/clang/AST/GlobalDecl.h
-include/clang/AST/LambdaMangleContext.h
 include/clang/AST/Mangle.h
+include/clang/AST/MangleNumberingContext.h
 include/clang/AST/NSAPI.h
 include/clang/AST/NestedNameSpecifier.h
 include/clang/AST/OperationKinds.h
@@ -120,6 +123,7 @@ include/clang/AST/StmtGraphTraits.h
 include/clang/AST/StmtIterator.h
 include/clang/AST/StmtNodes.inc
 include/clang/AST/StmtObjC.h
+include/clang/AST/StmtOpenMP.h
 include/clang/AST/StmtVisitor.h
 include/clang/AST/TemplateBase.h
 include/clang/AST/TemplateName.h
@@ -138,9 +142,15 @@ include/clang/ASTMatchers/ASTMatchFinder
 include/clang/ASTMatchers/ASTMatchers.h
 include/clang/ASTMatchers/ASTMatchersInternal.h
 include/clang/ASTMatchers/ASTMatchersMacros.h
+include/clang/ASTMatchers/Dynamic/
+include/clang/ASTMatchers/Dynamic/Diagnostics.h
+include/clang/ASTMatchers/Dynamic/Parser.h
+include/clang/ASTMatchers/Dynamic/Registry.h
+include/clang/ASTMatchers/Dynamic/VariantValue.h
 include/clang/Analysis/
 include/clang/Analysis/Analyses/
 include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
+include/clang/Analysis/Analyses/Consumed.h
 include/clang/Analysis/Analyses/Dominators.h
 include/clang/Analysis/Analyses/FormatString.h
 include/clang/Analysis/Analyses/LiveVariables.h
@@ -162,12 +172,7 @@ include/clang/Analysis/FlowSensitive/Dat
 include/clang/Analysis/FlowSensitive/DataflowValues.h
 include/clang/Analysis/ProgramPoint.h
 include/clang/Analysis/Support/
-include/clang/Analysis/Support/BlkExprDeclBitVector.h
 include/clang/Analysis/Support/BumpVector.h
-include/clang/Analysis/Visitors/
-include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h
-include/clang/Analysis/Visitors/CFGRecStmtVisitor.h
-include/clang/Analysis/Visitors/CFGStmtVisitor.h
 include/clang/Basic/
 include/clang/Basic/ABI.h
 include/clang/Basic/AddressSpaces.h
@@ -183,6 +188,7 @@ include/clang/Basic/BuiltinsMips.def
 include/clang/Basic/BuiltinsNVPTX.def
 include/clang/Basic/BuiltinsPPC.def
 include/clang/Basic/BuiltinsX86.def
+include/clang/Basic/BuiltinsXCore.def
 include/clang/Basic/CapturedStmt.h
 include/clang/Basic/CharInfo.h
 include/clang/Basic/CommentOptions.h
@@ -247,13 +253,13 @@ include/clang/Basic/Visibility.h
 include/clang/Basic/arm_neon.inc
 include/clang/CodeGen/
 include/clang/CodeGen/BackendUtil.h
+include/clang/CodeGen/CGFunctionInfo.h
+include/clang/CodeGen/CodeGenABITypes.h
 include/clang/CodeGen/CodeGenAction.h
 include/clang/CodeGen/ModuleBuilder.h
 include/clang/Config/
 include/clang/Driver/
 include/clang/Driver/Action.h
-include/clang/Driver/Arg.h
-include/clang/Driver/ArgList.h
 include/clang/Driver/CC1AsOptions.h
 include/clang/Driver/CC1AsOptions.inc
 include/clang/Driver/CC1Options.h
@@ -261,12 +267,10 @@ include/clang/Driver/Compilation.h
 include/clang/Driver/Driver.h
 include/clang/Driver/DriverDiagnostic.h
 include/clang/Driver/Job.h
-include/clang/Driver/OptSpecifier.h
-include/clang/Driver/OptTable.h
-include/clang/Driver/Option.h
 include/clang/Driver/Options.h
 include/clang/Driver/Options.inc
 include/clang/Driver/Phases.h
+include/clang/Driver/SanitizerArgs.h
 include/clang/Driver/Tool.h
 include/clang/Driver/ToolChain.h
 include/clang/Driver/Types.def
@@ -312,6 +316,10 @@ include/clang/Frontend/Utils.h
 include/clang/Frontend/VerifyDiagnosticConsumer.h
 include/clang/FrontendTool/
 include/clang/FrontendTool/Utils.h
+include/clang/IDE/
+include/clang/Index/
+include/clang/Index/CommentToXML.h
+include/clang/Index/USRGeneration.h
 include/clang/Lex/
 include/clang/Lex/AttrSpellings.inc
 include/clang/Lex/CodeCompletionHandler.h
@@ -342,8 +350,9 @@ include/clang/Lex/Token.h
 include/clang/Lex/TokenConcatenation.h
 include/clang/Lex/TokenLexer.h
 include/clang/Parse/
-include/clang/Parse/AttrExprArgs.inc
+include/clang/Parse/AttrIdentifierArg.inc
 include/clang/Parse/AttrLateParsed.inc
+include/clang/Parse/AttrTypeArg.inc
 include/clang/Parse/ParseAST.h
 include/clang/Parse/ParseDiagnostic.h
 include/clang/Parse/Parser.h
@@ -361,6 +370,7 @@ include/clang/Rewrite/Frontend/FrontendA
 include/clang/Rewrite/Frontend/Rewriters.h
 include/clang/Sema/
 include/clang/Sema/AnalysisBasedWarnings.h
+include/clang/Sema/AttrParsedAttrImpl.inc
 include/clang/Sema/AttrParsedAttrKinds.inc
 include/clang/Sema/AttrParsedAttrList.inc
 include/clang/Sema/AttrSpellingListIndex.inc
@@ -390,6 +400,7 @@ include/clang/Sema/SemaConsumer.h
 include/clang/Sema/SemaDiagnostic.h
 include/clang/Sema/SemaFixItUtils.h
 include/clang/Sema/SemaInternal.h
+include/clang/Sema/SemaLambda.h
 include/clang/Sema/Template.h
 include/clang/Sema/TemplateDeduction.h
 include/clang/Sema/TypoCorrection.h
@@ -409,8 +420,8 @@ include/clang/Serialization/Serializatio
 include/clang/StaticAnalyzer/
 include/clang/StaticAnalyzer/Checkers/
 include/clang/StaticAnalyzer/Checkers/ClangCheckers.h
-include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h
 include/clang/StaticAnalyzer/Checkers/LocalCheckers.h
+include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
 include/clang/StaticAnalyzer/Core/
 include/clang/StaticAnalyzer/Core/Analyses.def
 include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
@@ -418,6 +429,7 @@ include/clang/StaticAnalyzer/Core/BugRep
 include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
 include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
 include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
+include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h
 include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
 include/clang/StaticAnalyzer/Core/Checker.h
 include/clang/StaticAnalyzer/Core/CheckerManager.h
@@ -465,6 +477,7 @@ include/clang/Tooling/FileMatchTrie.h
 include/clang/Tooling/JSONCompilationDatabase.h
 include/clang/Tooling/Refactoring.h
 include/clang/Tooling/RefactoringCallbacks.h
+include/clang/Tooling/ReplacementsYaml.h
 include/clang/Tooling/Tooling.h
 include/llvm/
 include/llvm-c/
@@ -474,10 +487,12 @@ include/llvm-c/BitWriter.h
 include/llvm-c/Core.h
 include/llvm-c/Disassembler.h
 include/llvm-c/ExecutionEngine.h
+include/llvm-c/IRReader.h
 include/llvm-c/Initialization.h
 include/llvm-c/LinkTimeOptimizer.h
 include/llvm-c/Linker.h
 include/llvm-c/Object.h
+include/llvm-c/Support.h
 include/llvm-c/Target.h
 include/llvm-c/TargetMachine.h
 include/llvm-c/Transforms/
@@ -512,7 +527,6 @@ include/llvm/ADT/IntervalMap.h
 include/llvm/ADT/IntrusiveRefCntPtr.h
 include/llvm/ADT/MapVector.h
 include/llvm/ADT/None.h
-include/llvm/ADT/NullablePtr.h
 include/llvm/ADT/Optional.h
 include/llvm/ADT/OwningPtr.h
 include/llvm/ADT/PackedVector.h
@@ -548,12 +562,14 @@ include/llvm/ADT/VariadicFunction.h
 include/llvm/ADT/edit_distance.h
 include/llvm/ADT/ilist.h
 include/llvm/ADT/ilist_node.h
+include/llvm/ADT/polymorphic_ptr.h
 include/llvm/Analysis/
 include/llvm/Analysis/AliasAnalysis.h
 include/llvm/Analysis/AliasSetTracker.h
 include/llvm/Analysis/BlockFrequencyImpl.h
 include/llvm/Analysis/BlockFrequencyInfo.h
 include/llvm/Analysis/BranchProbabilityInfo.h
+include/llvm/Analysis/CFG.h
 include/llvm/Analysis/CFGPrinter.h
 include/llvm/Analysis/CallGraph.h
 include/llvm/Analysis/CallGraphSCCPass.h
@@ -588,14 +604,7 @@ include/llvm/Analysis/MemoryBuiltins.h
 include/llvm/Analysis/MemoryDependenceAnalysis.h
 include/llvm/Analysis/PHITransAddr.h
 include/llvm/Analysis/Passes.h
-include/llvm/Analysis/PathNumbering.h
-include/llvm/Analysis/PathProfileInfo.h
 include/llvm/Analysis/PostDominators.h
-include/llvm/Analysis/ProfileDataLoader.h
-include/llvm/Analysis/ProfileDataTypes.h
-include/llvm/Analysis/ProfileInfo.h
-include/llvm/Analysis/ProfileInfoLoader.h
-include/llvm/Analysis/ProfileInfoTypes.h
 include/llvm/Analysis/PtrUseVisitor.h
 include/llvm/Analysis/RegionInfo.h
 include/llvm/Analysis/RegionIterator.h
@@ -617,7 +626,6 @@ include/llvm/Assembly/PrintModulePass.h
 include/llvm/Assembly/Writer.h
 include/llvm/AutoUpgrade.h
 include/llvm/Bitcode/
-include/llvm/Bitcode/Archive.h
 include/llvm/Bitcode/BitCodes.h
 include/llvm/Bitcode/BitstreamReader.h
 include/llvm/Bitcode/BitstreamWriter.h
@@ -650,6 +658,7 @@ include/llvm/CodeGen/LiveIntervalAnalysi
 include/llvm/CodeGen/LiveIntervalUnion.h
 include/llvm/CodeGen/LiveRangeEdit.h
 include/llvm/CodeGen/LiveRegMatrix.h
+include/llvm/CodeGen/LiveRegUnits.h
 include/llvm/CodeGen/LiveStackAnalysis.h
 include/llvm/CodeGen/LiveVariables.h
 include/llvm/CodeGen/MachORelocation.h
@@ -707,6 +716,8 @@ include/llvm/CodeGen/SelectionDAG.h
 include/llvm/CodeGen/SelectionDAGISel.h
 include/llvm/CodeGen/SelectionDAGNodes.h
 include/llvm/CodeGen/SlotIndexes.h
+include/llvm/CodeGen/StackMaps.h
+include/llvm/CodeGen/StackProtector.h
 include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
 include/llvm/CodeGen/TargetSchedule.h
 include/llvm/CodeGen/ValueTypes.h
@@ -736,6 +747,7 @@ include/llvm/ExecutionEngine/OProfileWra
 include/llvm/ExecutionEngine/ObjectBuffer.h
 include/llvm/ExecutionEngine/ObjectCache.h
 include/llvm/ExecutionEngine/ObjectImage.h
+include/llvm/ExecutionEngine/RTDyldMemoryManager.h
 include/llvm/ExecutionEngine/RuntimeDyld.h
 include/llvm/ExecutionEngine/SectionMemoryManager.h
 include/llvm/GVMaterializer.h
@@ -762,6 +774,7 @@ include/llvm/IR/IntrinsicInst.h
 include/llvm/IR/Intrinsics.gen
 include/llvm/IR/Intrinsics.h
 include/llvm/IR/Intrinsics.td
+include/llvm/IR/IntrinsicsAArch64.td
 include/llvm/IR/IntrinsicsARM.td
 include/llvm/IR/IntrinsicsHexagon.td
 include/llvm/IR/IntrinsicsMips.td
@@ -771,11 +784,14 @@ include/llvm/IR/IntrinsicsR600.td
 include/llvm/IR/IntrinsicsX86.td
 include/llvm/IR/IntrinsicsXCore.td
 include/llvm/IR/LLVMContext.h
+include/llvm/IR/LegacyPassManager.h
+include/llvm/IR/LegacyPassManagers.h
 include/llvm/IR/MDBuilder.h
 include/llvm/IR/Metadata.h
 include/llvm/IR/Module.h
 include/llvm/IR/OperandTraits.h
 include/llvm/IR/Operator.h
+include/llvm/IR/PassManager.h
 include/llvm/IR/SymbolTableListTraits.h
 include/llvm/IR/Type.h
 include/llvm/IR/TypeBuilder.h
@@ -788,6 +804,9 @@ include/llvm/IRReader/
 include/llvm/IRReader/IRReader.h
 include/llvm/InitializePasses.h
 include/llvm/InstVisitor.h
+include/llvm/LTO/
+include/llvm/LTO/LTOCodeGenerator.h
+include/llvm/LTO/LTOModule.h
 include/llvm/LinkAllIR.h
 include/llvm/LinkAllPasses.h
 include/llvm/Linker.h
@@ -796,6 +815,7 @@ include/llvm/MC/MCAsmBackend.h
 include/llvm/MC/MCAsmInfo.h
 include/llvm/MC/MCAsmInfoCOFF.h
 include/llvm/MC/MCAsmInfoDarwin.h
+include/llvm/MC/MCAsmInfoELF.h
 include/llvm/MC/MCAsmLayout.h
 include/llvm/MC/MCAssembler.h
 include/llvm/MC/MCAtom.h
@@ -810,9 +830,11 @@ include/llvm/MC/MCELFObjectWriter.h
 include/llvm/MC/MCELFStreamer.h
 include/llvm/MC/MCELFSymbolFlags.h
 include/llvm/MC/MCExpr.h
+include/llvm/MC/MCExternalSymbolizer.h
 include/llvm/MC/MCFixedLenDisassembler.h
 include/llvm/MC/MCFixup.h
 include/llvm/MC/MCFixupKindInfo.h
+include/llvm/MC/MCFunction.h
 include/llvm/MC/MCInst.h
 include/llvm/MC/MCInstBuilder.h
 include/llvm/MC/MCInstPrinter.h
@@ -824,8 +846,11 @@ include/llvm/MC/MCLabel.h
 include/llvm/MC/MCMachOSymbolFlags.h
 include/llvm/MC/MCMachObjectWriter.h
 include/llvm/MC/MCModule.h
+include/llvm/MC/MCModuleYAML.h
+include/llvm/MC/MCObjectDisassembler.h
 include/llvm/MC/MCObjectFileInfo.h
 include/llvm/MC/MCObjectStreamer.h
+include/llvm/MC/MCObjectSymbolizer.h
 include/llvm/MC/MCObjectWriter.h
 include/llvm/MC/MCParser/
 include/llvm/MC/MCParser/AsmCond.h
@@ -835,6 +860,7 @@ include/llvm/MC/MCParser/MCAsmParser.h
 include/llvm/MC/MCParser/MCAsmParserExtension.h
 include/llvm/MC/MCParser/MCParsedAsmOperand.h
 include/llvm/MC/MCRegisterInfo.h
+include/llvm/MC/MCRelocationInfo.h
 include/llvm/MC/MCSchedule.h
 include/llvm/MC/MCSection.h
 include/llvm/MC/MCSectionCOFF.h
@@ -843,6 +869,7 @@ include/llvm/MC/MCSectionMachO.h
 include/llvm/MC/MCStreamer.h
 include/llvm/MC/MCSubtargetInfo.h
 include/llvm/MC/MCSymbol.h
+include/llvm/MC/MCSymbolizer.h
 include/llvm/MC/MCTargetAsmParser.h
 include/llvm/MC/MCValue.h
 include/llvm/MC/MCWin64EH.h
@@ -854,12 +881,17 @@ include/llvm/Object/
 include/llvm/Object/Archive.h
 include/llvm/Object/Binary.h
 include/llvm/Object/COFF.h
+include/llvm/Object/COFFYAML.h
 include/llvm/Object/ELF.h
+include/llvm/Object/ELFObjectFile.h
+include/llvm/Object/ELFTypes.h
+include/llvm/Object/ELFYAML.h
 include/llvm/Object/Error.h
 include/llvm/Object/MachO.h
-include/llvm/Object/MachOFormat.h
+include/llvm/Object/MachOUniversal.h
 include/llvm/Object/ObjectFile.h
 include/llvm/Object/RelocVisitor.h
+include/llvm/Object/YAML.h
 include/llvm/Option/
 include/llvm/Option/Arg.h
 include/llvm/Option/ArgList.h
@@ -870,7 +902,6 @@ include/llvm/Option/Option.h
 include/llvm/Pass.h
 include/llvm/PassAnalysisSupport.h
 include/llvm/PassManager.h
-include/llvm/PassManagers.h
 include/llvm/PassRegistry.h
 include/llvm/PassSupport.h
 include/llvm/Support/
@@ -922,13 +953,12 @@ include/llvm/Support/GraphWriter.h
 include/llvm/Support/Host.h
 include/llvm/Support/IncludeFile.h
 include/llvm/Support/InstIterator.h
-include/llvm/Support/IntegersSubset.h
-include/llvm/Support/IntegersSubsetMapping.h
 include/llvm/Support/LEB128.h
 include/llvm/Support/LICENSE.TXT
 include/llvm/Support/LeakDetector.h
 include/llvm/Support/Locale.h
 include/llvm/Support/LockFileManager.h
+include/llvm/Support/MD5.h
 include/llvm/Support/MachO.h
 include/llvm/Support/ManagedStatic.h
 include/llvm/Support/MathExtras.h
@@ -941,8 +971,6 @@ include/llvm/Support/NoFolder.h
 include/llvm/Support/OutputBuffer.h
 include/llvm/Support/PassNameParser.h
 include/llvm/Support/Path.h
-include/llvm/Support/PathV1.h
-include/llvm/Support/PathV2.h
 include/llvm/Support/PatternMatch.h
 include/llvm/Support/PluginLoader.h
 include/llvm/Support/PointerLikeTypeTraits.h
@@ -963,6 +991,7 @@ include/llvm/Support/Solaris.h
 include/llvm/Support/SourceMgr.h
 include/llvm/Support/StreamableMemoryObject.h
 include/llvm/Support/StringPool.h
+include/llvm/Support/StringRefMemoryObject.h
 include/llvm/Support/SwapByteOrder.h
 include/llvm/Support/SystemUtils.h
 include/llvm/Support/TargetFolder.h
@@ -973,6 +1002,8 @@ include/llvm/Support/Threading.h
 include/llvm/Support/TimeValue.h
 include/llvm/Support/Timer.h
 include/llvm/Support/ToolOutputFile.h
+include/llvm/Support/Unicode.h
+include/llvm/Support/UnicodeCharRanges.h
 include/llvm/Support/Valgrind.h
 include/llvm/Support/ValueHandle.h
 include/llvm/Support/Watchdog.h
@@ -989,6 +1020,7 @@ include/llvm/TableGen/Error.h
 include/llvm/TableGen/Main.h
 include/llvm/TableGen/Record.h
 include/llvm/TableGen/StringMatcher.h
+include/llvm/TableGen/StringToOffsetTable.h
 include/llvm/TableGen/TableGenBackend.h
 include/llvm/Target/
 include/llvm/Target/CostTable.h
@@ -1022,20 +1054,22 @@ include/llvm/Transforms/ObjCARC.h
 include/llvm/Transforms/Scalar.h
 include/llvm/Transforms/Utils/
 include/llvm/Transforms/Utils/BasicBlockUtils.h
-include/llvm/Transforms/Utils/BlackList.h
 include/llvm/Transforms/Utils/BuildLibCalls.h
 include/llvm/Transforms/Utils/BypassSlowDivision.h
 include/llvm/Transforms/Utils/Cloning.h
 include/llvm/Transforms/Utils/CmpInstAnalysis.h
 include/llvm/Transforms/Utils/CodeExtractor.h
+include/llvm/Transforms/Utils/GlobalStatus.h
 include/llvm/Transforms/Utils/IntegerDivision.h
 include/llvm/Transforms/Utils/Local.h
+include/llvm/Transforms/Utils/LoopUtils.h
 include/llvm/Transforms/Utils/ModuleUtils.h
 include/llvm/Transforms/Utils/PromoteMemToReg.h
 include/llvm/Transforms/Utils/SSAUpdater.h
 include/llvm/Transforms/Utils/SSAUpdaterImpl.h
 include/llvm/Transforms/Utils/SimplifyIndVar.h
 include/llvm/Transforms/Utils/SimplifyLibCalls.h
+include/llvm/Transforms/Utils/SpecialCaseList.h
 include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
 include/llvm/Transforms/Utils/UnrollLoop.h
 include/llvm/Transforms/Utils/ValueMapper.h
@@ -1045,6 +1079,7 @@ lib/LLVMHello.so
 lib/clang/
 lib/clang/${LLVM_V}/
 ${CLANG_INCLUDE_PATH}/
+${CLANG_INCLUDE_PATH}/Intrin.h
 ${CLANG_INCLUDE_PATH}/__wmmintrin_aes.h
 ${CLANG_INCLUDE_PATH}/__wmmintrin_pclmul.h
 ${CLANG_INCLUDE_PATH}/altivec.h
@@ -1074,6 +1109,7 @@ ${CLANG_INCLUDE_PATH}/popcntintrin.h
 ${CLANG_INCLUDE_PATH}/prfchwintrin.h
 ${CLANG_INCLUDE_PATH}/rdseedintrin.h
 ${CLANG_INCLUDE_PATH}/rtmintrin.h
+${CLANG_INCLUDE_PATH}/shaintrin.h
 ${CLANG_INCLUDE_PATH}/smmintrin.h
 ${CLANG_INCLUDE_PATH}/stdalign.h
 ${CLANG_INCLUDE_PATH}/stdarg.h
@@ -1081,6 +1117,7 @@ ${CLANG_INCLUDE_PATH}/stdbool.h
 ${CLANG_INCLUDE_PATH}/stddef.h
 ${CLANG_INCLUDE_PATH}/stdint.h
 ${CLANG_INCLUDE_PATH}/stdnoreturn.h
+${CLANG_INCLUDE_PATH}/tbmintrin.h
 ${CLANG_INCLUDE_PATH}/tgmath.h
 ${CLANG_INCLUDE_PATH}/tmmintrin.h
 ${CLANG_INCLUDE_PATH}/unwind.h
@@ -1103,7 +1140,6 @@ lib/libLLVMARMDesc.a
 lib/libLLVMARMDisassembler.a
 lib/libLLVMARMInfo.a
 lib/libLLVMAnalysis.a
-lib/libLLVMArchive.a
 lib/libLLVMAsmParser.a
 lib/libLLVMAsmPrinter.a
 lib/libLLVMBitReader.a
@@ -1123,13 +1159,8 @@ lib/libLLVMInstCombine.a
 lib/libLLVMInstrumentation.a
 lib/libLLVMInterpreter.a
 lib/libLLVMJIT.a
+lib/libLLVMLTO.a
 lib/libLLVMLinker.a
-lib/libLLVMMBlazeAsmParser.a
-lib/libLLVMMBlazeAsmPrinter.a
-lib/libLLVMMBlazeCodeGen.a
-lib/libLLVMMBlazeDesc.a
-lib/libLLVMMBlazeDisassembler.a
-lib/libLLVMMBlazeInfo.a
 lib/libLLVMMC.a
 lib/libLLVMMCDisassembler.a
 lib/libLLVMMCJIT.a
@@ -1171,6 +1202,7 @@ lib/libLLVMSystemZAsmParser.a
 lib/libLLVMSystemZAsmPrinter.a
 lib/libLLVMSystemZCodeGen.a
 lib/libLLVMSystemZDesc.a
+lib/libLLVMSystemZDisassembler.a
 lib/libLLVMSystemZInfo.a
 lib/libLLVMTableGen.a
 lib/libLLVMTarget.a
@@ -1192,7 +1224,6 @@ lib/libLLVMipa.a
 lib/libLLVMipo.a
 lib/libLTO.a
 lib/libLTO.so
-lib/libclang.a
 @lib lib/libclang.so.${LIBclang_VERSION}
 lib/libclangARCMigrate.a
 lib/libclangAST.a
@@ -1201,10 +1232,12 @@ lib/libclangAnalysis.a
 lib/libclangBasic.a
 lib/libclangCodeGen.a
 lib/libclangDriver.a
+lib/libclangDynamicASTMatchers.a
 lib/libclangEdit.a
 lib/libclangFormat.a
 lib/libclangFrontend.a
 lib/libclangFrontendTool.a
+lib/libclangIndex.a
 lib/libclangLex.a
 lib/libclangParse.a
 lib/libclangRewriteCore.a
@@ -1217,8 +1250,6 @@ lib/libclangStaticAnalyzerFrontend.a
 lib/libclangTooling.a
 @comment lib/libgtest.a
 @comment lib/libgtest_main.a
-lib/libprofile_rt.a
-lib/libprofile_rt.so
 @man man/man1/FileCheck.1
 @man man/man1/bugpoint.1
 @man man/man1/clang.1
@@ -1237,13 +1268,18 @@ lib/libprofile_rt.so
 @man man/man1/llvm-link.1
 @man man/man1/llvm-nm.1
 @man man/man1/llvm-prof.1
-@man man/man1/llvm-ranlib.1
 @man man/man1/llvm-readobj.1
 @man man/man1/llvm-stress.1
 @man man/man1/llvm-symbolizer.1
 @man man/man1/opt.1
 @man man/man1/scan-build.1
 @man man/man1/tblgen.1
+share/clang/
+share/clang/clang-format-bbedit.applescript
+share/clang/clang-format-diff.py
+share/clang/clang-format-sublime.py
+share/clang/clang-format.el
+share/clang/clang-format.py
 share/llvm/
 share/llvm/cmake/
 share/llvm/cmake/AddLLVM.cmake
Index: lang/clang/clang.port.mk
===================================================================
RCS file: /home/cvs/ports/lang/clang/clang.port.mk,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 clang.port.mk
--- lang/clang/clang.port.mk 1 Dec 2013 20:05:41 -0000 1.7
+++ lang/clang/clang.port.mk 6 Jan 2014 21:49:11 -0000
@@ -1,6 +1,6 @@
 # $OpenBSD: clang.port.mk,v 1.7 2013/12/01 20:05:41 zhuk Exp $
 
-MODCLANG_VERSION= 3.3
+MODCLANG_VERSION= 3.4
 
 MODCLANG_ARCHS ?=
 MODCLANG_LANGS ?=

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE: LLVM 3.4

Jonathan Gray-11
On Mon, Jan 06, 2014 at 04:50:03PM -0500, Brad Smith wrote:
> Here is an update to LLVM 3.4.
>
> Any additional testing welcome.
>
> OK?
>

Here is a diff that lets xenocara build with XENOCARA_BUILD_GALLIUM=llvm
using a commit from mesa git that doesn't seem to be in the 9.2 branch yet:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=749cb8909714fed57b0213f4ad92def3bb24f153

I have only built this on amd64 so far, not yet tested that
swrast (LLVMpipe) and the llvm enabled radeon drivers work.

Index: lib/libGL/gallium/Makefile.inc
===================================================================
RCS file: /cvs/xenocara/lib/libGL/gallium/Makefile.inc,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile.inc
--- lib/libGL/gallium/Makefile.inc 5 Sep 2013 15:11:59 -0000 1.4
+++ lib/libGL/gallium/Makefile.inc 11 Jan 2014 01:43:54 -0000
@@ -32,7 +32,7 @@ lib${LIB}_pic.a: ${OBJS} ${DPADD}
 .if ${XENOCARA_BUILD_GALLIUM} == "llvm"
 
 # Remember to keep in sync with LLVM port's version.
-LLVM_VERSION= 0x303 # 3.3
+LLVM_VERSION= 0x304 # 3.4
 LLVM_CONFIG?= /usr/local/bin/llvm-config
 
 # ugh...
Index: dist/Mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
===================================================================
RCS file: /cvs/xenocara/dist/Mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp,v
retrieving revision 1.4
diff -u -p -r1.4 lp_bld_misc.cpp
--- dist/Mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp 5 Sep 2013 13:59:36 -0000 1.4
+++ dist/Mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp 11 Jan 2014 02:00:58 -0000
@@ -174,12 +174,14 @@ lp_set_target_options(void)
    }
 #endif
 
+#if HAVE_LLVM < 0x0304
    /*
     * By default LLVM adds a signal handler to output a pretty stack trace.
     * This signal handler is never removed, causing problems when unloading the
     * shared object where the gallium driver resides.
     */
    llvm::DisablePrettyStackTrace = true;
+#endif
 
    // If we have a native target, initialize it to ensure it is linked in and
    // usable by the JIT.

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE: LLVM 3.4

Jonathan Gray-11
In reply to this post by Brad Smith-14
On Mon, Jan 06, 2014 at 04:50:03PM -0500, Brad Smith wrote:
> Here is an update to LLVM 3.4.
>
> Any additional testing welcome.
>
> OK?

One thing I wasn't expecting when testing this was the new requirement
of linking against terminfo when linking the llvm libraries.

While this llvm update is apparently stalled due to breaking the build of
firefox on i386, if it were to go ahead in future perhaps it should be with:

-DLLVM_ENABLE_TERMINFO:Bool=False

added to CONFIGURE_ARGS.  Otherwise Mesa radeon drivers built against
llvm won't load due to missing del_curterm/set_curterm/setupterm/tigetnum
symbols.  Linking against the llvm 3.3 libraries did not have this problem.

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE: LLVM 3.4

Landry Breuil-6
On Tue, Apr 01, 2014 at 10:38:11PM +1100, Jonathan Gray wrote:

> On Mon, Jan 06, 2014 at 04:50:03PM -0500, Brad Smith wrote:
> > Here is an update to LLVM 3.4.
> >
> > Any additional testing welcome.
> >
> > OK?
>
> One thing I wasn't expecting when testing this was the new requirement
> of linking against terminfo when linking the llvm libraries.
>
> While this llvm update is apparently stalled due to breaking the build of
> firefox on i386,

It is not, since i386 uses gcc again for firefox...

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE: LLVM 3.4

Brad Smith-14
In reply to this post by Jonathan Gray-11
On 01/04/14 7:38 AM, Jonathan Gray wrote:

> On Mon, Jan 06, 2014 at 04:50:03PM -0500, Brad Smith wrote:
>> Here is an update to LLVM 3.4.
>>
>> Any additional testing welcome.
>>
>> OK?
>
> One thing I wasn't expecting when testing this was the new requirement
> of linking against terminfo when linking the llvm libraries.
>
> While this llvm update is apparently stalled due to breaking the build of
> firefox on i386, if it were to go ahead in future perhaps it should be with:

Thunderbird not Firefox, but the issue affects infrastructure common to
both projects.

> -DLLVM_ENABLE_TERMINFO:Bool=False
>
> added to CONFIGURE_ARGS.  Otherwise Mesa radeon drivers built against
> llvm won't load due to missing del_curterm/set_curterm/setupterm/tigetnum
> symbols.  Linking against the llvm 3.3 libraries did not have this problem.
>
>


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.