From 2cd9196e8781ca004f8806b40d32efeff484269b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 23 Jul 2003 21:41:57 +0000 Subject: [PATCH] Add comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7283 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/InstructionCombining.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 7411428f40f..6d5502533a0 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -12,6 +12,15 @@ // // This is a simple worklist driven algorithm. // +// This pass guarantees that the following cannonicalizations are performed on +// the program: +// 1. If a binary operator has a constant operand, it is moved to the RHS +// 2. Logical operators with constant operands are always grouped so that +// 'or's are performed first, then 'and's, then 'xor's. +// 3. SetCC instructions are converted from <,>,<=,>= to ==,!= if possible +// 4. All SetCC instructions on boolean values are replaced with logical ops +// N. This list is incomplete +// //===----------------------------------------------------------------------===// #include "llvm/Transforms/Scalar.h" -- 2.34.1