[all-commits] [llvm/llvm-project] 1536e2: InstSimplify: Require instruction be parented

Matt Arsenault via All-commits all-commits at lists.llvm.org
Fri Jun 2 15:14:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1536e299e63d7788f38117b0212ca50eb76d7a3b
      https://github.com/llvm/llvm-project/commit/1536e299e63d7788f38117b0212ca50eb76d7a3b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-06-02 (Fri, 02 Jun 2023)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/Inline/inline_inv_group.ll
    M llvm/test/Transforms/Inline/simplify-instruction-computeKnownFPClass-context.ll
    M llvm/test/Transforms/LoopRotate/pr56260.ll
    M llvm/test/Transforms/SampleProfile/profile-context-tracker-debug.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
    M llvm/test/Transforms/SimplifyCFG/pr46638.ll
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  InstSimplify: Require instruction be parented

Unlike every other analysis and transform, simplifyInstruction
permitted operating on instructions which are not inserted
into a function. This created an edge case no other code needs
to really worry about, and limited transforms in cases that
can make use of the context function. Only the inliner and a handful
of other utilities were making use of this, so just fix up these
edge cases. Results in some IR ordering differences since
cloned blocks are inserted eagerly now. Plus some additional
simplifications trigger (e.g. some add 0s now folded out that
previously didn't).


  Commit: 2ca21e8775dd16189bb4c00c3f9553f17578a63c
      https://github.com/llvm/llvm-project/commit/2ca21e8775dd16189bb4c00c3f9553f17578a63c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-06-02 (Fri, 02 Jun 2023)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  InstSimplify: Remove null parent checks

The feature to operate on incomplete IR was barely used
an poorly tested.


Compare: https://github.com/llvm/llvm-project/compare/12d967c95f16...2ca21e8775dd


More information about the All-commits mailing list