[M3devel] CM3 problems
Mika Nystrom
mika at async.async.caltech.edu
Sun Aug 8 16:58:57 CEST 2010
I ran upgrade.sh before compiling, so everything should be up to date.
I'd be happy to give you the code (yes it's mine) but I'm not sure
how many libraries it depends on.
Same thing happens with optimization (-O2).
(133)rover:~/u/calarm/regress/ximport/FreeBSD4>/usr/local/cm3//bin/cm3cg -march=i586 -mno-align-double -quiet -fno-reorder-blocks -funwind-tables -fPIC -m32 -O3 -Wuninitialized -gstabs+ Main.mc -o Main.ms
../src/Main.m3: In function 'Main__DumpMatching__DumpOne':
../src/Main.m3:225: error: unable to find a register to spill in class 'CREG'
../src/Main.m3:225: error: this is the insn:
(insn:HI 5 4 6 2 ../src/Main.m3:204 (parallel [
(set (reg:SI 0 ax [69])
(const_int 0 [0x0]))
(set (reg:SI 5 di [67])
(plus:SI (ashift:SI (reg:SI 0 ax [69])
(const_int 2 [0x2]))
(reg:SI 5 di [67])))
(set (reg/f:SI 4 si [68])
(plus:SI (ashift:SI (reg:SI 0 ax [69])
(const_int 2 [0x2]))
(reg/f:SI 16 argp)))
(set (mem/s/c:BLK (reg:SI 5 di [67]) [0 M3_A91vEE_trade+0 S24 A64])
(mem/s/c:BLK (reg/f:SI 16 argp) [0 M3_A91vEE_trade+0 S24 A32]))
(use (reg:SI 0 ax [69]))
]) 586 {*rep_movsi} (expr_list:REG_UNUSED (reg:SI 0 ax [69])
(expr_list:REG_UNUSED (reg/f:SI 4 si [68])
(expr_list:REG_UNUSED (reg:SI 5 di [67])
(nil)))))
../src/Main.m3:225: confused by earlier errors, bailing out
I copied the derived directory (after running cm3 -x -keep) to
http://rover.gcapltd.com/~mika/ximport-bug-FreeBSD4/
in case anyone wants to peek at it. I also put Main.m3 in there
so you can see what's going on. Nested procedures... but nothing
that looks too weird to me.
Mika
Jay K writes:
>
>Not very useful of me=2C but standard questions:
>
>
>Is this your code?
>Can we see it?
>Is cm3cg current?
>Can you try with optimization?
>=A0-O1=2C -O2=2C -O3 cheating perhaps to use optimization=A0=20
>=A0=A0 They should all generally work..though you should also generally nev=
>er see such errors..
>Tony might ask to see the IR via=20
>=A0 rm -rf FreeBSD4=A0=20
>=A0 cm3 -keep =A0 ordinarily the *.mc files are deleted=A0=20
>=A0 cm3cg -y FreeBSD4/Main.mc=A0=A0 (it goes to stderr not stdout)=A0=20
>=A0or more accurately (at least for other purposes)=A0=20
>=A0 rm -rf FreeBSD4=A0=20
>
>=A0 cm3 -keep -commands=A0=20
>=A0 find the cm3cg command=A0=20
>=A0 cd FreBSD4=20
>=A0 rerun cm3cg command but with -y added=A0=20
More information about the M3devel
mailing list