[lld] r222983 - [Core] Add flag to check if RoundTripPasses need to be run.

Rui Ueyama ruiu at google.com
Mon Dec 1 12:34:22 PST 2014


That sounds like we really need a new property of Atom.

1. If we run LLD in Release build, the roundtrip passes don't run, so
everything works fine.
2. If we run LLD in Debug build (and from the unit tests), the information
is dropped during the round-trip conversion, and it fails.
3. RoundTrip tests should't drop any information.

2 and 3 conflicts.

I should note that, again, I don't actually like the idea of YAML/Native
format, though. It feels like it doesn't worth the cost of maintaining two
more different outputs.

On Mon, Dec 1, 2014 at 12:20 PM, Shankar Easwaran <shankare at codeaurora.org>
wrote:

> Hi Rui,
>
> We discussed to add a new property to the atom, but its really not needed
> as the original filename from where the atom was parsed is available in
> release mode(roundtrip passes dont get called in release mode).
>
> The discussion was here, http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-
> November/078910.html.
>
> Shankar Easwaran
>
>
> On 12/1/2014 2:14 PM, Rui Ueyama wrote:
>
>> On Mon, Dec 1, 2014 at 12:11 PM, Shankar Easwaran <
>> shankare at codeaurora.org>
>> wrote:
>>
>>  On 12/1/2014 2:04 PM, Rui Ueyama wrote:
>>>
>>>  I'm not sure if I got what you mean... So, just to make sure we are on
>>>> the
>>>> same page, the reason to have the round-trip passes is to make sure all
>>>> output can be serialized and de-serialized, right? I think you added
>>>> these
>>>> tests because of that reason.
>>>>
>>>> Because the YAML/Native are guaranteed compatible, we can dump an
>>>> intermediate results to YAML/Native files and then resume processing by
>>>> reading them back.
>>>>
>>>> And then looks like you are now adding a way to bypass that. So they are
>>>> no
>>>> longer compatible. That is exactly what you wanted to avoid, no?
>>>>
>>>>  Yes, I thought of adding a way to bypass that but you are right, we
>>> should
>>> not allow the RoundTripPasses to be bypassed. I will remove the
>>> setRunRoundTripPass function in LinkingContext.
>>>
>>> But I do need lld to preserve the filename of the atom using references
>>> if
>>> the round trip passes were going to be run. So the reader and the writer
>>> would read the information using references if the round trip passes were
>>> being run.
>>>
>>
>> If you need a new property, you can add that to Atom. (Code review would
>> be
>> needed though.)
>>
>>
>>  Shankar Easwaran
>>>
>>>
>>> --
>>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
>>> by the Linux Foundation
>>>
>>>
>>>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by the Linux Foundation
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141201/854bc425/attachment.html>


More information about the llvm-commits mailing list