[PATCH] [AArch64] Add pass to enable additional comparison optimizations by CSE

Sergey Dmitrouk sdmitrouk at accesssoftek.com
Mon Aug 25 01:35:50 PDT 2014


Hi Jiangning,

This pass tries to make consecutive compares of values use same operands to
allow CSE pass to remove duplicated instructions.  For this it analyzes
branches and adjusts comparisons with immediate values by converting:
 * GE -> GT
 * GT -> GE
 * LT -> LE
 * LE -> LT
and adjusting immediate values appropriately.  It basically corrects two
immediate values towards each other to make them equal.

http://reviews.llvm.org/D5044

Files:
  lib/Target/AArch64/AArch64.h
  lib/Target/AArch64/AArch64ConditionOptimizer.cpp
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/AArch64/CMakeLists.txt
  test/CodeGen/AArch64/combine-comparisons-by-cse.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5044.12893.patch
Type: text/x-patch
Size: 28360 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140825/3d32b120/attachment.bin>


More information about the llvm-commits mailing list