[llvm-commits] CVS: llvm/lib/Target/README.txt
Reid Spencer
reid at x10sys.com
Wed Oct 25 23:16:24 PDT 2006
Changes in directory llvm/lib/Target:
README.txt updated: 1.43 -> 1.44
---
Log message:
For PR950: http://llvm.org/PR950 :
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
---
Diffs of the changes: (+13 -0)
README.txt | 13 +++++++++++++
1 files changed, 13 insertions(+)
Index: llvm/lib/Target/README.txt
diff -u llvm/lib/Target/README.txt:1.43 llvm/lib/Target/README.txt:1.44
--- llvm/lib/Target/README.txt:1.43 Tue Oct 24 11:12:47 2006
+++ llvm/lib/Target/README.txt Thu Oct 26 01:15:43 2006
@@ -319,3 +319,16 @@
}
//===---------------------------------------------------------------------===//
+
+-instcombine should handle this transform:
+ setcc (sdiv X / C1 ), C2
+when X, C1, and C2 are unsigned. Similarly for udiv and signed operands.
+
+Currently InstCombine avoids this transform but will do it when the signs of
+the operands and the sign of the divide match. See the FIXME in
+InstructionCombining.cpp in the visitSetCondInst method after the switch case
+for Instruction::UDiv (around line 4447) for more details.
+
+The SingleSource/Benchmarks/Shootout-C++/hash and hash2 tests have examples of
+this construct.
+//===---------------------------------------------------------------------===//
More information about the llvm-commits
mailing list