[PATCH] D104950: [OpaquePtr] Support forward references in textual IR

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 26 01:33:09 PDT 2021


nikic added a comment.

In D104950#2841956 <https://reviews.llvm.org/D104950#2841956>, @dexonsmith wrote:

> In D104950#2841883 <https://reviews.llvm.org/D104950#2841883>, @nikic wrote:
>
>> llvm/test/Assembler/metadata-use-uselistorder.ll is failing on Windows, but not locally :(
>
> If you can get access to a Windows machine, are you able to post the output of this somewhere?

I don't have access to Windows, but I figured out what the platform dependent part here is: verify-uselistorder performs shuffles of the use list, and these are based on the std rng infrastructure, so it's prone to be platform dependent. Running the test with `--num-shuffles 2` makes it reproduce on Linux.

In the end, it's very simple to reproduce, we just need three calls to a forward declaration:

  define void @test() {
    call void @dummy(i32 0)
    call void @dummy(i32 1)
    call void @dummy(i32 2)
    ret void
  }         
    
  declare void @dummy(i32)

And then we get this use-list order mismatch: https://gist.github.com/nikic/dfa27b1620b9501baf6fc70f87ca6fb2


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104950



More information about the llvm-commits mailing list