[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