[LLVMbugs] [Bug 494] [llvmgcc] Signed divide generated for pointer difference

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Jan 2 13:17:05 PST 2005


sabre at nondot.org changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |1.5

------- Additional Comments From sabre at nondot.org  2005-01-02 15:17 -------
Fixed.  Patch here: 
Testcase here: 
The example in the bug is now compiled to: 
int %Diff(int* %P, int* %Q) { 
        %tmp.1 = cast int* %P to int            ; <int> [#uses=1] 
        %tmp.3 = cast int* %Q to int            ; <int> [#uses=1] 
        %tmp.4 = sub int %tmp.1, %tmp.3         ; <int> [#uses=1] 
        %tmp.5 = shr int %tmp.4, ubyte 2                ; <int> [#uses=1] 
        ret int %tmp.5 
This patch only implements it for the power of two case.  To do more will 
require the eventual extension of the LLVM IR to support "exact" integer 

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list