scripts: Added make ctx, adopted ctx.py in the Makefile
make ctx now does what you expect it to, and ctx.py now replaces
structs.py in the summary rules (make funcs, make summary):
$ make summary
... blablabla ...
code data stack ctx
TOTAL 38100 0 2624 752
Also finally cleaned up SUMMARYFLAGS in make funcs. This should have
been cleaned up when cleaning up make summary...
This commit is contained in:
@@ -106,6 +106,7 @@ ifdef VERBOSE
|
|||||||
CODEFLAGS += -v
|
CODEFLAGS += -v
|
||||||
DATAFLAGS += -v
|
DATAFLAGS += -v
|
||||||
STACKFLAGS += -v
|
STACKFLAGS += -v
|
||||||
|
CTXFLAGS += -v
|
||||||
STRUCTSFLAGS += -v
|
STRUCTSFLAGS += -v
|
||||||
COVFLAGS += -v
|
COVFLAGS += -v
|
||||||
PERFFLAGS += -v
|
PERFFLAGS += -v
|
||||||
@@ -121,6 +122,7 @@ endif
|
|||||||
ifneq ($(OBJDUMP),objdump)
|
ifneq ($(OBJDUMP),objdump)
|
||||||
CODEFLAGS += --objdump-path="$(OBJDUMP)"
|
CODEFLAGS += --objdump-path="$(OBJDUMP)"
|
||||||
DATAFLAGS += --objdump-path="$(OBJDUMP)"
|
DATAFLAGS += --objdump-path="$(OBJDUMP)"
|
||||||
|
CTXFLAGS += --objdump-path="$(OBJDUMP)"
|
||||||
STRUCTSFLAGS += --objdump-path="$(OBJDUMP)"
|
STRUCTSFLAGS += --objdump-path="$(OBJDUMP)"
|
||||||
PERFFLAGS += --objdump-path="$(OBJDUMP)"
|
PERFFLAGS += --objdump-path="$(OBJDUMP)"
|
||||||
PERFBDFLAGS += --objdump-path="$(OBJDUMP)"
|
PERFBDFLAGS += --objdump-path="$(OBJDUMP)"
|
||||||
@@ -245,17 +247,33 @@ stack: $(CI) $(BUILDDIR)/lfs.stack.csv
|
|||||||
stack-diff: $(CI)
|
stack-diff: $(CI)
|
||||||
./scripts/stack.py $^ $(STACKFLAGS) -d $(BUILDDIR)/lfs.stack.csv
|
./scripts/stack.py $^ $(STACKFLAGS) -d $(BUILDDIR)/lfs.stack.csv
|
||||||
|
|
||||||
|
## Find the per-function context
|
||||||
|
.PHONY: ctx
|
||||||
|
ctx: CTXFLAGS+=-S
|
||||||
|
ctx: $(OBJ) $(BUILDDIR)/lfs.ctx.csv
|
||||||
|
./scripts/ctx.py $(OBJ) $(CTXFLAGS)
|
||||||
|
|
||||||
|
## Compare per-function context
|
||||||
|
.PHONY: ctx-diff
|
||||||
|
ctx-diff: $(CI)
|
||||||
|
./scripts/ctx.py $^ $(CTXFLAGS) -d $(BUILDDIR)/lfs.ctx.csv
|
||||||
|
|
||||||
## Find function sizes
|
## Find function sizes
|
||||||
.PHONY: funcs
|
.PHONY: funcs
|
||||||
funcs: SUMMARYFLAGS+=-S
|
funcs: SUMMARYFLAGS+=-S
|
||||||
funcs: SHELL=/bin/bash
|
funcs: SHELL=/bin/bash
|
||||||
funcs: $(BUILDDIR)/lfs.code.csv $(BUILDDIR)/lfs.stack.csv
|
funcs: \
|
||||||
|
$(BUILDDIR)/lfs.code.csv \
|
||||||
|
$(BUILDDIR)/lfs.stack.csv \
|
||||||
|
$(BUILDDIR)/lfs.ctx.csv
|
||||||
$(strip ./scripts/csv.py \
|
$(strip ./scripts/csv.py \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
||||||
-fcode=size -q $(SUMMARYFLAGS) -o-) \
|
-fcode=size -q -o-) \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
||||||
-fstack='max(limit)' -q $(SUMMARYFLAGS) -o-) \
|
-fstack='max(limit)' -q -o-) \
|
||||||
-bfunction -fcode -fstack='max(stack)' \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.ctx.csv \
|
||||||
|
-fctx='max(size)' -q -o-) \
|
||||||
|
-bfunction -fcode -fstack='max(stack)' -fctx='max(ctx)' \
|
||||||
$(SUMMARYFLAGS))
|
$(SUMMARYFLAGS))
|
||||||
|
|
||||||
## Compare function sizes
|
## Compare function sizes
|
||||||
@@ -265,18 +283,23 @@ funcs-diff: $(OBJ) $(CI)
|
|||||||
$(strip ./scripts/csv.py \
|
$(strip ./scripts/csv.py \
|
||||||
<(./scripts/csv.py \
|
<(./scripts/csv.py \
|
||||||
<(./scripts/code.py $(OBJ) -q $(CODEFLAGS) -o-) \
|
<(./scripts/code.py $(OBJ) -q $(CODEFLAGS) -o-) \
|
||||||
-fcode=size -q $(SUMMARYFLAGS) -o-) \
|
-fcode=size -q -o-) \
|
||||||
<(./scripts/csv.py \
|
<(./scripts/csv.py \
|
||||||
<(./scripts/stack.py $(CI) -q $(STACKFLAGS) -o-) \
|
<(./scripts/stack.py $(CI) -q $(STACKFLAGS) -o-) \
|
||||||
-fstack='max(limit)' -q $(SUMMARYFLAGS) -o-) \
|
-fstack='max(limit)' -q -o-) \
|
||||||
-bfunction -fcode -fstack='max(stack)' \
|
<(./scripts/csv.py \
|
||||||
|
<(./scripts/ctx.py $(OBJ) -q $(CTXFLAGS) -o-) \
|
||||||
|
-fctx='max(size)' -q -o-) \
|
||||||
|
-bfunction -fcode -fstack='max(stack)' -fctx='max(ctx)' \
|
||||||
$(SUMMARYFLAGS) -d <(./scripts/csv.py \
|
$(SUMMARYFLAGS) -d <(./scripts/csv.py \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
||||||
-fcode=size -q $(SUMMARYFLAGS) -o-) \
|
-fcode=size -q -o-) \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
||||||
-fstack='max(limit)' -q $(SUMMARYFLAGS) -o-) \
|
-fstack='max(limit)' -q -o-) \
|
||||||
-fcode -fstack='max(stack)' \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.ctx.csv \
|
||||||
-q $(SUMMARYFLAGS) -o-))
|
-fctx='max(size)' -q -o-) \
|
||||||
|
-fcode -fstack='max(stack)' -fctx='max(ctx)' \
|
||||||
|
-q -o-))
|
||||||
|
|
||||||
## Find struct sizes
|
## Find struct sizes
|
||||||
.PHONY: structs
|
.PHONY: structs
|
||||||
@@ -341,7 +364,7 @@ summary sizes: \
|
|||||||
$(BUILDDIR)/lfs.code.csv \
|
$(BUILDDIR)/lfs.code.csv \
|
||||||
$(BUILDDIR)/lfs.data.csv \
|
$(BUILDDIR)/lfs.data.csv \
|
||||||
$(BUILDDIR)/lfs.stack.csv \
|
$(BUILDDIR)/lfs.stack.csv \
|
||||||
$(BUILDDIR)/lfs.structs.csv
|
$(BUILDDIR)/lfs.ctx.csv
|
||||||
$(strip ./scripts/csv.py \
|
$(strip ./scripts/csv.py \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
||||||
-fcode=size -q -o-) \
|
-fcode=size -q -o-) \
|
||||||
@@ -349,9 +372,9 @@ summary sizes: \
|
|||||||
-fdata=size -q -o-) \
|
-fdata=size -q -o-) \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
||||||
-fstack='max(limit)' -q -o-) \
|
-fstack='max(limit)' -q -o-) \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.structs.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.ctx.csv \
|
||||||
-fstructs=size -q -o-) \
|
-fctx='max(size)' -q -o-) \
|
||||||
-bfunction -fcode -fdata -fstack='max(stack)' -fstructs \
|
-bfunction -fcode -fdata -fstack='max(stack)' -fctx='max(ctx)' \
|
||||||
-Y $(SUMMARYFLAGS))
|
-Y $(SUMMARYFLAGS))
|
||||||
|
|
||||||
## Compare compile-time sizes
|
## Compare compile-time sizes
|
||||||
@@ -370,9 +393,9 @@ summary-diff sizes-diff: $(OBJ) $(CI)
|
|||||||
<(./scripts/stack.py $(CI) -q $(STACKFLAGS) -o-) \
|
<(./scripts/stack.py $(CI) -q $(STACKFLAGS) -o-) \
|
||||||
-fstack='max(limit)' -q -o-) \
|
-fstack='max(limit)' -q -o-) \
|
||||||
<(./scripts/csv.py \
|
<(./scripts/csv.py \
|
||||||
<(./scripts/structs.py $(OBJ) -q $(STRUCTSFLAGS) -o-) \
|
<(./scripts/ctx.py $(OBJ) -q $(CTXFLAGS) -o-) \
|
||||||
-fstructs=size -q -o-) \
|
-fctx='max(size)' -q -o-) \
|
||||||
-fcode -fdata -fstack='max(stack)' -fstructs \
|
-fcode -fdata -fstack='max(stack)' -fctx='max(ctx)' \
|
||||||
-bbuild='"AFTER"' -q -o-) \
|
-bbuild='"AFTER"' -q -o-) \
|
||||||
<(./scripts/csv.py \
|
<(./scripts/csv.py \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
|
||||||
@@ -381,9 +404,9 @@ summary-diff sizes-diff: $(OBJ) $(CI)
|
|||||||
-fdata=size -q -o-) \
|
-fdata=size -q -o-) \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
|
||||||
-fstack='max(limit)' -q -o-) \
|
-fstack='max(limit)' -q -o-) \
|
||||||
<(./scripts/csv.py $(BUILDDIR)/lfs.structs.csv \
|
<(./scripts/csv.py $(BUILDDIR)/lfs.ctx.csv \
|
||||||
-fstructs=size -q -o-) \
|
-fctx='max(size)' -q -o-) \
|
||||||
-fcode -fdata -fstack='max(stack)' -fstructs \
|
-fcode -fdata -fstack='max(stack)' -fctx='max(ctx)' \
|
||||||
-bbuild='"BEFORE"' -q -o-) \
|
-bbuild='"BEFORE"' -q -o-) \
|
||||||
-bbuild -cBEFORE -Y $(SUMMARYFLAGS))
|
-bbuild -cBEFORE -Y $(SUMMARYFLAGS))
|
||||||
|
|
||||||
@@ -492,6 +515,9 @@ $(BUILDDIR)/lfs.data.csv: $(OBJ)
|
|||||||
$(BUILDDIR)/lfs.stack.csv: $(CI)
|
$(BUILDDIR)/lfs.stack.csv: $(CI)
|
||||||
./scripts/stack.py $^ -q $(STACKFLAGS) -o $@
|
./scripts/stack.py $^ -q $(STACKFLAGS) -o $@
|
||||||
|
|
||||||
|
$(BUILDDIR)/lfs.ctx.csv: $(OBJ)
|
||||||
|
./scripts/ctx.py $^ -q $(CTXFLAGS) -o $@
|
||||||
|
|
||||||
$(BUILDDIR)/lfs.structs.csv: $(OBJ)
|
$(BUILDDIR)/lfs.structs.csv: $(OBJ)
|
||||||
./scripts/structs.py $^ -q $(STRUCTSFLAGS) -o $@
|
./scripts/structs.py $^ -q $(STRUCTSFLAGS) -o $@
|
||||||
|
|
||||||
@@ -556,6 +582,7 @@ clean:
|
|||||||
rm -f $(BUILDDIR)/lfs.code.csv
|
rm -f $(BUILDDIR)/lfs.code.csv
|
||||||
rm -f $(BUILDDIR)/lfs.data.csv
|
rm -f $(BUILDDIR)/lfs.data.csv
|
||||||
rm -f $(BUILDDIR)/lfs.stack.csv
|
rm -f $(BUILDDIR)/lfs.stack.csv
|
||||||
|
rm -f $(BUILDDIR)/lfs.ctx.csv
|
||||||
rm -f $(BUILDDIR)/lfs.structs.csv
|
rm -f $(BUILDDIR)/lfs.structs.csv
|
||||||
rm -f $(BUILDDIR)/lfs.cov.csv
|
rm -f $(BUILDDIR)/lfs.cov.csv
|
||||||
rm -f $(BUILDDIR)/lfs.perf.csv
|
rm -f $(BUILDDIR)/lfs.perf.csv
|
||||||
|
|||||||
Reference in New Issue
Block a user