This is an archive of the discontinued LLVM Phabricator instance.

[opaque pointer type] bitcode support for explicit type parameter to the load instruction
ClosedPublic

Authored by dblaikie on Feb 15 2015, 10:22 AM.

Details

Summary

I've taken my best guess at this, but I've cargo culted in places & so
explanations/corrections would be great.

This seems to pass all the tests (check-all, covering clang and llvm) so I
believe that pretty well exercises both the backwards compatibility and common
(same version) compatibility given the number of checked in bitcode files we
already have. Is that a reasonable approach to testing here? Would some more
explicit tests be desired?

  1. is this the right way to do back-compat in this case (looking at the number of entries in the bitcode record to disambiguate between the old schema and the new?)
  1. I don't quite understand the logarithm logic to choose the encoding type of the type parameter in the abbreviation description, but I found another instruction doing the same thing & it seems to work. Is that the right approach?

Diff Detail

Repository
rL LLVM

Event Timeline

dblaikie updated this revision to Diff 19987.Feb 15 2015, 10:22 AM
dblaikie retitled this revision from to [opaque pointer type] bitcode support for explicit type parameter to the load instruction.
dblaikie updated this object.
dblaikie added a subscriber: Unknown Object (MLST).
dblaikie updated this revision to Diff 20639.Feb 24 2015, 4:34 PM

update to changes on head (specifically related to parseAlignmentValue)

dblaikie updated this revision to Diff 20640.Feb 24 2015, 4:36 PM

Add messages to assertions

dblaikie updated this revision to Diff 20645.Feb 24 2015, 5:05 PM

Use common utility for computing required bits for type indicies.

This revision was automatically updated to reflect the committed changes.

Committed in r230414