[all-commits] [llvm/llvm-project] ac6e17: [Assignment Tracking] Remove overly defensive Allo...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Wed Apr 26 03:25:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ac6e177ce60efdd688e0823389cd167f931437bd
      https://github.com/llvm/llvm-project/commit/ac6e177ce60efdd688e0823389cd167f931437bd
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2023-04-26 (Wed, 26 Apr 2023)

  Changed paths:
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    A llvm/test/DebugInfo/assignment-tracking/X86/global-storage.ll

  Log Message:
  -----------
  [Assignment Tracking] Remove overly defensive AllocaInst assertion

Remove assert from AssignmentTrackingAnalysis that fires if a local variable
has non-alloca storage. The analysis can emit these locations but the
assignment tracking code in SelectionDAG isn't ready to handle non-alloca
storage for locals yet. The AssignmentTrackingPass (pass that adds assignment
tracking metadata) ignores non-alloca dbg.declares, so the only variables
affected are those who's backing storage is changed from an alloca during
optimisation, and the result is the variables are dropped.

Fixes: https://ci.chromium.org/ui/p/pigweed/builders/toolchain/
                 toolchain-ci-pigweed-linux/b8783274592206481489/overview

Reviewed By: StephenTozer

Differential Revision: https://reviews.llvm.org/D149135




More information about the All-commits mailing list