r196606 - Add option to use temporary file for assembling with clang

Timur Iskhodzhanov timurrrr at google.com
Mon Dec 9 10:22:13 PST 2013


This happens on my private bot running check-all.

Reid, can you please help David?
09 дек. 2013 г. 22:02 пользователь "David Peixotto" <dpeixott at codeaurora.org>
написал:

> Hi Timur,
>
> Where do you see this failure? I am not getting a notification from the
> build bot and I do not see the failure locally. What is the process for
> debugging a failure like this?
>
> -David
>
> > -----Original Message-----
> > From: Timur Iskhodzhanov [mailto:timurrrr at google.com]
> > Sent: Monday, December 09, 2013 3:00 AM
> > To: David Peixotto
> > Cc: cfe-commits
> > Subject: Re: r196606 - Add option to use temporary file for assembling
> > with clang
> >
> > FYI
> >
> > I see this test failure after your change:
> > Command 2: "llvm/build/bin/./clang.EXE" "-no-integrated-as"
> > "-via-file-asm" "llvm\tools\clang\test\Driver\via-file-asm.c" "-###"
> > Command 2 Result: 3
> >
> > Looks like an assertion failure?
> >
> > 2013/12/7 David Peixotto <dpeixott at codeaurora.org>:
> > > Author: dpeixott
> > > Date: Fri Dec  6 14:27:33 2013
> > > New Revision: 196606
> > >
> > > URL: http://llvm.org/viewvc/llvm-project?rev=196606&view=rev
> > > Log:
> > > Add option to use temporary file for assembling with clang
> > >
> > > This commit adds the flag '-via-file-asm' to the clang driver. The
> > > purpose of this flag is to have a way to test that clang can consume
> > > the assembly code that it outputs. When passed this flag, clang will
> > > generate a temporary file that contains the assembly output from the
> > > compile step. This assembly file will then be consumed by either the
> > > integrated assembler or the external assembler. To test that the
> > > integrated assembler can consume its own output compile with:
> > >
> > >   $ clang -integrated-assembler -via-file-asm
> > >
> > > Without the '-via-file-asm' flag, clang would directly create the
> > > object file when using the integrated assembler. With the flag it will
> > > first create the temporary assembly file and then read that file and
> > > assemble it with the integrated assembler.
> > >
> > > The flow is similar to -save-temps, except that it only effects the
> > > assembly input and the temporary file is not saved.
> > >
> > > Added:
> > >     cfe/trunk/test/Driver/via-file-asm.c
> > > Modified:
> > >     cfe/trunk/include/clang/Driver/Options.td
> > >     cfe/trunk/lib/Driver/Driver.cpp
> > >
> > > Modified: cfe/trunk/include/clang/Driver/Options.td
> > > URL:
> > > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Opt
> > > ions.td?rev=196606&r1=196605&r2=196606&view=diff
> > > ======================================================================
> > > ========
> > > --- cfe/trunk/include/clang/Driver/Options.td (original)
> > > +++ cfe/trunk/include/clang/Driver/Options.td Fri Dec  6 14:27:33 2013
> > > @@ -1230,6 +1230,8 @@ def rtlib_EQ : Joined<["-", "--"], "rtli  def r
> > > : Flag<["-"], "r">;  def save_temps : Flag<["-", "--"], "save-temps">,
> > > Flags<[DriverOption]>,
> > >    HelpText<"Save intermediate compilation results">;
> > > +def via_file_asm : Flag<["-", "--"], "via-file-asm">,
> > > +Flags<[DriverOption]>,
> > > +  HelpText<"Write assembly to file for input to assemble jobs">;
> > >  def sectalign : MultiArg<["-"], "sectalign", 3>;  def sectcreate :
> > > MultiArg<["-"], "sectcreate", 3>;  def sectobjectsymbols :
> > > MultiArg<["-"], "sectobjectsymbols", 2>;
> > >
> > > Modified: cfe/trunk/lib/Driver/Driver.cpp
> > > URL:
> > > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?re
> > > v=196606&r1=196605&r2=196606&view=diff
> > > ======================================================================
> > > ========
> > > --- cfe/trunk/lib/Driver/Driver.cpp (original)
> > > +++ cfe/trunk/lib/Driver/Driver.cpp Fri Dec  6 14:27:33 2013
> > > @@ -1456,6 +1456,7 @@ static const Tool *SelectToolForJob(Comp
> > >
> > >    if (TC->useIntegratedAs() &&
> > >        !C.getArgs().hasArg(options::OPT_save_temps) &&
> > > +      !C.getArgs().hasArg(options::OPT_via_file_asm) &&
> > >        !C.getArgs().hasArg(options::OPT__SLASH_FA) &&
> > >        !C.getArgs().hasArg(options::OPT__SLASH_Fa) &&
> > >        isa<AssembleJobAction>(JA) &&
> > >
> > > Added: cfe/trunk/test/Driver/via-file-asm.c
> > > URL:
> > > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/via-file-asm
> > > .c?rev=196606&view=auto
> > > ======================================================================
> > > ========
> > > --- cfe/trunk/test/Driver/via-file-asm.c (added)
> > > +++ cfe/trunk/test/Driver/via-file-asm.c Fri Dec  6 14:27:33 2013
> > > @@ -0,0 +1,14 @@
> > > +// Should save and read back the assembly from a file // RUN: %clang
> > > +-integrated-as -via-file-asm %s -### 2>&1 | FileCheck %s // CHECK:
> > > +"-cc1"
> > > +// CHECK: "-o" "[[TMP:[^"]*]]"
> > > +// CHECK: -cc1as
> > > +// CHECK: [[TMP]]
> > > +
> > > +// Should not force using the integrated assembler // RUN: %clang
> > > +-no-integrated-as -via-file-asm %s -### 2>&1 | FileCheck
> > > +--check-prefix=NO_IAS %s // NO_IAS-NOT: "-cc1as"
> > > +
> > > +// Test arm target specifically for the same behavior // RUN: %clang
> > > +-target arm -integrated-as -via-file-asm %s -### 2>&1 | FileCheck %s
> > > +// RUN: %clang -target arm -no-integrated-as -via-file-asm %s -###
> > > +2>&1 | FileCheck --check-prefix=NO_IAS %s
> > >
> > >
> > > _______________________________________________
> > > 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/20131209/52914e01/attachment.html>


More information about the cfe-commits mailing list