[PATCH] D49380: [ARM] Remove some code from PerformCMOVCombine

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 17 11:39:22 PDT 2018


efriedma added a comment.

If you want to specifically detect a "no-op" select, like your testcase, instcombine is probably appropriate.  (I think we already have that combine, but maybe it doesn't look through zero-extensions.)

The redundant mov is really a property of ARM specifically, though: unlike other architectures, like AArch64, a conditional mov is a two-address instruction on ARM, so we want to reuse an existing register if possible.  And we don't really represent the "conditional-move" aspect until after legalization, so I'm not sure where we would move this code to, despite the FIXME.


https://reviews.llvm.org/D49380





More information about the llvm-commits mailing list