From: Borja F. <bor...@gm...> - 2013-06-13 15:48:11
|
Ok, there are some small style issues but i will fix them after you can commit (braces in AVRAsmPrinter::PrintAsmOperand), afterwards you may check them for future reference. About the GPR8 replacement, I'm not sure now, but will it change the register allocation order using the "sequence" set instruction? This was changed some time ago so I dont remember what was the new behaviour. In the test cases please add a CHECK line for the function name, check the other test cases in the folder to see what i mean. You may need to add inline asm support in clang aswell, there are some methods that need to be implemented there inside the AVR classes, probably for error reporting stuff. 1) I dont know of any compatible projects, sorry. I've tested big C programs like a floating point emulation library. 2) for now only the tests there. 3) John please give Stepan commit access to SVN. Heh Eric, that's ok, for inline asm there's no room for optimizations but for other compiler features sure :) 2013/6/13 Stepan Dyatkovskiy <stp...@na...> > Hi Borja, > This is today patch. > 1. Added and tested support for register constraints > (a,b,d,e,q,r,t,w,x,y,z,l). > 2. Refactored GPR8 registers class, added new registers classes: lGPR8, > hGPR8, simplehGPR8 and specialUpperGPR8. > 3. Fixed code-style. > > P.S.: In case you decided to give me commit access: > 1. Do you have some AVR projects that are compilable with avr-llvm? I mean > kind of llvm's test-suite replacement. > 2. What ought to be tested before commit, except the "test/CodeGen/AVR" > tests? > 3. My SourceForge account name is: "kaomoneus". > > -Stepan. > > Borja Ferrer wrote: > >> The patch looks good, some comments about coding style. We use a >> different standard compared to llvm's, most important things are: >> 1) braces go into new lines. >> 2) always place braces even if they're for a 1 line statement >> >> this: >> + std::pair<unsigned, const TargetRegisterClass*> >> + getRegForInlineAsmConstraint(**const std::string >> &Constraint, >> + EVT VT) const; >> + >> should be: >> std::pair<unsigned, const TargetRegisterClass *> << space between >> name and * >> getRegForInlineAsmConstraint(**const std::string &Constraint, EVT VT) >> const; >> >> this: >> + ConstraintWeight getSingleConstraintMatchWeight**( >> + AsmOperandInfo &info, const char *constraint) const; >> should be: >> ConstraintWeight >> getSingleConstraintMatchWeight**(AsmOperandInfo &info, >> const char *constraint) >> const; >> >> >> if there are any other small details i can fix them post commit. >> >> >> >> 2013/6/13 Borja Ferrer <bor...@gm... >> <mailto:bor...@gm...>**> >> >> >> Nice Stepan, I will review your patch later on. You should be given >> commit access to this svn repo until we finally decide where to move >> on all of the code. >> >> >> 2013/6/13 Stepan Dyatkovskiy <stp...@na... >> <mailto:stp...@na...>> >> >> >> Hi all, >> I'll use this reference for implementation, right? >> http://savannah.nongnu.org/**download/avr-libc/avr-libc-** >> user-manual-1.8.0.pdf.bz2<http://savannah.nongnu.org/download/avr-libc/avr-libc-user-manual-1.8.0.pdf.bz2> >> >> -Stepan. >> >> Stepan Dyatkovskiy wrote: >> > Ops. Forget to apply patch itself... >> > >> > -Stepan. >> > >> > Stepan Dyatkovskiy wrote: >> >> Hi all. That's a Thursday patch with inline asm. Currently >> the only >> >> constraint is supported: register ('r'). >> >> >> >> -Stepan. >> >> >> >> >> ------------------------------**------------------------------** >> ------------------ >> >> >> >> This SF.net email is sponsored by Windows: >> >> >> >> Build for Windows Store. >> >> >> >> http://p.sf.net/sfu/windows-**dev2dev<http://p.sf.net/sfu/windows-dev2dev> >> >> ______________________________**_________________ >> >> avr-llvm-devel mailing list >> >> avr-llvm-devel@lists.**sourceforge.net<avr...@li...> >> <mailto:avr-llvm-devel@lists.**sourceforge.net<avr...@li...> >> > >> >> >> https://lists.sourceforge.net/**lists/listinfo/avr-llvm-devel<https://lists.sourceforge.net/lists/listinfo/avr-llvm-devel> >> >> >> > >> > >> > >> > >> ------------------------------**------------------------------** >> ------------------ >> > This SF.net email is sponsored by Windows: >> > >> > Build for Windows Store. >> > >> > http://p.sf.net/sfu/windows-**dev2dev<http://p.sf.net/sfu/windows-dev2dev> >> > >> > >> > >> > ______________________________**_________________ >> > avr-llvm-devel mailing list >> > avr-llvm-devel@lists.**sourceforge.net<avr...@li...> >> <mailto:avr-llvm-devel@lists.**sourceforge.net<avr...@li...> >> > >> >> > https://lists.sourceforge.net/**lists/listinfo/avr-llvm-devel<https://lists.sourceforge.net/lists/listinfo/avr-llvm-devel> >> > >> >> >> ------------------------------**------------------------------** >> ------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-**dev2dev<http://p.sf.net/sfu/windows-dev2dev> >> ______________________________**_________________ >> avr-llvm-devel mailing list >> avr-llvm-devel@lists.**sourceforge.net<avr...@li...> >> <mailto:avr-llvm-devel@lists.**sourceforge.net<avr...@li...> >> > >> https://lists.sourceforge.net/**lists/listinfo/avr-llvm-devel<https://lists.sourceforge.net/lists/listinfo/avr-llvm-devel> >> >> >> >> > |