[PATCH][Clang Driver] Driver::IsUsingLTO no longer return true when seeing -emit-llvm

Eric Christopher echristo at gmail.com
Fri Aug 23 10:00:45 PDT 2013


On Fri, Aug 23, 2013 at 1:49 AM, Iain Sandoe <iain at codesourcery.com> wrote:
> Hi, I've missed this thread until now ..
>
> (having worked on driver modifications locally for an out-of-tree port)
>
> On 22 Aug 2013, at 22:53, Shuxin Yang wrote:
>> On 8/22/13 2:28 PM, Eric Christopher wrote:
>>> On Thu, Aug 22, 2013 at 2:24 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
>>>> On 8/22/13 1:52 PM, Nick Lewycky wrote:
>>>>
>>>> Sorry, I totally wasn't following this thread at all. I'm assuming the goal
>>>> is to clean up the flags in preparation of adding more smarts to the "we're
>>>> doing LTO" case?
>>>>
>>>> 80% correct.
>>>>
>>>> Let us use examples to clarify the goal:
>>>>
>>>>  command 1:  clang -flto a.c -c
>>>>  command 2:  clang -emit-llvm a.c -c
>>>>  command 3:  clang -emit-llvm a.c
>>>>  command 4:  clang -O4 a.c -c
>>>>
>>>> The interpretation of these commands WAS:
>>>>    command 1, 2: go through the passes defined in populateModulePasses(),
>>>> and emit a *.bc file.
>>>>    command 3, 4: compile to a.out using LTO
>>>>
>>>>
>>>>  The interpretation of these commands will be:
>>>>    command 1: need to indicate we are preparing for LTO
>>>>    command 2: need to indicate we are *NOT* preparing for LTO
>>> Good with me, though your wording is a bit awkward. I'd have said:
>>>
>>> command 1: emit bitcode and if there's any optimization then use the
>>> lto pre-lto pipeline.
>>> command 2: emit bitcode and if there's any optimization then just use
>>> the normal pipeline
>>>
>>> Do you agree?
>>
>> Yes, u are right.
>
> Please could we arrange for the output file extensions to be ".ll" and ".bc" for the case that LLVM is being emitted?
>
> then:
>
>   clang a.c -flto -save-temps -o a
>
> could produce sensible intermediate files …
> … and a developer doing:
>
>   clang a.c -emit-llvm -S
>
> can compare IR and the asm generated from
>
>   clang a.c -S
>
> without renaming a file in between?
>

I don't think anyone would object to a patch that does this :)

-eric




More information about the llvm-commits mailing list