[LLVMdev] Using the unused "version" field in the bitcode wrapper (redux)

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Dec 22 08:11:35 PST 2014


> Now, I've known QA people who break software in two minutes as naturally as
> breathing; I do not have that skill.  Given that I came up with *anything*
> in two minutes, I am not filled with confidence.

We don't have good testing. I agree. As with anything in open source,
it is just because people had higher priority stuff. I need to fix LTO
scalability, you were hit by a build system change, etc.

If this is top priority for some group, what that group could do that
is aligned with where we want llvm to go is to start adding tests and
fixing bugs. Fuzzing would be awesome, but even before that, we have
open bugs on llvm.org/bugs about the bitcode reader crashing that have
not been fixed because people had more important stuff to work on.

But note that nothing about the past history of the individual
development priorities changes the direction we want to go: We want to
support reading old bitcode format under the limitations described in
http://llvm.org/docs/DeveloperPolicy.html#ir-backwards-compatibility.
Given the structure of the bitcode, so far it has been possible to do
so for every change but one without adding a version field.

And we *have* a version field. If the mentioned above testing finds a
case that needs a version update, we just need bump
MODULE_CODE_VERSION again.

And we should most certainly not be making the wrapper mandatory or
adding feature that apply only to wrapped bitcode files.

Cheers,
Rafael



More information about the llvm-dev mailing list