Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: syssrc/sys/arch



Module Name:    syssrc
Committed By:   bjh21
Date:           Mon Oct 14 22:32:55 UTC 2002

Modified Files:
        syssrc/sys/arch/arm/arm32: cpuswitch.S
        syssrc/sys/arch/arm/footbridge: footbridge_irq.S
        syssrc/sys/arch/arm/iomd: iomd_irq.S
        syssrc/sys/arch/arm/ixp12x0: ixp12x0_irq.S
        syssrc/sys/arch/arm/ofw: ofw_irq.S
        syssrc/sys/arch/arm/sa11x0: sa11x0_irq.S
        syssrc/sys/arch/arm/xscale: i80200_irq.S i80321_irq.S
        syssrc/sys/arch/evbarm/ifpga: ifpga_irq.S
        syssrc/sys/arch/evbarm/iq80310: iq80310_start.S
        syssrc/sys/arch/evbarm/iq80321: iq80321_start.S
        syssrc/sys/arch/evbarm/stand/gzboot: srtbegin.S
        syssrc/sys/arch/hpcarm/hpcarm: locore.S
        syssrc/sys/arch/netwinder/netwinder: nwmmu.S
        syssrc/sys/arch/shark/isa: isa_irq.S

Log Message:
Continue the " - . - 8" purge.  Specifically:

add     rd, pc, #foo - . - 8            ->      adr     rd, foo
ldr     rd, [pc, #foo - . - 8]          ->      ldr     rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.


To generate a diff of this commit:
cvs rdiff -r1.23 -r1.24 syssrc/sys/arch/arm/arm32/cpuswitch.S
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arm/footbridge/footbridge_irq.S
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arm/iomd/iomd_irq.S
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arm/ixp12x0/ixp12x0_irq.S
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arm/ofw/ofw_irq.S
cvs rdiff -r1.3 -r1.4 syssrc/sys/arch/arm/sa11x0/sa11x0_irq.S
cvs rdiff -r1.6 -r1.7 syssrc/sys/arch/arm/xscale/i80200_irq.S
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/arm/xscale/i80321_irq.S
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/evbarm/ifpga/ifpga_irq.S
cvs rdiff -r1.3 -r1.4 syssrc/sys/arch/evbarm/iq80310/iq80310_start.S
cvs rdiff -r1.3 -r1.4 syssrc/sys/arch/evbarm/iq80321/iq80321_start.S
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/evbarm/stand/gzboot/srtbegin.S
cvs rdiff -r1.5 -r1.6 syssrc/sys/arch/hpcarm/hpcarm/locore.S
cvs rdiff -r1.6 -r1.7 syssrc/sys/arch/netwinder/netwinder/nwmmu.S
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/shark/isa/isa_irq.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index