r232533 - Add fveclib option.

Filipe Cabecinhas filcab at gmail.com
Tue Mar 17 14:27:25 PDT 2015


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.

Right now the bot has updated some more times and is green. Sorry about the
noise.

Thanks!

  Filipe

On Tue, Mar 17, 2015 at 2:10 PM, Michael Zolotukhin <mzolotukhin at apple.com>
wrote:

> Hi Filipe,
>
> Could it be that clang repo is newer, than the llvm repo?
>
> From the error messages it looks like clang-repo has been updated, while
> the llvm-repo is missing one commit.
>
> Thanks,
> Michael
>
> On Mar 17, 2015, at 1:43 PM, Filipe Cabecinhas <filcab at gmail.com> wrote:
>
> Hi Michael,
>
> This breaks Windows, I guess you need to explicitly name the enum:
> 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]
>
> C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.src\include\llvm/Analysis/TargetLibraryInfo.h(38)
> : see declaration of 'llvm::TargetLibraryInfoImpl'
> 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]
>
> C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.4\llvm.src\include\llvm/Analysis/TargetLibraryInfo.h(38)
> : see declaration of 'llvm::TargetLibraryInfoImpl'
> 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]
>
> Thanks,
>
>   Filipe
>
> On Tue, Mar 17, 2015 at 1:03 PM, Michael Zolotukhin <mzolotukhin at apple.com
> > wrote:
>
>> Author: mzolotukhin
>> Date: Tue Mar 17 15:03:11 2015
>> New Revision: 232533
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=232533&view=rev
>> Log:
>> Add fveclib option.
>>
>> Review: http://reviews.llvm.org/D8097
>>
>> Added:
>>     cfe/trunk/test/Driver/fveclib.c
>> Modified:
>>     cfe/trunk/include/clang/Driver/Options.td
>>     cfe/trunk/include/clang/Frontend/CodeGenOptions.def
>>     cfe/trunk/include/clang/Frontend/CodeGenOptions.h
>>     cfe/trunk/lib/CodeGen/BackendUtil.cpp
>>     cfe/trunk/lib/Driver/Tools.cpp
>>     cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>>
>> Modified: cfe/trunk/include/clang/Driver/Options.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=232533&r1=232532&r2=232533&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Driver/Options.td (original)
>> +++ cfe/trunk/include/clang/Driver/Options.td Tue Mar 17 15:03:11 2015
>> @@ -756,6 +756,8 @@ def fno_exceptions : Flag<["-"], "fno-ex
>>  def fno_gnu_keywords : Flag<["-"], "fno-gnu-keywords">, Group<f_Group>,
>> Flags<[CC1Option]>;
>>  def fno_inline_functions : Flag<["-"], "fno-inline-functions">,
>> Group<f_clang_Group>, Flags<[CC1Option]>;
>>  def fno_inline : Flag<["-"], "fno-inline">, Group<f_clang_Group>,
>> Flags<[CC1Option]>;
>> +def fveclib : Joined<["-"], "fveclib=">, Group<f_Group>,
>> Flags<[CC1Option]>,
>> +    HelpText<"Use the given vector functions library">;
>>  def fno_lax_vector_conversions : Flag<["-"],
>> "fno-lax-vector-conversions">, Group<f_Group>,
>>    HelpText<"Disallow implicit conversions between vectors with a
>> different number of elements or different element types">,
>> Flags<[CC1Option]>;
>>  def fno_merge_all_constants : Flag<["-"], "fno-merge-all-constants">,
>> Group<f_Group>,
>>
>> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=232533&r1=232532&r2=232533&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)
>> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Tue Mar 17
>> 15:03:11 2015
>> @@ -162,6 +162,9 @@ VALUE_CODEGENOPT(DwarfVersion, 3, 0)
>>  /// The kind of inlining to perform.
>>  ENUM_CODEGENOPT(Inlining, InliningMethod, 2, NoInlining)
>>
>> +// Vector functions library to use.
>> +ENUM_CODEGENOPT(VecLib, VectorLibrary, 1, NoLibrary)
>> +
>>  /// The default TLS model to use.
>>  ENUM_CODEGENOPT(DefaultTLSModel, TLSModel, 2, GeneralDynamicTLSModel)
>>
>>
>> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.h?rev=232533&r1=232532&r2=232533&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.h (original)
>> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.h Tue Mar 17 15:03:11
>> 2015
>> @@ -46,6 +46,11 @@ public:
>>      OnlyAlwaysInlining  // Only run the always inlining pass.
>>    };
>>
>> +  enum VectorLibrary {
>> +    NoLibrary, // Don't use any vector library.
>> +    Accelerate // Use the Accelerate framework.
>> +  };
>> +
>>    enum ObjCDispatchMethodKind {
>>      Legacy = 0,
>>      NonLegacy = 1,
>>
>> Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=232533&r1=232532&r2=232533&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original)
>> +++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Tue Mar 17 15:03:11 2015
>> @@ -237,6 +237,14 @@ static TargetLibraryInfoImpl *createTLII
>>    TargetLibraryInfoImpl *TLII = new TargetLibraryInfoImpl(TargetTriple);
>>    if (!CodeGenOpts.SimplifyLibCalls)
>>      TLII->disableAllFunctions();
>> +
>> +  switch (CodeGenOpts.getVecLib()) {
>> +  case CodeGenOptions::Accelerate:
>> +
>> TLII->addVectorizableFunctionsFromVecLib(TargetLibraryInfoImpl::Accelerate);
>> +    break;
>> +  default:
>> +    break;
>> +  }
>>    return TLII;
>>  }
>>
>>
>> Modified: cfe/trunk/lib/Driver/Tools.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=232533&r1=232532&r2=232533&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Driver/Tools.cpp (original)
>> +++ cfe/trunk/lib/Driver/Tools.cpp Tue Mar 17 15:03:11 2015
>> @@ -2864,6 +2864,8 @@ void Clang::ConstructJob(Compilation &C,
>>    else
>>
>>  CmdArgs.push_back(Args.MakeArgString(getToolChain().getThreadModel()));
>>
>> +  Args.AddLastArg(CmdArgs, options::OPT_fveclib);
>> +
>>    if (!Args.hasFlag(options::OPT_fmerge_all_constants,
>>                      options::OPT_fno_merge_all_constants))
>>      CmdArgs.push_back("-fno-merge-all-constants");
>>
>> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=232533&r1=232532&r2=232533&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
>> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Tue Mar 17 15:03:11 2015
>> @@ -367,6 +367,16 @@ static bool ParseCodeGenArgs(CodeGenOpti
>>    Opts.setInlining(Args.hasArg(OPT_fno_inline_functions) ?
>>                       CodeGenOptions::OnlyAlwaysInlining :
>> Opts.getInlining());
>>
>> +  if (Arg *A = Args.getLastArg(OPT_fveclib)) {
>> +    StringRef Name = A->getValue();
>> +    if (Name == "Accelerate")
>> +      Opts.setVecLib(CodeGenOptions::Accelerate);
>> +    else if (Name == "none")
>> +      Opts.setVecLib(CodeGenOptions::NoLibrary);
>> +    else
>> +      Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args)
>> << Name;
>> +  }
>> +
>>    if (Args.hasArg(OPT_gline_tables_only)) {
>>      Opts.setDebugInfo(CodeGenOptions::DebugLineTablesOnly);
>>    } else if (Args.hasArg(OPT_g_Flag) || Args.hasArg(OPT_gdwarf_2) ||
>>
>> Added: cfe/trunk/test/Driver/fveclib.c
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fveclib.c?rev=232533&view=auto
>>
>> ==============================================================================
>> --- cfe/trunk/test/Driver/fveclib.c (added)
>> +++ cfe/trunk/test/Driver/fveclib.c Tue Mar 17 15:03:11 2015
>> @@ -0,0 +1,8 @@
>> +// RUN: %clang -### -c -fveclib=none %s 2>&1 | FileCheck -check-prefix
>> CHECK-NOLIB %s
>> +// RUN: %clang -### -c -fveclib=Accelerate %s 2>&1 | FileCheck
>> -check-prefix CHECK-ACCELERATE %s
>> +// RUN: not %clang -c -fveclib=something %s 2>&1 | FileCheck
>> -check-prefix CHECK-INVALID %s
>> +
>> +// CHECK-NOLIB: "-fveclib=none"
>> +// CHECK-ACCELERATE: "-fveclib=Accelerate"
>> +
>> +// CHECK-INVALID: error: invalid value 'something' in
>> '-fveclib=something'
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150317/fa64ad32/attachment.html>


More information about the cfe-commits mailing list