[llvm-commits] [llvm] r156383 - in /llvm/trunk: include/llvm/Bitcode/LLVMBitCodes.h lib/Bitcode/Reader/BitcodeReader.cpp
Nuno Lopes
nunoplopes at sapo.pt
Tue May 22 15:33:40 PDT 2012
Hi,
So I cleaned up that code since LLVM doesn't produce those bytecodes
since 3.0.
Since 2 versions have passed, I thought no one would really care.
Do you really need to remain binary compatible with LLVM 3.0?
I can revert the patch if there's a consensus that we shouldn't break
compatibility.
Nuno
Citando Bill Wendling <wendling at apple.com>:
> Ah! I see what you mean. That makes sense.
>
> -bw
>
> On May 22, 2012, at 2:29 PM, Stephen Hines wrote:
>
>> I think you misunderstood my point. This is the kind of change that
>> Chris agreed we should not be making for LLVM except on major (i.e.
>> 3.0, 4.0, ...) releases. I realize that this just may be something
>> that got missed for removal with 3.0, but it seems like bad form to
>> be doing this.
>>
>> Steve
>>
>> On Tue, May 22, 2012 at 2:23 PM, Bill Wendling <wendling at apple.com> wrote:
>> Actually, if that's the case, now is the perfect time to remove the
>> old opcode. The 3.1 release is finished now, and we're deep into
>> 3.2 development already.
>>
>> -bw
>>
>> On May 22, 2012, at 2:07 PM, Stephen Hines wrote:
>>
>> > I thought that the consensus from the most recent LLVM Developer
>> Conference was to not remove opcode support except on major
>> releases. Deprecating an opcode (not using it further with
>> BitcodeWriter) and generating new opcodes was considered
>> reasonable. This would seem to go directly against that. I would
>> prefer that changes like this get reverted before 3.2.
>> >
>> > Steve
>> >
>> > On Tue, May 22, 2012 at 2:01 PM, Bill Wendling <wendling at apple.com> wrote:
>> > On May 22, 2012, at 3:55 AM, Kuperstein, Michael M wrote:
>> >
>> > > Hello,
>> > >
>> > > The commit below (156383) broke binary compatibility with LLVM 3.0.
>> > > The LLVM 3.1 branch generates bitcode files with the new
>> TYPE_CODE_FUNCTION, and can read both. However, 3.0 still generated
>> TYPE_CODE_FUNCTION_OLD (it is named TYPE_CODE_FUNCTION in 3.0, the
>> change to OLD was made somewhere between 3.0 and the final 3.1
>> branch) records. This means 3.1 is still able to read 3.0 bitcode,
>> but 3.2 will not be able to.
>> > >
>> > > I'm attaching a small test-case. I will be happy to provide a
>> proper patch that resurrects TYPE_CODE_FUNCTION_OLD, if that's
>> helpful.
>> > >
>> > I'm not really in favor of reverting this behavior. The old code
>> was in there by accident. It's unfortunate that some bitcodes were
>> generated with the outdated codes, but it's not something we should
>> wish to perpetuate. There is a workaround: use the 3.0 or 3.1
>> `llvm-dis' tool to create a text version of the bitcode file and
>> then run the new `llvm-as' on it.
>> >
>> > -bw
More information about the llvm-commits
mailing list