Skip to content

Commit d9e5a5a

Browse files
authored
Merge pull request #19 from TimBellerby/pm0_4
Changes to IR dumping
2 parents 77db2d4 + 2c55570 commit d9e5a5a

File tree

13 files changed

+2346
-832
lines changed

13 files changed

+2346
-832
lines changed

pm/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ PFLAGS= -g -I../src -fbounds-check -fcheck=mem
2929

3030
PMCODE= sysdep.o kinds.o pcomp.o memory.o hash.o opts.o lib.o symbol.o types.o parser.o linker.o vmdefs.o sysdefs.o codegen.o infer.o wcoder.o array.o parlib.o vm.o main.o
3131

32+
PMCODE2= ../config/sysdep.f90 ../src/kinds.f90 ../src/pcomp.f90 ../src/memory.f90 ../src/hash.f90 ../src/opts.f90 ../src/lib.f90 ../src/symbol.f90 ../src/types.f90 ../src/parser.f90 ../src/linker.f90 ../src/vmdefs.f90 ../src/sysdefs.f90 ../src/codegen.f90 ../src/infer.f90 ../src/wcoder.f90 ../src/array.f90 ../src/parlib.f90 ../src/vm.f90 ../src/main.f90
33+
34+
3235

3336
all : pm
3437

@@ -98,3 +101,6 @@ vm.o : ../src/vm.f90 parlib.o array.o sysdefs.o types.o symbol.o lib.o opts.o ha
98101
main.o : ../src/main.f90 vm.o parlib.o array.o wcoder.o infer.o codegen.o linker.o parser.o symbol.o sysdefs.o types.o lib.o opts.o hash.o memory.o kinds.o pcomp.o sysdep.o
99102
$(FC) $(PFLAGS) -c $<
100103

104+
105+
src:
106+
cat $(PMCODE) > pm_interp.f90

pmc/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,18 @@ opts.o : ../src/opts.f90 hash.o memory.o kinds.o scomp.o sysdep.o
5858
$(FC) $(FFLAGS) -c $<
5959

6060

61-
symbol.o : ../src/symbol.f90 hash.o memory.o kinds.o scomp.o sysdep.o
61+
symbol.o : ../src/symbol.f90 opts.o hash.o memory.o kinds.o scomp.o sysdep.o
6262
$(FC) $(FFLAGS) -c $<
6363

64-
lib.o : ../src/lib.f90 symbol.o hash.o memory.o kinds.o scomp.o sysdep.o
64+
lib.o : ../src/lib.f90 symbol.o opts.o hash.o memory.o kinds.o scomp.o sysdep.o
6565
$(FC) $(FFLAGS) -c $<
6666

6767

68-
vmdefs.o : ../src/vmdefs.f90 lib.o symbol.o hash.o memory.o kinds.o scomp.o sysdep.o
68+
vmdefs.o : ../src/vmdefs.f90 lib.o symbol.o opts.o hash.o memory.o kinds.o scomp.o sysdep.o
6969
$(FC) $(FFLAGS) -c $<
7070

7171

72-
parser.o : ../src/parser.f90 vmdefs.o lib.o symbol.o hash.o memory.o kinds.o scomp.o sysdep.o
72+
parser.o : ../src/parser.f90 vmdefs.o lib.o symbol.o opts.o hash.o memory.o kinds.o scomp.o sysdep.o
7373
$(FC) $(FFLAGS) -c $<
7474

7575
types.o : ../src/types.f90 lib.o symbol.o opts.o hash.o memory.o kinds.o scomp.o sysdep.o

src/cfortran.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ recursive subroutine gen_var_op(g,l)
451451
endif
452452
opcode=g%codes(l+comp_op_opcode)
453453
opcode2=g%codes(l+comp_op_opcode2)
454-
n=g%codes(l+comp_op_nargs)
454+
n=iand(g%codes(l+comp_op_nargs),comp_op_nargs_mask)
455455
a=l+comp_op_arg0
456456

457457
if(debug_g) then
@@ -1176,7 +1176,7 @@ recursive subroutine gen_op(g,loc)
11761176

11771177
opcode=g%codes(l+comp_op_opcode)
11781178
opcode2=g%codes(l+comp_op_opcode2)
1179-
n=g%codes(l+comp_op_nargs)
1179+
n=iand(g%codes(l+comp_op_nargs),comp_op_nargs_mask)
11801180
a=l+comp_op_arg0
11811181

11821182
if(debug_g) write(*,*) 'GEN OP>',op_names(opcode),opcode2,n,'>',g%codes(a:a+n-1)

0 commit comments

Comments
 (0)