[PATCH] D121346: [Propeller] Encode address offsets of basic blocks relative to the end of the previous basic blocks.

Rahman Lavaee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 27 19:47:17 PDT 2022


rahmanl added inline comments.


================
Comment at: llvm/lib/Object/ELF.cpp:670-671
+      if (Version > 1)
+        return createError("unsupported LLVM_BB_ADDR_MAP version: " +
+                           Twine(static_cast<int>(Version)));
+      Data.getU8(Cur); // Feature byte
----------------
jhenderson wrote:
> rahmanl wrote:
> > jhenderson wrote:
> > > jhenderson wrote:
> > > > Test case?
> > > > 
> > > > Also, the type is "SHT_LLVM_BB_ADDR_MAP", so probably wants to include the SHT_ too, to match (and be consistent with other error messages)
> > > Looks like there's still no test case?
> > Sorry, my response wasn't sent: I can't add a test to exercise this because I can't make a valid Yaml with an unsupported version number (`ELFEmitter.cpp` returns error if I specify version> 1), but I also don't think it's a good idea to remove that error handling. What do you suggest?
> Hmm, good point. What do you think about the following proposal:
> 
> 1) Emit a warning rather than an error with yaml2obj.
> 2) In this case, treat it as the max supported version (i.e. 1) and generate data like that, except with a value 2 for the Version field.
> 
> YAML is really only used for testing, so emitting an error blocks us from testing the actual production code we want to test, which seems unfortunate!
> 
> The alternative approach would be to use assembly, right?
Done. Thanks for the suggestion.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D121346/new/

https://reviews.llvm.org/D121346



More information about the llvm-commits mailing list