<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 17, 2015, at 2:27 PM, Filipe Cabecinhas <<a href="mailto:filcab@gmail.com" class="">filcab@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">It might have been that the problem, yes. Looking at the included commits, there's a gap between the last llvm one this build had, and the last commit on clang.<div class=""><br class=""></div><div class="">Right now the bot has updated some more times and is green. Sorry about the noise.</div><div class=""><br class=""></div><div class="gmail_extra">Thanks!</div></div></div></blockquote>Great, thank you!</div><div><br class=""></div><div>Michael</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="gmail_signature">  Filipe<br class=""></div></div>
<br class=""><div class="gmail_quote">On Tue, Mar 17, 2015 at 2:10 PM, Michael Zolotukhin <span dir="ltr" class=""><<a href="mailto:mzolotukhin@apple.com" target="_blank" class="">mzolotukhin@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Hi Filipe,<div class=""><br class=""></div><div class="">Could it be that clang repo is newer, than the llvm repo?</div><div class=""><br class=""></div><div class="">From the error messages it looks like clang-repo has been updated, while the llvm-repo is missing one commit.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Michael</div><div class=""><div class="h5"><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 17, 2015, at 1:43 PM, Filipe Cabecinhas <<a href="mailto:filcab@gmail.com" target="_blank" class="">filcab@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class="">Hi Michael,<div class=""><br class=""></div><div class="">This breaks Windows, I guess you need to explicitly name the enum:</div><div class=""><div class="">C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\clang.src\lib\CodeGen\BackendUtil.cpp(243): error C2039: 'addVectorizableFunctionsFromVecLib' : is not a member of 'llvm::TargetLibraryInfoImpl' [C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.obj\tools\clang\lib\CodeGen\clangCodeGen.vcxproj]</div><div class="">          C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.src\include\llvm/Analysis/TargetLibraryInfo.h(38) : see declaration of 'llvm::TargetLibraryInfoImpl'</div><div class="">C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\clang.src\lib\CodeGen\BackendUtil.cpp(243): error C2039: 'Accelerate' : is not a member of 'llvm::TargetLibraryInfoImpl' [C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.obj\tools\clang\lib\CodeGen\clangCodeGen.vcxproj]</div><div class="">          C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.src\include\llvm/Analysis/TargetLibraryInfo.h(38) : see declaration of 'llvm::TargetLibraryInfoImpl'</div><div class="">C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\clang.src\lib\CodeGen\BackendUtil.cpp(243): error C2065: 'Accelerate' : undeclared identifier [C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.obj\tools\clang\lib\CodeGen\clangCodeGen.vcxproj]</div></div><div class=""><br class=""></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="">  Filipe<br class=""></div></div>
<br class=""><div class="gmail_quote">On Tue, Mar 17, 2015 at 1:03 PM, Michael Zolotukhin <span dir="ltr" class=""><<a href="mailto:mzolotukhin@apple.com" target="_blank" class="">mzolotukhin@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: mzolotukhin<br class="">
Date: Tue Mar 17 15:03:11 2015<br class="">
New Revision: 232533<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=232533&view=rev" target="_blank" class="">http://llvm.org/viewvc/llvm-project?rev=232533&view=rev</a><br class="">
Log:<br class="">
Add fveclib option.<br class="">
<br class="">
Review: <a href="http://reviews.llvm.org/D8097" target="_blank" class="">http://reviews.llvm.org/D8097</a><br class="">
<br class="">
Added:<br class="">
    cfe/trunk/test/Driver/fveclib.c<br class="">
Modified:<br class="">
    cfe/trunk/include/clang/Driver/Options.td<br class="">
    cfe/trunk/include/clang/Frontend/CodeGenOptions.def<br class="">
    cfe/trunk/include/clang/Frontend/CodeGenOptions.h<br class="">
    cfe/trunk/lib/CodeGen/BackendUtil.cpp<br class="">
    cfe/trunk/lib/Driver/Tools.cpp<br class="">
    cfe/trunk/lib/Frontend/CompilerInvocation.cpp<br class="">
