[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.32 -> 1.33 --- Log message: add a project. --- Diffs of the changes: (+6 -1) OpenProjects.html |7 ++- 1 files changed, 6 insertions(+), 1 deletion(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.32 llvm-www/OpenProjects.html:1.33 --- llvm-www/OpenProjects.html:1.32 Sun Jan 6 14:07:10 2008 +++ llvm-www/OpenProjects.html Sun Jan 6 21:42:46 2008 @@ -212,6 +212,11 @@ These projects tend to be more involved and perhaps require more work, but can also be very rewarding. +Add support for Type Based Alias Analysis (TBAA) to LLVM. This is not an + easy or straight-forward project, but the wins can be big. For an intro to + what this is and an extreme example http://www.ice.gelato.org/oct07/pres_pdf/gelato_ICE07oct_aliasing_isaev_intel.pdf";>see this presentation. + @@ -419,7 +424,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2008/01/06 20:07:10 $ + Last modified: $Date: 2008/01/07 03:42:46 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.31 -> 1.32 --- Log message: add some open projects. --- Diffs of the changes: (+13 -1) OpenProjects.html | 14 +- 1 files changed, 13 insertions(+), 1 deletion(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.31 llvm-www/OpenProjects.html:1.32 --- llvm-www/OpenProjects.html:1.31 Tue Nov 27 15:10:27 2007 +++ llvm-www/OpenProjects.html Sun Jan 6 14:07:10 2008 @@ -339,6 +339,18 @@ +Implement 'stack slot coloring' to allocate two frame indexes to the same +stack offset if their live ranges don't overlap. This can reuse a bunch of +analysis machinery from LiveIntervals. Making the stack smaller is good +for cache use and very important on targets where loads have limited +displacement like ppc, thumb, mips, sparc, etc. This should be done as +a pass before prolog epilog insertion. +Implement 'shrink wrapping', which is the intelligent placement of callee +saved register save/restores. Right now PrologEpilogInsertion always saves +every (modified) callee save reg in the prolog and restores it in the +epilog. However, some paths through a function (e.g. an early exit) may +not use all regs. Sinking the save down the CFG avoids useless work on +these paths. Rename ISD::BIT_CONVERT to ISD::BITCAST to match the llvm ir concept Change the VECTOR_SHUFFLE to be variadic. Right now, a VECTOR_SHUFFLE takes three operands: two vectors and a shuffle mask. The shuffle mask is @@ -407,7 +419,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/11/27 21:10:27 $ + Last modified: $Date: 2008/01/06 20:07:10 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.30 -> 1.31 --- Log message: Two new codegen improvements. --- Diffs of the changes: (+10 -3) OpenProjects.html | 13 ++--- 1 files changed, 10 insertions(+), 3 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.30 llvm-www/OpenProjects.html:1.31 --- llvm-www/OpenProjects.html:1.30 Fri Nov 16 11:16:15 2007 +++ llvm-www/OpenProjects.html Tue Nov 27 15:10:27 2007 @@ -339,10 +339,17 @@ -Improve the instruction selectors. +Rename ISD::BIT_CONVERT to ISD::BITCAST to match the llvm ir concept +Change the VECTOR_SHUFFLE to be variadic. Right now, a VECTOR_SHUFFLE +takes three operands: two vectors and a shuffle mask. The shuffle mask is +required to be a BUILD_VECTOR node of N indices. It would be much better +(for several reasons) to eliminate the BUILD_VECTOR and make VECTOR_SHUFFLE +take 2+N operands instead. Implement a way to describe calling conventions abstractly, instead of us having to write C++ code in the lowering phase. Many approaches are -available, a good one is http://www.eecs.harvard.edu/nr/pubs/staged-abstract.html";>Staged Allocation: A Compositional Technique for Specifying and Implementing Procedure Calling Conventions. +available, a good one is http://www.eecs.harvard.edu/nr/pubs/staged-abstract.html";>Staged Allocation: A Compositional Technique for Specifying and Implementing Procedure Calling Conventions. This is already + well underway and used by some targets (see + lib/Target/X86/X86CallingConv.td) but isn't adopted for all targets. Implement interprocedural register allocation. The CallGraphSCCPass can be used to implement a bottom-up analysis that will determine the *actual* registers clobbered by a function. Use the pass to fine tune register usage @@ -400,7 +407,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/11/16 17:16:15 $ + Last modified: $Date: 2007/11/27 21:10:27 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] CVS: llvm-www/OpenProjects.html
On Nov 16, 2007, at 12:16, Chris Lattner wrote: > > On Nov 16, 2007, at 2:24 AM, Gordon Henriksen wrote: > >> On Nov 16, 2007, at 01:46, Chris Lattner wrote: >> >>> Implement a Dependence Analysis Infrastructure >>> - Design some way to represent and query dep analysis >>> Value range propagation pass >> >> This is invalid now. > > Actually, this was meant to be for loop dependence analysis. I > clarified the page, thanks! Ugh, misread the patch. But glad I caught an unrelated typo. It was early. :) — Gordon ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.29 -> 1.30 --- Log message: clarify what sort of dependence analysis --- Diffs of the changes: (+2 -2) OpenProjects.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.29 llvm-www/OpenProjects.html:1.30 --- llvm-www/OpenProjects.html:1.29 Fri Nov 16 00:45:55 2007 +++ llvm-www/OpenProjects.html Fri Nov 16 11:16:15 2007 @@ -319,7 +319,7 @@ - Implement a Dependence Analysis Infrastructure + Implement a Loop Dependence Analysis Infrastructure - Design some way to represent and query dep analysis Value range propagation pass More fun with loops: @@ -400,7 +400,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/11/16 06:45:55 $ + Last modified: $Date: 2007/11/16 17:16:15 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] CVS: llvm-www/OpenProjects.html
On Nov 16, 2007, at 2:24 AM, Gordon Henriksen wrote: > On Nov 16, 2007, at 01:46, Chris Lattner wrote: > >> Implement a Dependence Analysis Infrastructure >>- Design some way to represent and query dep analysis >> Value range propagation pass > > This is invalid now. Actually, this was meant to be for loop dependence analysis. I clarified the page, thanks! -chris ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] CVS: llvm-www/OpenProjects.html
On Nov 16, 2007, at 01:46, Chris Lattner wrote: > Implement a Dependence Analysis Infrastructure > - Design some way to represent and query dep analysis > Value range propagation pass This is invalid now. — Gordon ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.28 -> 1.29 --- Log message: GVN-PRE is implemented. --- Diffs of the changes: (+1 -3) OpenProjects.html |4 +--- 1 files changed, 1 insertion(+), 3 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.28 llvm-www/OpenProjects.html:1.29 --- llvm-www/OpenProjects.html:1.28 Thu Aug 16 23:47:33 2007 +++ llvm-www/OpenProjects.html Fri Nov 16 00:45:55 2007 @@ -319,8 +319,6 @@ - Implement GVN-PRE, a powerful and simple Partial Redundancy Elimination -algorithm for SSA form (in progress, ask on llvmdev) Implement a Dependence Analysis Infrastructure - Design some way to represent and query dep analysis Value range propagation pass @@ -402,7 +400,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/08/17 04:47:33 $ + Last modified: $Date: 2007/11/16 06:45:55 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.27 -> 1.28 --- Log message: This has been started. --- Diffs of the changes: (+1 -10) OpenProjects.html | 11 +-- 1 files changed, 1 insertion(+), 10 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.27 llvm-www/OpenProjects.html:1.28 --- llvm-www/OpenProjects.html:1.27 Tue Jul 31 18:59:07 2007 +++ llvm-www/OpenProjects.html Thu Aug 16 23:47:33 2007 @@ -369,15 +369,6 @@ output LLVM bytecode. It seems that it can already output .NET bytecode, JVM bytecode, and C, so LLVM would ostensibly be another good candidate. -Write a new frontend for C/C++ that isn't GCC based. Possible starting points: - - http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/";>Elsa - C++ parser, written in C++ and built with a Generalized LR parser - generator http://www.cs.berkeley.edu/~smcpeak/elkhound/";>Elkhound - http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.11";>C++ yacc grammar by Ed Willink - - Write a new frontend for some other language (Java? OCaml? Forth?) Write a disassembler for machine code that would use TableGen to output MachineInstrs for transformations, optimizations, etc. @@ -411,7 +402,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/07/31 23:59:07 $ + Last modified: $Date: 2007/08/17 04:47:33 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html Oversight.html www-index.html
Changes in directory llvm-www: OpenProjects.html updated: 1.26 -> 1.27 Oversight.html updated: 1.5 -> 1.6 www-index.html updated: 1.145 -> 1.146 --- Log message: Remove CVS and now reference SVN. --- Diffs of the changes: (+7 -7) OpenProjects.html |4 ++-- Oversight.html|6 +++--- www-index.html|4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.26 llvm-www/OpenProjects.html:1.27 --- llvm-www/OpenProjects.html:1.26 Tue Apr 10 16:16:08 2007 +++ llvm-www/OpenProjects.html Tue Jul 31 18:59:07 2007 @@ -136,7 +136,7 @@ href="http://lists.cs.uiuc.edu/pipermail/llvmbugs/";>llvm-bugs list. If you get the program to compile, it would be extremely useful to convert the build system to be compatible with the LLVM Programs testsuite so that we can check it -into CVS and the automated tester can use it to track progress of the +into SVN and the automated tester can use it to track progress of the compiler. When testing a code, try running it with a variety of optimizations, and with @@ -411,7 +411,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/04/10 21:16:08 $ + Last modified: $Date: 2007/07/31 23:59:07 $ Index: llvm-www/Oversight.html diff -u llvm-www/Oversight.html:1.5 llvm-www/Oversight.html:1.6 --- llvm-www/Oversight.html:1.5 Thu Mar 16 13:02:22 2006 +++ llvm-www/Oversight.html Tue Jul 31 18:59:07 2007 @@ -43,10 +43,10 @@ Identify and prioritize improvements to the core. -Guidelines for who gets write-access to CVS: +Guidelines for who gets write-access to SVN: The goal here is to encourage the most active contributors by - giving them direct CVS write access. + giving them direct SVN write access. Our primary guiding principle here is that write access should be limited to persons who have a track record of responsible contributions, and are likely to remain active contributors @@ -104,6 +104,6 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> mailto:[EMAIL PROTECTED]">LLVM Oversight Group - Last modified: $Date: 2006/03/16 19:02:22 $ + Last modified: $Date: 2007/07/31 23:59:07 $ Index: llvm-www/www-index.html diff -u llvm-www/www-index.html:1.145 llvm-www/www-index.html:1.146 --- llvm-www/www-index.html:1.145 Tue Jul 31 12:47:12 2007 +++ llvm-www/www-index.html Tue Jul 31 18:59:07 2007 @@ -106,9 +106,9 @@ for download! LLVM is publicly available under an open source License. Also, you might want to check out the new - features in CVS that will appear in the next LLVM release. If + features in SVN that will appear in the next LLVM release. If you want them early, download LLVM through - anonymous CVS. + anonymous SVN. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.25 -> 1.26 --- Log message: Add new idea --- Diffs of the changes: (+11 -6) OpenProjects.html | 17 +++-- 1 files changed, 11 insertions(+), 6 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.25 llvm-www/OpenProjects.html:1.26 --- llvm-www/OpenProjects.html:1.25 Wed Apr 4 22:55:22 2007 +++ llvm-www/OpenProjects.html Tue Apr 10 16:16:08 2007 @@ -319,11 +319,16 @@ -Implement GVN-PRE, a powerful and simple Partial Redundancy Elimination -algorithm for SSA form (in progress, ask on llvmdev) -Implement a Dependence Analysis Infrastructure - - Design some way to represent and query dep analysis -Value range propagation pass + Implement GVN-PRE, a powerful and simple Partial Redundancy Elimination +algorithm for SSA form (in progress, ask on llvmdev) + Implement a Dependence Analysis Infrastructure +- Design some way to represent and query dep analysis + Value range propagation pass + More fun with loops: +http://www.cs.ualberta.ca/~amaral/cascon/CDP04/tal.html";> + Predictive Commoning + + @@ -406,7 +411,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/04/05 03:55:22 $ + Last modified: $Date: 2007/04/10 21:16:08 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.24 -> 1.25 --- Log message: Fix formatting and typoes. --- Diffs of the changes: (+6 -3) OpenProjects.html |9 ++--- 1 files changed, 6 insertions(+), 3 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.24 llvm-www/OpenProjects.html:1.25 --- llvm-www/OpenProjects.html:1.24 Wed Apr 4 22:54:01 2007 +++ llvm-www/OpenProjects.html Wed Apr 4 22:55:22 2007 @@ -299,13 +299,16 @@ -LLVM aggressively optimizes for performace, but does not yet optimize for code size. +LLVM aggressively optimizes for performance, but does not yet optimize for code size. With a new ARM backend, there is increasing interest in using LLVM for embedded systems where code size is more of an issue. + -Someone interested in working on implementing code compaction in LLVM might want to read +Someone interested in working on implementing code compaction in LLVM might want to read http://citeseer.ist.psu.edu/425696.html";>this article, describing using link-time optimizations for code size optimization. + + @@ -403,7 +406,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/04/05 03:54:01 $ + Last modified: $Date: 2007/04/05 03:55:22 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.23 -> 1.24 --- Log message: Add an idea about code-size optimization. --- Diffs of the changes: (+17 -1) OpenProjects.html | 18 +- 1 files changed, 17 insertions(+), 1 deletion(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.23 llvm-www/OpenProjects.html:1.24 --- llvm-www/OpenProjects.html:1.23 Fri Mar 23 18:49:13 2007 +++ llvm-www/OpenProjects.html Wed Apr 4 22:54:01 2007 @@ -19,6 +19,7 @@ Implementing new feature PRs Pointer and Alias Analysis Profile-Guided Optimization +Code Compaction New Transformations and Analyses Code Generator Improvements Miscellaneous Additions @@ -294,6 +295,21 @@ + Code Compaction + + + +LLVM aggressively optimizes for performace, but does not yet optimize for code size. +With a new ARM backend, there is increasing interest in using LLVM for embedded systems +where code size is more of an issue. + +Someone interested in working on implementing code compaction in LLVM might want to read +http://citeseer.ist.psu.edu/425696.html";>this article, describing using +link-time optimizations for code size optimization. + + + + New Transformations and Analyses @@ -387,7 +403,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/03/23 23:49:13 $ + Last modified: $Date: 2007/04/05 03:54:01 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.22 -> 1.23 --- Log message: Add a link to slow-compile bugs. --- Diffs of the changes: (+8 -4) OpenProjects.html | 12 1 files changed, 8 insertions(+), 4 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.22 llvm-www/OpenProjects.html:1.23 --- llvm-www/OpenProjects.html:1.22 Sun Mar 18 19:45:40 2007 +++ llvm-www/OpenProjects.html Fri Mar 23 18:49:13 2007 @@ -83,10 +83,14 @@ The http://llvm.org/bugs/";>LLVM bug tracker occasionally has http://llvm.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=code-cleanup&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&field0-0-0=noop&type0-0-0=noop&value0-0-0=";>"code-cleanup" bugs filed in it. Taking one of these and fixing it is a good -way to get your feet wet in the LLVM code and discover how some of its components -work. + href="http://llvm.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=code-cleanup&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&field0-0-0=noop&type0-0-0=noop&value0-0-0=";>"code-cleanup" bugs filed in it. +Taking one of these and fixing it is a good way to get your feet wet in the +LLVM code and discover how some of its components work. +Additionally, there are performance improvements in LLVM that need to get +fixed. These are marked with the slow-compile keyword. Use +http://llvm.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=slow-compile&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&namedcmd=Bugs+I+Fixed&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=";>this Bugzilla query +to find them. @@ -383,7 +387,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/03/19 00:45:40 $ + Last modified: $Date: 2007/03/23 23:49:13 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.21 -> 1.22 --- Log message: Add new idea --- Diffs of the changes: (+9 -1) OpenProjects.html | 10 +- 1 files changed, 9 insertions(+), 1 deletion(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.21 llvm-www/OpenProjects.html:1.22 --- llvm-www/OpenProjects.html:1.21 Tue Mar 6 23:31:39 2007 +++ llvm-www/OpenProjects.html Sun Mar 18 19:45:40 2007 @@ -361,6 +361,14 @@ href="/docs/CommandGuide/html/bugpoint.html">bugpoint to reduce the test case and post it to a website or mailing list. Repeat ad infinitum. Design a simple, recognizable logo. +Make QEMU use LLVM: + QEMU currently uses 'dyngen' to produce 'ops', which are executed during + disassembling of binary. + It will be interesting to teach 'dyngen' emit LLVM code for 'ops' and + use approach similar to LLVM usage in Apple's OpenGL stack: emit LLVM + code for big chunks of input code, optimize it, translate to native code + and execute. It will be also interesting to see speed comparison between + original approach and LLVM-based one. @@ -375,7 +383,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/03/07 05:31:39 $ + Last modified: $Date: 2007/03/19 00:45:40 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.20 -> 1.21 --- Log message: Fix broken link. --- Diffs of the changes: (+2 -2) OpenProjects.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.20 llvm-www/OpenProjects.html:1.21 --- llvm-www/OpenProjects.html:1.20 Tue Mar 6 15:49:19 2007 +++ llvm-www/OpenProjects.html Tue Mar 6 23:31:39 2007 @@ -186,7 +186,7 @@ would be nice to have a transformation which could be "required" by these passes which makes irreducible graphs reducible. This can easily be accomplished through code duplication. See http://citeseer.nj.nec.com/janssen97making.html";>Making Graphs Reducible +href="http://citeseer.ist.psu.edu/janssen97making.html";>Making Graphs Reducible with Controlled Node Splitting and perhaps http://doi.acm.org/10.1145/262004.262005";>Nesting of Reducible and Irreducible Loops. @@ -375,7 +375,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/03/06 21:49:19 $ + Last modified: $Date: 2007/03/07 05:31:39 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.19 -> 1.20 --- Log message: add a note --- Diffs of the changes: (+2 -2) OpenProjects.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.19 llvm-www/OpenProjects.html:1.20 --- llvm-www/OpenProjects.html:1.19 Thu Feb 8 00:07:55 2007 +++ llvm-www/OpenProjects.html Tue Mar 6 15:49:19 2007 @@ -297,7 +297,7 @@ Implement GVN-PRE, a powerful and simple Partial Redundancy Elimination -algorithm for SSA form +algorithm for SSA form (in progress, ask on llvmdev) Implement a Dependence Analysis Infrastructure - Design some way to represent and query dep analysis Value range propagation pass @@ -375,7 +375,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/02/08 06:07:55 $ + Last modified: $Date: 2007/03/06 21:49:19 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.18 -> 1.19 --- Log message: add an open project, with a link! --- Diffs of the changes: (+5 -2) OpenProjects.html |7 +-- 1 files changed, 5 insertions(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.18 llvm-www/OpenProjects.html:1.19 --- llvm-www/OpenProjects.html:1.18 Tue Jan 23 23:28:10 2007 +++ llvm-www/OpenProjects.html Thu Feb 8 00:07:55 2007 @@ -314,12 +314,15 @@ Improve the instruction selectors. +Implement a way to describe calling conventions abstractly, instead of +us having to write C++ code in the lowering phase. Many approaches are +available, a good one is http://www.eecs.harvard.edu/nr/pubs/staged-abstract.html";>Staged Allocation: A Compositional Technique for Specifying and Implementing Procedure Calling Conventions. Implement interprocedural register allocation. The CallGraphSCCPass can be used to implement a bottom-up analysis that will determine the *actual* registers clobbered by a function. Use the pass to fine tune register usage in callers based on *actual* registers used by the callee. Write a new backend for a target -(MIPS? +(VAX, i960, PA-RISC, MIPS? http://www-cs-faculty.stanford.edu/~knuth/mmix.html";>MMIX?) @@ -372,7 +375,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/01/24 05:28:10 $ + Last modified: $Date: 2007/02/08 06:07:55 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.17 -> 1.18 --- Log message: also done --- Diffs of the changes: (+1 -2) OpenProjects.html |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.17 llvm-www/OpenProjects.html:1.18 --- llvm-www/OpenProjects.html:1.17 Tue Jan 23 23:27:16 2007 +++ llvm-www/OpenProjects.html Tue Jan 23 23:28:10 2007 @@ -181,7 +181,6 @@ -Rework the PassManager to be more flexible Some transformations and analyses only work on reducible flow graphs. It would be nice to have a transformation which could be "required" by these passes @@ -373,7 +372,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2007/01/24 05:27:16 $ + Last modified: $Date: 2007/01/24 05:28:10 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.16 -> 1.17 --- Log message: ARM exists. --- Diffs of the changes: (+2 -3) OpenProjects.html |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.16 llvm-www/OpenProjects.html:1.17 --- llvm-www/OpenProjects.html:1.16 Wed Jul 19 12:53:23 2006 +++ llvm-www/OpenProjects.html Tue Jan 23 23:27:16 2007 @@ -320,8 +320,7 @@ registers clobbered by a function. Use the pass to fine tune register usage in callers based on *actual* registers used by the callee. Write a new backend for a target -(ARM? - MIPS? +(MIPS? http://www-cs-faculty.stanford.edu/~knuth/mmix.html";>MMIX?) @@ -374,7 +373,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2006/07/19 17:53:23 $ + Last modified: $Date: 2007/01/24 05:27:16 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.15 -> 1.16 --- Log message: Point to the new nightly tester --- Diffs of the changes: (+2 -2) OpenProjects.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.15 llvm-www/OpenProjects.html:1.16 --- llvm-www/OpenProjects.html:1.15 Tue May 9 22:55:15 2006 +++ llvm-www/OpenProjects.html Wed Jul 19 12:53:23 2006 @@ -161,7 +161,7 @@ Find benchmarks either using our http://llvm.org/testresults/";>test results or on your own, +href="http://llvm.org/nightlytest/";>test results or on your own, where LLVM code generators do not produce optimal code or simply where another compiler produces better code. Try to minimize the test case that demonstrates the issue. Then, either http://llvm.org/bugs/";>submit a @@ -374,7 +374,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2006/05/10 03:55:15 $ + Last modified: $Date: 2006/07/19 17:53:23 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.14 -> 1.15 --- Log message: fine tune an entry --- Diffs of the changes: (+2 -4) OpenProjects.html |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.14 llvm-www/OpenProjects.html:1.15 --- llvm-www/OpenProjects.html:1.14 Tue May 9 22:53:37 2006 +++ llvm-www/OpenProjects.html Tue May 9 22:55:15 2006 @@ -340,9 +340,7 @@ output LLVM bytecode. It seems that it can already output .NET bytecode, JVM bytecode, and C, so LLVM would ostensibly be another good candidate. -Write a new frontend for C/C++ in C++, giving us the ability to -directly use LLVM C++ classes from within a compiler rather than use -C-based wrapper functions a la llvm-gcc. Possible starting points: +Write a new frontend for C/C++ that isn't GCC based. Possible starting points: http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/";>Elsa C++ parser, written in C++ and built with a Generalized LR parser @@ -376,7 +374,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2006/05/10 03:53:37 $ + Last modified: $Date: 2006/05/10 03:55:15 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.13 -> 1.14 --- Log message: Add a new open project --- Diffs of the changes: (+21 -10) OpenProjects.html | 31 +-- 1 files changed, 21 insertions(+), 10 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.13 llvm-www/OpenProjects.html:1.14 --- llvm-www/OpenProjects.html:1.13 Tue Apr 11 23:18:36 2006 +++ llvm-www/OpenProjects.html Tue May 9 22:53:37 2006 @@ -7,8 +7,8 @@ Improving the current system Implementing Code Cleanup bugs -Port glibc to LLVM Compile programs with the LLVM Compiler +Add programs to the llvm-test suite Extend the LLVM intermediate representation Benchmark the LLVM compiler Miscellaneous Improvements @@ -92,18 +92,29 @@ - Port glibc to LLVM + Add programs to the llvm-test testsuite -It would be very useful to http://www.gnu.org/software/libc/manual/html_node/Porting.html";>port http://www.gnu.org/software/libc/";>glibc to LLVM. This would allow a -variety of interprocedural algorithms to be much more effective in the face of -library calls. The most important pieces to port are things like the string -library and the stdio related functions... low-level system calls like -'read' should stay unimplemented in LLVM. + +The llvm-test testsuite is +a large collection of programs we use for nightly testing of generated code +performance, compile times, correctness, etc. Having a large testsuite gives +us a lot of coverage of programs and enables us to spot and improve any +problem areas in the compiler. + + +One extremely useful task, which does not require in-depth knowledge of +compilers, would be to extend our testsuite to include http://nondot.org/sabre/LLVMNotes/#benchmarks";>new programs and benchmarks. +In particular, we are interested in cpu-intensive programs that have few +library dependencies, produce some output that can be used for correctness +testing, and that are redistributable in source form. Many different programs +are suitable, for example, see http://nondot.org/sabre/LLVMNotes/#benchmarks";>this list for some +potential candidates. + @@ -365,7 +376,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2006/04/12 04:18:36 $ + Last modified: $Date: 2006/05/10 03:53:37 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.12 -> 1.13 --- Log message: Nate went and did one of the projects, so remove it. The skeleton backend is no more. --- Diffs of the changes: (+1 -17) OpenProjects.html | 18 +- 1 files changed, 1 insertion(+), 17 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.12 llvm-www/OpenProjects.html:1.13 --- llvm-www/OpenProjects.html:1.12 Thu Mar 16 13:02:22 2006 +++ llvm-www/OpenProjects.html Tue Apr 11 23:18:36 2006 @@ -304,8 +304,6 @@ Improve the instruction selectors. -Implement support for the "switch" instruction without requiring the -lower-switches pass. Implement interprocedural register allocation. The CallGraphSCCPass can be used to implement a bottom-up analysis that will determine the *actual* registers clobbered by a function. Use the pass to fine tune register usage @@ -314,20 +312,6 @@ (ARM? MIPS? http://www-cs-faculty.stanford.edu/~knuth/mmix.html";>MMIX?) -Improve the usefulness and utility of the Skeleton target backend: - - Convert the non-functional Skeleton target to become an abstract machine - target (choose some simple instructions, a register set, etc). This will - become a much more useful example of a backend since it would be a simple - but functional backend. Examples of such architectures include MIX, - MMIX, http://www.cs.cinvestav.mx/SC/prof_personal/adiaz/vhdl/DLX/";>DLX, - or come up with your own! - Use the new Skeleton backend in the Interpreter: compile LLVM to Skeleton - target, and then interpret that code instead of LLVM. Performance win would - be the primary goal, as the number of registers would be a small constant - instead of unbounded, for example. - @@ -381,7 +365,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.org";>LLVM Compiler Infrastructure - Last modified: $Date: 2006/03/16 19:02:22 $ + Last modified: $Date: 2006/04/12 04:18:36 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.10 -> 1.11 --- Log message: Added link to the Elsa C++ parser and Elkhound GLR parser generator -- this could be used to implement a better C++ front-end for LLVM. --- Diffs of the changes: (+10 -4) OpenProjects.html | 14 ++ 1 files changed, 10 insertions(+), 4 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.10 llvm-www/OpenProjects.html:1.11 --- llvm-www/OpenProjects.html:1.10 Sat Oct 29 00:46:00 2005 +++ llvm-www/OpenProjects.html Thu Jan 12 09:05:17 2006 @@ -347,9 +347,15 @@ candidate. Write a new frontend for C/C++ in C++, giving us the ability to directly use LLVM C++ classes from within a compiler rather than use -C-based wrapper functions a la llvm-gcc. One possible starting point is the http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.11";>C++ -yacc grammar by Ed Willink. +C-based wrapper functions a la llvm-gcc. Possible starting points: + + http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/";>Elsa + C++ parser, written in C++ and built with a Generalized LR parser + generator http://www.cs.berkeley.edu/~smcpeak/elkhound/";>Elkhound + http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.11";>C++ yacc grammar by Ed Willink + + Write a new frontend for some other language (Java? OCaml? Forth?) Write a disassembler for machine code that would use TableGen to output MachineInstrs for transformations, optimizations, etc. @@ -375,7 +381,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.cs.uiuc.edu";>LLVM Compiler Infrastructure - Last modified: $Date: 2005/10/29 05:46:00 $ + Last modified: $Date: 2006/01/12 15:05:17 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/OpenProjects.html
Changes in directory llvm-www: OpenProjects.html updated: 1.9 -> 1.10 --- Log message: remove a closed project --- Diffs of the changes: (+1 -2) OpenProjects.html |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index: llvm-www/OpenProjects.html diff -u llvm-www/OpenProjects.html:1.9 llvm-www/OpenProjects.html:1.10 --- llvm-www/OpenProjects.html:1.9 Fri Oct 21 15:29:32 2005 +++ llvm-www/OpenProjects.html Sat Oct 29 00:46:00 2005 @@ -290,7 +290,6 @@ algorithm for SSA form Implement a Dependence Analysis Infrastructure - Design some way to represent and query dep analysis -Implement a strength reduction pass Value range propagation pass @@ -376,7 +375,7 @@ src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01!"> http://llvm.cs.uiuc.edu";>LLVM Compiler Infrastructure - Last modified: $Date: 2005/10/21 20:29:32 $ + Last modified: $Date: 2005/10/29 05:46:00 $ ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits