3 ms·
If Clang generated non-deterministic output due to pointer addresses then that's a bug (happens regularly) that should be fixed. The most common way this happen
by pertymcpert 4mo ago
If Clang generated non-deterministic output due to pointer addresses then that's a bug (happens regularly) that should be fixed. The most common way this happens if it some code path is iterating over a DenseMap which is non-deterministic. Sometimes that's fine and sometimes that's not depending on how that map is used. The common way to fix that is to switch to a MapVector which pays some additional runtime/memory cost to guarantee deterministic iteration order.
- xena 4mo agoI'll try and make a minimal reproduction case and file a bug. Do you know if any tooling that can take a binary and fuzz it down to a minimal reproduction set?
- amatria 4mo agocvise. Here is a link to a mini tutorial I wrote for a user in an LLVM issue: https://github.com/llvm/llvm-project/issues/108827#issuecomment-2597596068 https://github.com/llvm/llvm-project/issues/108827#issuecomm...
- xena 4mo agoThank you, this will be very useful.
- glandium 4mo agoClaude code is actually rather good at this. If your initial testcase is not too big, you can use creduce or cvise.
- xena 4mo agoSadly my initial test case is binaryen which has 290 compilation units. I will try though.
- deleted 4mo ago[deleted]