<br class="">
Modified: cfe/trunk/include/clang/Driver/Options.td<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=232533&r1=232532&r2=232533&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=232533&r1=232532&r2=232533&view=diff</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/include/clang/Driver/Options.td (original)<br class="">
+++ cfe/trunk/include/clang/Driver/Options.td Tue Mar 17 15:03:11 2015<br class="">
@@ -756,6 +756,8 @@ def fno_exceptions : Flag<["-"], "fno-ex<br class="">
 def fno_gnu_keywords : Flag<["-"], "fno-gnu-keywords">, Group<f_Group>, Flags<[CC1Option]>;<br class="">
 def fno_inline_functions : Flag<["-"], "fno-inline-functions">, Group<f_clang_Group>, Flags<[CC1Option]>;<br class="">
 def fno_inline : Flag<["-"], "fno-inline">, Group<f_clang_Group>, Flags<[CC1Option]>;<br class="">
+def fveclib : Joined<["-"], "fveclib=">, Group<f_Group>, Flags<[CC1Option]>,<br class="">
+    HelpText<"Use the given vector functions library">;<br class="">
 def fno_lax_vector_conversions : Flag<["-"], "fno-lax-vector-conversions">, Group<f_Group>,<br class="">
   HelpText<"Disallow implicit conversions between vectors with a different number of elements or different element types">, Flags<[CC1Option]>;<br class="">
 def fno_merge_all_constants : Flag<["-"], "fno-merge-all-constants">, Group<f_Group>,<br class="">
<br class="">
Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=232533&r1=232532&r2=232533&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=232533&r1=232532&r2=232533&view=diff</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)<br class="">
+++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Tue Mar 17 15:03:11 2015<br class="">
@@ -162,6 +162,9 @@ VALUE_CODEGENOPT(DwarfVersion, 3, 0)<br class="">
 /// The kind of inlining to perform.<br class="">
 ENUM_CODEGENOPT(Inlining, InliningMethod, 2, NoInlining)<br class="">
<br class="">
+// Vector functions library to use.<br class="">
+ENUM_CODEGENOPT(VecLib, VectorLibrary, 1, NoLibrary)<br class="">
+<br class="">
 /// The default TLS model to use.<br class="">
 ENUM_CODEGENOPT(DefaultTLSModel, TLSModel, 2, GeneralDynamicTLSModel)<br class="">
<br class="">
<br class="">
Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.h<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.h?rev=232533&r1=232532&r2=232533&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.h?rev=232533&r1=232532&r2=232533&view=diff</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/include/clang/Frontend/CodeGenOptions.h (original)<br class="">
+++ cfe/trunk/include/clang/Frontend/CodeGenOptions.h Tue Mar 17 15:03:11 2015<br class="">
@@ -46,6 +46,11 @@ public:<br class="">
     OnlyAlwaysInlining  // Only run the always inlining pass.<br class="">
   };<br class="">
<br class="">
+  enum VectorLibrary {<br class="">
+    NoLibrary, // Don't use any vector library.<br class="">
+    Accelerate // Use the Accelerate framework.<br class="">
+  };<br class="">
+<br class="">
   enum ObjCDispatchMethodKind {<br class="">
     Legacy = 0,<br class="">
     NonLegacy = 1,<br class="">
<br class="">
Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=232533&r1=232532&r2=232533&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=232533&r1=232532&r2=232533&view=diff</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original)<br class="">
+++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Tue Mar 17 15:03:11 2015<br class="">
@@ -237,6 +237,14 @@ static TargetLibraryInfoImpl *createTLII<br class="">
   TargetLibraryInfoImpl *TLII = new TargetLibraryInfoImpl(TargetTriple);<br class="">
   if (!CodeGenOpts.SimplifyLibCalls)<br class="">
     TLII->disableAllFunctions();<br class="">
