SuccessChanges

Summary

  1. [llvm-ranlib][test] Fix rwx- after a4f3847f3d5742cfab7acdc614e7ca54643e0c85 (details)
  2. [Attributor][FIX] Do not RAUW void values (details)
  3. [Attributor][FIX] Carefully strip casts in AANoAlias (details)
  4. [Attributor][NFC] Add check lines for tests (details)
  5. [Attributor][FIX] Restrict cross-SCC call deletion (details)
  6. [Attributor][FIX] Collapse `undef` to a proper value (details)
  7. [Attributor] Manifest simplified (return) values properly (details)
  8. [Attributor][FIX] Ensure abstract attributes are existing before manifest (details)
Commit 89fa653d721458f84df12d4e8b4ca4708a34792a by maskray
[llvm-ranlib][test] Fix rwx- after a4f3847f3d5742cfab7acdc614e7ca54643e0c85
The file was modifiedllvm/test/tools/llvm-ranlib/D-flag.test
Commit b4352e43d86e0b2ab93665e46c9cb9bddef3fd7a by johannes
[Attributor][FIX] Do not RAUW void values

This caused an error when passes iterated over cached assumptions in the
tracker and assumed them to be `null` or an instruction. I failed to
create a test case so far.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 32e98a7089a591f0417a7fbd9806be1b60da7e8f by johannes
[Attributor][FIX] Carefully strip casts in AANoAlias

We can strip casts in AANoAlias but that might cause us to end up with a
non-pointer type. We do properly handle that case now.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
Commit 40b30672182829a053a243c54947c362ce49f68e by johannes
[Attributor][NFC] Add check lines for tests
The file was modifiedllvm/test/Transforms/Attributor/range.ll
Commit 137c99a6a5cd419086824035c1498baddbd46962 by johannes
[Attributor][FIX] Restrict cross-SCC call deletion

If we know a call was not needed we might have ended up deleting it even
if it was in a different SCC. This prevents us from doing so.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
Commit b53af0e7f952feb0a54eff2ef9c9e38e62620a4b by johannes
[Attributor][FIX] Collapse `undef` to a proper value

If we see an undef we cannot assume it's the same as "no value". For now
we just collapse it to 0.
The file was modifiedllvm/test/Transforms/Attributor/undefined_behavior.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit ad121ea14d85ea3216048d4e956eb234899f41f7 by johannes
[Attributor] Manifest simplified (return) values properly

If we simplify a function return value we have to modify the return
instructions.
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
Commit b70297a39ab9c8ad27e5681928b10073ed7db2fb by johannes
[Attributor][FIX] Ensure abstract attributes are existing before manifest

While the function return updateImpl did only look at call sites the
manifest method looked at return values. If we don't do this during the
updateImpl we might create new abstract attributes during manifest. This
is a problem when it comes to liveness information.
The file was addedllvm/test/Transforms/Attributor/reduced/register_benchmark_test.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp