small optimization changes, gitignores

master
Paul Goeser 15 years ago
parent 74e441fec3
commit a190948dbc

1
.gitignore vendored

@ -1,2 +1,3 @@
*~ *~
.*.swp .*.swp
.swp

@ -0,0 +1,8 @@
*.d
*.i
*.o
*.s
disasm
firmware.hex
firmware.bin

@ -1,5 +1,5 @@
DEFINES += -DF_CPU=16000000 DEFINES += -DF_CPU=16000000
CFLAGS += -save-temps #CFLAGS += -save-temps
OBJECTS = usbdrv/usbdrvasm.o usbdrv/usbdrv.o main.o display.o lcd/lcd.o OBJECTS = usbdrv/usbdrvasm.o usbdrv/usbdrv.o main.o display.o lcd/lcd.o

@ -3,8 +3,11 @@ CFLAGS += -Wall -Os -I. -mmcu=atmega88
# further optimization: # further optimization:
# this removes dead code and does global linker optimization # this removes dead code and does global linker optimization
#CFLAGS += -ffunction-sections -Wl,--gc-sections -Wl,--relax CFLAGS += -ffunction-sections -Wl,--gc-sections -Wl,--relax
#CFLAGS += --param inline-call-cost=2 #CFLAGS += --param inline-call-cost=2
CFLAGS += -fno-move-loop-invariants # suggestions from from v-usb
CFLAGS += -fno-tree-scev-cprop
CFLAGS += -fno-inline-small-functions
COMPILE = avr-gcc $(CFLAGS) $(DEFINES) COMPILE = avr-gcc $(CFLAGS) $(DEFINES)

@ -30,15 +30,20 @@ def main():
for a,b in sorted(v): for a,b in sorted(v):
print "%4i %s"%(b,a) print "%4i %s"%(b,a)
print "namespace sizes:" print "namespace sizes:"
for k,v in namespacedict.items(): smallnamespace = 0
for k,v in sorted(namespacedict.items()):
if(len(v) == 1): # skip if the namespace has one item
smallnamespace += sum( [ i[1] for i in v ] )
continue
totalsize = sum( [ i[1] for i in v ] ) totalsize = sum( [ i[1] for i in v ] )
print "%4i %s*"%(totalsize,k) print "%4i %s*"%(totalsize,k)
print "%4i %s*"%(smallnamespace,"<smallnamespace>")
def get_namespace(name): def get_namespace(name):
matchlist = [ matchlist = [
r"(^__)", r"(^__)",
r"(^\w+?_)", r"(^\w+?_)",
r"(\w[a-z0-9])[A-Z]"] r"(\w[a-z0-9]+?)[A-Z]"]
for i in matchlist: for i in matchlist:
m = re.match(i, name) m = re.match(i, name)
if m: if m:

@ -0,0 +1,5 @@
*.d
*.i
*.o
*.s
Loading…
Cancel
Save