[all-commits] [llvm/llvm-project] 03bce0: [GlobalISel][Localizer] Don't localize phi operand...
AE via All-commits
all-commits at lists.llvm.org
Mon Jan 25 17:52:31 PST 2021
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 03bce0bf4e3708baa6f2fd7007d79b739f067ddc
https://github.com/llvm/llvm-project/commit/03bce0bf4e3708baa6f2fd7007d79b739f067ddc
Author: Amara Emerson <amara at apple.com>
Date: 2021-01-25 (Mon, 25 Jan 2021)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/lib/CodeGen/GlobalISel/Localizer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
Log Message:
-----------
[GlobalISel][Localizer] Don't localize phi operands which are used more than once in the phi.
The current algorithm just tries to localize defs as far as they can go, and in
the case of G_PHI operands, it clones the def into the predecessor block for
each incoming edge. When multiple edges have the same register value, this can
cause unnecessary code bloat, and inhibit later optimizations.
This change checks if a given phi operand is unique in the phi, if not the
def of that register is not localized to the predecessor.
Differential Revision: https://reviews.llvm.org/D95406
More information about the All-commits
mailing list