Re: [graphite] Get graphite backend working again [scalar variable handling]
Tobias Grosser wrote: > (...) > Why is there a need to name the new ones like the old ones? The only > reason I can think about is debugging. And I am not sure if their exists > a strong relation between old an new ones, that makes it reasonable to > call them identical. During all the code motion, we ignored the scalar > variables completely, and the recreation using scev has only a weak > relation to the original variables. So I think we may get completely new > ones as for me it does not make sense to keep these relation. > But you seem to have a different opinion. What makes you think, the new > ones have to be called like the old ones? What relation do you see? You are correct. It is sufficient to substitute the SSA variables wherever they appear, as it is done now. Albert
Re: How to use gcc source and try new optmization techniques
Rohan, Welcome to GCC and I hope you achieve what you want. I would recommend you check our wiki: http://gcc.gnu.org/wiki which has some very useful links: http://gcc.gnu.org/wiki/GettingStarted It is a wiki, so feel free to correct mistakes, improve stuff and add links. If you want to create a page for your project, please do so. Seema, I see a link to the workshop but not a link to the GCC resource center you linked. Would you like adding one under "Tutorials, HOWTOs". Cheers, Manuel. 2008/8/21 Seema Ravandale <[EMAIL PROTECTED]>: > Hi Rohan, > > I have already worked on cfg data structure, plugin "data flow pass" on cfg. > For this purpose, following links would be useful. > > http://www.cse.iitb.ac.in/~uday/gcc-workshop/?file=downloads > > more info can be available at > > http://www.cse.iitb.ac.in/grc/ > > - Seema > > On Thu, Aug 21, 2008 at 6:51 AM, Pranav Bhandarkar > <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> I may not have correctly understood your questions but from what I >> understand I think you mean to ask how you could easily plug in your >> optimization pass into GCC so as to test your implementation of some >> optimization. >> >> Well, the way to do that would be to understand the pass structure and >> decide where in the order of passes should your pass be inserted i.e >> after which and before which other pass should your optimization pass >> fit in. Look at passes.c to see how the order of passes is specified. >> >> Once you have told the compiler when to execute your pass (primarily >> through passes.c) and provided your optimization has been correctly >> implemented in the context of GCC you should be good to go. >> >> HTH, >> Pranav >> >> On Wed, Aug 20, 2008 at 7:45 PM, Rohan Sreeram <[EMAIL PROTECTED]> wrote: >> > Hi, >> > >> > I am a student in Utah State University researching on compilers >> > optimization techniques. >> > I wanted to know how I could use gcc for experimenting with optimization. >> > >> > Here is what I intend to do: >> > >> > 1) Understand the control flow graphs being generated by GCC, which I >> > could build using the -fdump-tree-cfg option. >> > 2) Write code that could convert CFG to a different graph. >> > 3) Use this new graph for optimization. >> > 4) Use the optimized graph to generate machine code (say Intel >> > architecture for now). >> > >> > Please let me know how I could leverage the GCC code for this purpose, and >> > if you any suggestions/comments for me you are most welcome ! :) >> > >> > Thanks, >> > Rohan >> > >> > >> > >> > >> > >
Re: Something general (beginner related)
2008/8/20 Nils Pipenbrinck <[EMAIL PROTECTED]>: > > Let's get to the point: The documentation sucks. If you want to learn how > things work the wiki and the documentation is of little help. You have to > read other code, step through other optimizations and do a lot of > reverse-engineering and code-reading to understand how all the different > things fit and relate to each other. > We know and we agree and we would like this to improve. Believe me, it was worse just 2 years ago. It is slowly improving but we need more help. > I think a well commented pseudo-pass (well document as: talk to someone who > know C but has no idea about the GCC magic..) that does something stupid but > valid like re-inventing the neg-operator by using not and subtraction could > act as be a very nice boilerplate code for people like me. Or even your own pass could be the pseudo-pass. This is a good place to start improving documentation: http://gcc.gnu.org/wiki/WritingANewPass You do not need any approval to modify all this and you can always ask in this list for some reviewers afterwards. > For someone who is into the SSA structures and the gcc internals should be > able to write up something within a day or an half. Yes, but hired developers are not paid to do this and volunteers are typically interested on investing their limited free time in other things. This is catch22 that you are already experiencing: If you are a total newbie, you do not feel confident to write any documentation. If you are experienced, you want to implement things rather than write documentation that you do not need anymore. > Just an idea.. And just to let you know how hard it can be: Finding out what > GTY means *can* take half a day... http://gcc.gnu.org/wiki/GTY http://gcc.gnu.org/wiki/Memory_management?highlight=%28gty%29 http://gcc.gnu.org/wiki/GCC_glossary?highlight=%28gty%29 We actually have lots of documentation but it is not very inter-connected, complete or condensed. We appreciate any help on this. We would accept patches that just improve the comments in the source-code (as long as they are correct and submitted properly). Cheers, Manuel.
Re: [PATCH] Update libtool to latest git tip
Peter O'Gorman wrote: On Mon, Aug 11, 2008 at 03:02:05PM -0500, Peter O'Gorman wrote: Yes, I tried it also - http://pogma.com/misc/gcc-libtool-git20080810.patch (Slight change to ltgcc.m4, otherwise git libtool + generated files). I plan on testing more widely next weekend and proposing a patch the following week, regardless of whether libtool-2.2.6 is released. (Unless Ralph would prefer to do it?) Hi, Does not look much like there will be a libtool 2.2.6 release this month. Why? Regressions, or just no time? Actual approval depends on your answer to this question, but the patch is technically okay. Can you commit it to the src repository too? There is some regeneration to do there too. Paolo
Re: optimizations with -mcpu=cortex-a8, -mtune=cortex-a8
"Dasgupta, Romit" <[EMAIL PROTECTED]> writes: > I came across the -mpcu=cortex-a8 option in the codesourcery > gcc. When I added that to build the Linux kernel, I found that > there are no differences in the kernel code with and without > the options. The following are the gcc options that where used > to build the kernel. Am I missing something? gcc@gcc.gnu.org is the wrong mailing list for this sort of question. It should be asked on [EMAIL PROTECTED] Please take any followups there. Thanks. In this case it's fairly likely that the default CPU for your compiler is something similar to cortex-a8. The differences between CPUs are often fairly subtle, and may not cause a change in the generated code for most, or sometimes any, programs. Ian
gcc-4.3-20080821 is now available
Snapshot gcc-4.3-20080821 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.3-20080821/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.3 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch revision 139415 You'll find: gcc-4.3-20080821.tar.bz2 Complete GCC (includes all of below) gcc-core-4.3-20080821.tar.bz2 C front end and core compiler gcc-ada-4.3-20080821.tar.bz2 Ada front end and runtime gcc-fortran-4.3-20080821.tar.bz2 Fortran front end and runtime gcc-g++-4.3-20080821.tar.bz2 C++ front end and runtime gcc-java-4.3-20080821.tar.bz2 Java front end and runtime gcc-objc-4.3-20080821.tar.bz2 Objective-C front end and runtime gcc-testsuite-4.3-20080821.tar.bz2The GCC testsuite Diffs from 4.3-20080814 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.3 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.