From: John M. <ato...@gm...> - 2009-12-09 03:30:14
|
On Tue, Dec 8, 2009 at 7:04 PM, Weddington, Eric <Eri...@at...>wrote: > > > > -----Original Message----- > > From: John Myers [mailto:ato...@gm...] > > Sent: Tuesday, December 08, 2009 6:46 PM > > To: Weddington, Eric > > Cc: avr...@li... > > Subject: Re: [avr-llvm-devel] Windows build > > > > > > > > The redudant mov is gone now. So it looks like whatever they > > changed in the LLVM trunk fixed it. > > That's great! > > Question: Is the assembler output of llvm supposed to closely match the > assembler output of avr-gcc? Is that what we're aiming for? > Yeah, it's suppose to be an assembly printer for gas / avr-gcc. Some targets actually produce multiple asm types for different assembler brands. > > > C:\_projects_\build_llvm\bin\Debug>llc.exe -O0 -o - > > -filetype=asm -mcpu=atmega128 reti8.ll > > .file "reti8.ll" > > > > .text > > .align 16 > > .global func > > .type func,@function > > func: > > # BB#0: > > ldi r24, #1 > > ret > > .size func, .-func > > If so, then we need to drop the .align directive above. This is the > equivalent from avr-gcc: > I'll try to find were the .align directive is printed to remove it. Will it mess things up if it's there? > > .file "test.c" > __SREG__ = 0x3f > __SP_H__ = 0x3e > __SP_L__ = 0x3d > __CCP__ = 0x34 > __tmp_reg__ = 0 > __zero_reg__ = 1 > .text > .global func > .type func, @function > func: > /* prologue: function */ > /* frame size = 0 */ > ldi r24,lo8(1) > /* epilogue start */ > ret > .size func, .-func > |