+<br class="">
+  switch (CodeGenOpts.getVecLib()) {<br class="">
+  case CodeGenOptions::Accelerate:<br class="">
+    TLII->addVectorizableFunctionsFromVecLib(TargetLibraryInfoImpl::Accelerate);<br class="">
+    break;<br class="">
+  default:<br class="">
+    break;<br class="">
+  }<br class="">
   return TLII;<br class="">
 }<br class="">
<br class="">
<br class="">
Modified: cfe/trunk/lib/Driver/Tools.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=232533&r1=232532&r2=232533&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=232533&r1=232532&r2=232533&view=diff</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/lib/Driver/Tools.cpp (original)<br class="">
+++ cfe/trunk/lib/Driver/Tools.cpp Tue Mar 17 15:03:11 2015<br class="">
@@ -2864,6 +2864,8 @@ void Clang::ConstructJob(Compilation &C,<br class="">
   else<br class="">
     CmdArgs.push_back(Args.MakeArgString(getToolChain().getThreadModel()));<br class="">
<br class="">
+  Args.AddLastArg(CmdArgs, options::OPT_fveclib);<br class="">
+<br class="">
   if (!Args.hasFlag(options::OPT_fmerge_all_constants,<br class="">
                     options::OPT_fno_merge_all_constants))<br class="">
     CmdArgs.push_back("-fno-merge-all-constants");<br class="">
<br class="">
Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=232533&r1=232532&r2=232533&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=232533&r1=232532&r2=232533&view=diff</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)<br class="">
+++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Tue Mar 17 15:03:11 2015<br class="">
@@ -367,6 +367,16 @@ static bool ParseCodeGenArgs(CodeGenOpti<br class="">
   Opts.setInlining(Args.hasArg(OPT_fno_inline_functions) ?<br class="">
                      CodeGenOptions::OnlyAlwaysInlining : Opts.getInlining());<br class="">
<br class="">
+  if (Arg *A = Args.getLastArg(OPT_fveclib)) {<br class="">
+    StringRef Name = A->getValue();<br class="">
+    if (Name == "Accelerate")<br class="">
+      Opts.setVecLib(CodeGenOptions::Accelerate);<br class="">
+    else if (Name == "none")<br class="">
+      Opts.setVecLib(CodeGenOptions::NoLibrary);<br class="">
+    else<br class="">
+      Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Name;<br class="">
+  }<br class="">
+<br class="">
   if (Args.hasArg(OPT_gline_tables_only)) {<br class="">
     Opts.setDebugInfo(CodeGenOptions::DebugLineTablesOnly);<br class="">
   } else if (Args.hasArg(OPT_g_Flag) || Args.hasArg(OPT_gdwarf_2) ||<br class="">
<br class="">
Added: cfe/trunk/test/Driver/fveclib.c<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fveclib.c?rev=232533&view=auto" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fveclib.c?rev=232533&view=auto</a><br class="">
==============================================================================<br class="">
--- cfe/trunk/test/Driver/fveclib.c (added)<br class="">
+++ cfe/trunk/test/Driver/fveclib.c Tue Mar 17 15:03:11 2015<br class="">
@@ -0,0 +1,8 @@<br class="">
+// RUN: %clang -### -c -fveclib=none %s 2>&1 | FileCheck -check-prefix CHECK-NOLIB %s<br class="">
+// RUN: %clang -### -c -fveclib=Accelerate %s 2>&1 | FileCheck -check-prefix CHECK-ACCELERATE %s<br class="">
+// RUN: not %clang -c -fveclib=something %s 2>&1 | FileCheck -check-prefix CHECK-INVALID %s<br class="">
+<br class="">
+// CHECK-NOLIB: "-fveclib=none"<br class="">
+// CHECK-ACCELERATE: "-fveclib=Accelerate"<br class="">
+<br class="">
+// CHECK-INVALID: error: invalid value 'something' in '-fveclib=something'<br class="">
<br class="">
<br class="">
_______________________________________________<br class="">
cfe-commits mailing list<br class="">
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank" class="">cfe-commits@cs.uiuc.edu</a><br class="">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank" class="">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br class="">
</blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></body></html>