This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch to fix constant math - 8th patch - tree-vrp.c


On Thu, 1 Nov 2012, Kenneth Zadeck wrote:

This patch converts tree-vpn to use wide-int. In doing so it gets rid of all restrictions that this pass currently has on the target or source word size.

The pass's reliance on a finite "infinite precision" representation has been preserved. It first scans the function being compiled to determine the largest type that needs to be represented within that function and then it uses some multiple of that size as it's definition of infinite.

I am currently using 4 for this value. However marc glisse claims that this may be due to a bug and that the value should be 2. This is something that has to be investigated further. This could easily be my mistake or some other issue that has crept into the pass. The value of 2 or 4 is easily changed in largest_initialize. The only truly non mechanical transformation is in the code that multiplies two ranges. This code uses the wide-int multiply full functions rather than using pairs of double-ints.

(I didn't look at the patch (yet))


Er, no, I didn't claim that using 4 was wrong, I think it is good because it makes things easier. I only claimed that the current implementation jumps through enough hoops to make do with 2.

--
Marc Glisse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]