[PATCH] Allow ScalarEvolution to catch more min/max cases

Nick Lewycky nicholas at mxc.ca
Wed Feb 4 01:00:06 PST 2015


The logic here looks pretty obviously correct. I am confused about the 
whitespace though. This looks right:

+        if (getTypeSizeInBits(LHS->getType()) <=
+            getTypeSizeInBits(U->getType())) {

but these do not:

+        if (getTypeSizeInBits(LHS->getType()) <=
+                getTypeSizeInBits(U->getType()) &&

...

+        if (getTypeSizeInBits(LHS->getType()) <=
+                getTypeSizeInBits(U->getType()) &&

Consider clang-format'ing and then commit.

Johannes Doerfert wrote:

> Hi sunfish, atrick, bkramer,

> 

>   For the test case attached different types are used in the ICmpInst

>   and SelectInst that represent the min/max expressions. However, if the

>   ICmpInst type is smaller a comparison with the sign/zero extended

>   operands would have yielded the same result. This situation might arise after

>   the instruction combination pass was applied.

> 

> http://reviews.llvm.org/D7338

> 

> Files:

> 

>   lib/Analysis/ScalarEvolution.cpp

>   test/Analysis/ScalarEvolution/min-max-exprs.ll

> 

> EMAIL PREFERENCES

> 

>   http://reviews.llvm.org/settings/panel/emailpreferences/

> 

> _______________________________________________

>  llvm-commits mailing list

>  llvm-commits at cs.uiuc.edu

>  http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



http://reviews.llvm.org/D7338

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list