[all-commits] [llvm/llvm-project] 67887b: [Scalarizer] Do not insert instructions between PH...

Daniele Vettorel via All-commits all-commits at lists.llvm.org
Tue Nov 2 06:55:04 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 67887b0f81aca71026a36b42d9ca4189f881862c
      https://github.com/llvm/llvm-project/commit/67887b0f81aca71026a36b42d9ca4189f881862c
  Author: Daniele Vettorel <dvet at google.com>
  Date:   2021-11-02 (Tue, 02 Nov 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    A llvm/test/Transforms/Scalarizer/dbg-invariant.ll
    A llvm/test/Transforms/Scalarizer/phi-order.ll

  Log Message:
  -----------
  [Scalarizer] Do not insert instructions between PHI nodes and debug intrinsics.

The scalarizer pass seems to be inserting instructions in-between PHI nodes or debug intrinsics that end up staying at the end of the pass, resulting in malformed IR and violating assumptions.

This patch adds a check to make sure the `extractelement` instructions that it adds are correctly placed after all PHI nodes and debug intrinsics.

Patch by vettoreldaniele.

Reviewed By: bjope

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




More information about the All-commits mailing list