[PATCH] D18609: [AArch64][CodeGen] Refactor AArch64InstrInfo::optimizeCompareInstr to prepare it for fixing a bug in it

Evgeny Astigeevich via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 30 10:14:53 PDT 2016


eastig created this revision.
eastig added a reviewer: jmolloy.
eastig added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.

AArch64InstrInfo::optimizeCompareInstr has a bug which causes generation of incorrect code. Details can be found here: http://reviews.llvm.org/D18318
The patch refactors the function to simplify reviewing the fix of the bug. It does not fix the bug. It preserves the original behaviour.
The fix of the bug will be submitted later.

 # Function name ‘modifiesConditionCode’ is changed to ‘areCFlagsAccessedBetweenInstrs’ to reflect that the function can check modifying accesses, reading accesses or both.
 # Function ‘AArch64InstrInfo::optimizeCompareInstr’
        - Documented the function
        - Cmp_NZCV  is DeadNZCVIdx to reflect that it is an operand index of dead NZCV
        - The code for the case of substituting CmpInstr is put into separate functions the main of them is ‘substituteCmpInstr’.

http://reviews.llvm.org/D18609

Files:
  lib/Target/AArch64/AArch64InstrInfo.cpp
  lib/Target/AArch64/AArch64InstrInfo.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18609.52075.patch
Type: text/x-patch
Size: 10028 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160330/1e087877/attachment.bin>


More information about the llvm-commits mailing list