[all-commits] [llvm/llvm-project] 6b62a9: [RemoveDIs] Reapply 3fda50d3915, insert instructio...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Mon Mar 4 05:15:55 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6b62a9135a28bd001263e5a9db08d4cff1123126
      https://github.com/llvm/llvm-project/commit/6b62a9135a28bd001263e5a9db08d4cff1123126
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-03-04 (Mon, 04 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
    M llvm/lib/Transforms/Utils/LowerInvoke.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/lib/Transforms/Utils/LowerSwitch.cpp
    M llvm/lib/Transforms/Utils/MatrixUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Utils/StripGCRelocates.cpp
    M llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
    M llvm/tools/bugpoint/Miscompilation.cpp
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Reapply 3fda50d3915, insert instructions using iterators

I'd reverted this in 6c7805d5d1 after a bad stage. Original commit
messsage follows:

[NFC][RemoveDIs] Bulk update utilities to insert with iterators

As part of the RemoveDIs project we need LLVM to insert instructions using
iterators wherever possible, so that the iterators can carry a bit of
debug-info. This commit implements some of that by updating the contents of
llvm/lib/Transforms/Utils to always use iterator-versions of instruction
constructors.

There are two general flavours of update:
 * Almost all call-sites just call getIterator on an instruction
 * Several make use of an existing iterator (scenarios where the code is
   actually significant for debug-info)
The underlying logic is that any call to getFirstInsertionPt or similar
APIs that identify the start of a block need to have that iterator passed
directly to the insertion function, without being converted to a bare
Instruction pointer along the way.

I've also switched DemotePHIToStack to take an optional iterator: it needs
to take an iterator, and having a no-insert-location behaviour appears to
be important. The constructors for ICmpInst and FCmpInst have been updated
too. They're the only instructions that take block _references_ rather than
pointers for certain calls, and a future patch is going to make use of
default-null block insertion locations.

All of this should be NFC.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list