Re: "error: unable to generate reloads for...", any hints?
"吴曦" <[EMAIL PROTECTED]> writes: > I observe that there is a ld instruction in 3rd alternative, so I add > a new define_insn before it in the hope that it will be matched > firstly. It doesn't work that way. Your new instruction will wind up matching all move instructions. Reload will crash because the constraints don't work. Instead just change the existing movqi_internal insn. Don't try to write a new one. Change the existing insn to use C code which checks which_alternative instead of the @ list it uses now. Ian
Re: "error: unable to generate reloads for...", any hints?
Thanks. But what does it mean by saying: "Sometimes an insn can match more than one instruction pattern. Then the pattern that appears first in the machine description is the one used." in section 14.10 of gcc internal p259? 08 Feb 2007 00:09:21 -0800, Ian Lance Taylor <[EMAIL PROTECTED]>: "吴曦" <[EMAIL PROTECTED]> writes: > I observe that there is a ld instruction in 3rd alternative, so I add > a new define_insn before it in the hope that it will be matched > firstly. It doesn't work that way. Your new instruction will wind up matching all move instructions. Reload will crash because the constraints don't work. Instead just change the existing movqi_internal insn. Don't try to write a new one. Change the existing insn to use C code which checks which_alternative instead of the @ list it uses now. Ian
Re: "error: unable to generate reloads for...", any hints?
On 2/8/07, 吴曦 <[EMAIL PROTECTED]> wrote: Thanks. But what does it mean by saying: "Sometimes an insn can match more than one instruction pattern. Then the pattern that appears first in the machine description is the one used." Basically it means, "Don't do that" ;-) Make your insns match only one pattern. Gr. Steven
Re: "error: unable to generate reloads for...", any hints?
"吴曦" <[EMAIL PROTECTED]> writes: > Thanks. But what does it mean by saying: > "Sometimes an insn can match more than one instruction pattern. Then > the pattern that appears first in the machine description is the one > used." > in section 14.10 of gcc internal p259? (Please don't top post. Thanks.) It means what it says. The effect is that only the first insn in the MD file is used, and the subsequent ones are ignored. This is rarely useful. Ian > 08 Feb 2007 00:09:21 -0800, Ian Lance Taylor <[EMAIL PROTECTED]>: > > "吴曦" <[EMAIL PROTECTED]> writes: > > > > > I observe that there is a ld instruction in 3rd alternative, so I add > > > a new define_insn before it in the hope that it will be matched > > > firstly. > > > > It doesn't work that way. Your new instruction will wind up matching > > all move instructions. Reload will crash because the constraints > > don't work. > > > > Instead just change the existing movqi_internal insn. Don't try to > > write a new one. Change the existing insn to use C code which checks > > which_alternative instead of the @ list it uses now. > > > > Ian > >
Re: which opt. flags go where? - references
Hi, maybe http://docs.lib.purdue.edu/ecetr/123/ would also be interesting for you. There, a quadratic algorithm for finding a nearly optimal set of compiler flags is described. The results are quite promising and i have also tested it on my own benchmarkingsuite with good results. cu, Ronny Peine pgpFVOsQLoKuf.pgp Description: PGP signature
Re: which opt. flags go where? - references
On 08 Feb 2007, at 10:47, Ronny Peine wrote: Hi, maybe http://docs.lib.purdue.edu/ecetr/123/ would also be interesting for you. There, a quadratic algorithm for finding a nearly optimal set of compiler flags is described. The results are quite promising and i have also tested it on my own benchmarkingsuite with good results. Thank you very much. After reading the abstract, I'm highly interested in this work, because they also use GCC and SPEC CPU2000, as I'm planning to do... Which benchmarks did you test on? greetings, Kenneth -- Statistics are like a bikini. What they reveal is suggestive, but what they conceal is vital (Aaron Levenstein) Kenneth Hoste ELIS - Ghent University [EMAIL PROTECTED] http://www.elis.ugent.be/~kehoste
Re: 27% regression of gcc 4.3 performance on cpu2k6/calculix
On Wed, Feb 07, 2007 at 05:32:28PM +0300, Vladimir Sysoev wrote: > Hi! > I create test to reproduce issue with cpu2006/454.calculix > See attached. File e_c3d.f contains cutted subroutine from calculix. > tr535.f main entry point of the test. you can use go-script as a > reference how i get these results. find_stall.pl script which find > problem instruction combinations. > > Problem that new compiler generates read instruction right after > write. See some dumps below. > A bug report is opened: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30735 H.J.
Re: "error: unable to generate reloads for...", any hints?
On Thu, Feb 08, 2007 at 04:22:12PM +0800, wrote: > Thanks. But what does it mean by saying: > "Sometimes an insn can match more than one instruction pattern. Then > the pattern that appears first in the machine description is the one > used." It means what it says. The detail you're missing is that the operand constraints don't determine if your insn patterns matches or not. So, your *ld_movqi_internal pattern will match instructions like (set (mem:QI ...) (reg:QI ...)) (set (reg:QI ...) (reg:QI ...)) (set (reg:QI ...) (const_int ...)) which is probably not what you want (although reload will handle the third example. Notice how I omit the word "fine" here). You need to read about operand predicates and insn conditions. -- Rask Ingemann Lambertsen
Inserting profiling function calls
Dear All, In order to implement a specific basic block profiling, i have to insert function calls at the end of each basic blocks or/and at the end of each functions. To do this I'd like to add a profiling pass similar to the arc profiling. I'm a beginner in the GCC internal implementation and i hope this subject will be interesting enough for you to give me attention. I begin to localize were to insert/add this functionality but more detailed on "a magic how to" insert function calls in the generated code would be very helpful for me. Is there somewhere a guide line to add profiling pass ? Thank you for your help, Patrice ___ Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire. http://fr.mail.yahoo.com
Re: Inserting profiling function calls
> Dear All, > >In order to implement a specific basic block profiling, i have to > insert function calls at the end of each basic blocks or/and at the end > of each functions. > To do this I'd like to add a profiling pass similar to the arc profiling. > I'm a beginner in the GCC internal implementation and i hope this > subject will be interesting enough for you to give me attention. > I begin to localize were to insert/add this functionality but more > detailed on "a magic how to" insert function calls in the generated code > would be very helpful for me. > Is there somewhere a guide line to add profiling pass ? There is no such guide, but adding a profiling pass is not that different from adding any toher pass. Would you for a start please explain what do you need to do that can't be done using existing arc and value profiling? Honza > > Thank you for your help, > Patrice > > > > > > > ___ > Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son > interface révolutionnaire. > http://fr.mail.yahoo.com
Re: Inserting profiling function calls
Would you for a start please explain what do you need to do that can't be done using existing arc and value profiling? Sorry, my first mail was not clear about the goal. Objectives are to follow the execution of function and basic block at execution time. To do this, we plan to insert function call, like mcount is inserted at the function level for gprof but at the basic block level. A user library linked with the application can then implement this functions. Thank you, Patrice ___ Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire. http://fr.mail.yahoo.com
successful bootstrap - 4.1.2 prerelease on mingw32
Successful bootstrap & install $ gcc -v Using built-in specs. Target: i686-pc-mingw32 Configured with: ../gcc-4.1.2-20070128/configure --with-gcc --prefix=/mingw --disable-nls Thread model: win32 gcc version 4.1.2 20070129 (prerelease) $ uname -a MINGW32_NT-5.1 CHRISTIANPC2 1.0.11(0.46/3/2) 2004-04-30 18:55 i686 unknown
Creating a USB binary Data Monitor
hey, im planing on building an binary data monitor, to monitor the binary data that caomes from a USB mouse. can any one can help me on guiding me for a good data source in web. thnkx. -- View this message in context: http://www.nabble.com/Creating-a-USB-binary-Data-Monitor-tf3198787.html#a8881090 Sent from the gcc - Dev mailing list archive at Nabble.com.
Re: Creating a USB binary Data Monitor
On Thu, 8 Feb 2007 22:33:59 -0800 (PST) wsdice707 wrote: > > hey, > im planing on building an binary data monitor, to monitor the binary data > that caomes from a USB mouse. can any one can help me on guiding me for a > good data source in web. This has nothing whatever to do with gcc development so please use some other mailing list for any follow-ups. Search for USB snoopy to capture USB traffic on Windows. (try freshmeat.net or sf.net) Or use usbmon in recent Linux kernels. --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code ***