[m-rev.] for review: only reserve 2 registers for global register on x86

Julien Fischer juliensf at csse.unimelb.edu.au
Fri Nov 9 16:22:12 AEDT 2007

On Thu, 8 Nov 2007, Julien Fischer wrote:

> Estimated hours taken: 1
> Branches: main
> As discussed on mercury-developers, reduce the number of registers that
> are reserved for use as gcc global register variables on x86 machines
> for non-PIC Mercury code from three to two.
> This change should reduce the frequency of register allocation problems
> occurring with gcc on x86 machines, at the cost of increasing execution
> time for non-PIC by about 2.2%.   (That figure is based on our standard
> benchmark.)
> runtime/machdeps/i386_regs.h:
> 	Do not reserve an extra register for use as a global register
> 	variable for non-PIC on x86.
> configure.in:
> 	Conform to the new number of global register variables.
> 	Define EXT_FOR_LINK_WITH_PIC_OBJECTS as .o rather than .lpic_o
> 	on x86.  (The latter should only be used when MR_PIC_REG has
> 	some meaning.)
> compiler/compile_target_code.m:
> 	Update a comment: MR_PIC_REG no longer has an effect on x86
> 	machines.

Could somebody please review this?  I would like to commit it today.

mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au

More information about the reviews mailing list