Details
- Reviewers
eugenis - Commits
- rG915e07605cd5: [msan] Handle funnel shifts
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Instrumentation change LGTM but the test looks way too complicated. I'd edit it down to only check the lines that matter, split to have one intrinsic call per function (that should simplify matching quite a bit) and drop some of the vector-size variants.
I'm also not a fan of adding a test for the broken state before the fix, but up to you. I can see how it is useful during development, but not sure what's the point of having it in git history.
It's auto-generated test, manual cleunup will make it impossible auto-update
I'm also not a fan of adding a test for the broken state before the fix, but up to you. I can see how it is useful during development, but not sure what's the point of having it in git history.
To see the difference.
OK then, LGTM.
Btw, we are lucky that setOriginForNaryOp is right-biased. If both the shift size and one of the other arguments are undefined, we would want to blame the shift size, because the undefined bits from the first 2 arguments may get shifted away. To be precise, we would still want to mask out the extra bits in the shift size argument before using it in the origin computation, but that's a mostly theoretical concern.