[all-commits] [llvm/llvm-project] 79962d: [Attributor] Allow to reproduce instructions for s...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Mon Apr 4 10:28:45 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 79962df3866a1e539b7803d3ed696821239ffaaf
      https://github.com/llvm/llvm-project/commit/79962df3866a1e539b7803d3ed696821239ffaaf
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-04-04 (Mon, 04 Apr 2022)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll

  Log Message:
  -----------
  [Attributor] Allow to reproduce instructions for simplification

When simplify values we might end up with an instruction from a
different scope or just one that does not dominate the use. If the
instruction can be reproduced without side-effect (incl. UB) we can
now do that. For now this is mostly used for speculatable (intrinsic)
calls but as we learn to make things like arguments or loads available
this will become more powerful.

This will also allow us to remove dead stores more easily in a follow
up.




More information about the All-commits mailing list