[LLVMdev] Should I commit "IR: Move MDLocation into place" before or after 3.6 branch?

Duncan P. N. Exon Smith dexonsmith at apple.com
Wed Jan 14 14:16:08 PST 2015


> On 2015-Jan-14, at 11:50, Adrian Prantl <aprantl at apple.com> wrote:
> 
>> 
>> On Jan 14, 2015, at 11:39 AM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
>> 
>> 
>>> On 2015-Jan-14, at 11:26, Adrian Prantl <aprantl at apple.com> wrote:
>>> 
>>> 
>>>> On Jan 14, 2015, at 11:12 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>>> 
>>>> 
>>>> 
>>>> On Wed, Jan 14, 2015 at 11:04 AM, Adrian Prantl <aprantl at apple.com> wrote:
>>>> One small request: Omitting the column field from MDLocation if it is 0 is fine, because it won’t make it into the line table. Omitting the line if it is 0 is not, because it gives the wrong impression that the line is being ignored, which is not the case. Line 0 will be emitted in the line table and has special semantics (Line 0 in DWARF may be used to mark compiler-generated code that has no corresponding source line number).
>>>> 
>>>> I don't know - I think I might be OK with it being implicitly zero (I think that's the column behavior - if the column is never set it's just zero in the line table? (which is "no specific column") - that seems consistent with zero line ("no actual line in the source code”))
>>> 
>>> The difference is that column 0 won’t be emitted into the line table, but line 0 will be — which is why I think it would less misleading to mirror this behavior in the IR.
>> 
>> What about this:
>> 
>> - Still have `MDLocation(scope: !0)` imply `line: 0`.
>> - Change printout to include `line:` even when it's `0`.
>> 
>> There's a sane default, so we shouldn't have to specify it.
>> However, the value is important and relevant, so the assembly
>> writer *does* print it out.
> 
> works for me!

r226046

> -- adrian
>> 
>> Thoughts?
>> 
>> (Frankly I still prefer `line: 0` being omitted, but it did
>> seem kind of funny when I was updating tests that CHECK for
>> `line: 0` that they now check for `MDLocation(scope:`, so I
>> guess on balance I'm indifferent here.)





More information about the llvm-dev mailing list