HomeFreeBSD

MFC r351938:

Description

MFC r351938:

Pull in r371111 from upstream llvm trunk (by Eli Friedman):

[IfConversion] Fix diamond conversion with unanalyzable branches.

The code was incorrectly counting the number of identical
instructions, and therefore tried to predicate an instruction which
should not have been predicated.  This could have various effects: a
compiler crash, an assembler failure, a miscompile, or just
generating an extra, unnecessary instruction.

Instead of depending on TargetInstrInfo::removeBranch, which only
works on analyzable branches, just remove all branch instructions.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43121 and
https://bugs.llvm.org/show_bug.cgi?id=41121 .

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

This should fix "Unable to predicate BX killed renamable $r0" errors
when building the lang/spidermonkey170 and lang/spidermonkey38 ports for
armv7 and armv6.

PR: 236567

Details

Provenance
dimAuthored on
Parents
rS352088: MFC r351813: bectl(8): implement sorting for 'bectl list' output
Branches
Unknown
Tags
Unknown