Running a set of tests I found that c2 generated a tail-call like:
0xd7ca9eed: movl $0xd7c00180,%ebp
0xd7ca9ef2: movl $0x00000000,%ebx
0xd7ca9ef7: addl $0x00000048,%esp
0xd7ca9efa: popl %ebp
0xd7ca9efb: jmp *%ebp
This is caused by the fact that the epilog node always pops ebp on exit and
there is no notion that it kills it.
###@###.### 2005-05-16 14:14:22 GMT
0xd7ca9eed: movl $0xd7c00180,%ebp
0xd7ca9ef2: movl $0x00000000,%ebx
0xd7ca9ef7: addl $0x00000048,%esp
0xd7ca9efa: popl %ebp
0xd7ca9efb: jmp *%ebp
This is caused by the fact that the epilog node always pops ebp on exit and
there is no notion that it kills it.
###@###.### 2005-05-16 14:14:22 GMT