Commit Graph

14212 Commits

Author SHA1 Message Date
Misha Brukman
96bba38831 Add link to new howto on writing backends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16204 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 23:00:01 +00:00
Misha Brukman
8eb6719b1c How to write an LLVM backend, first draft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16203 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 22:58:13 +00:00
Misha Brukman
05bcca95e9 * Profile-guided needs a hyphen
* Dead store elimination has been implemented


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16202 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 22:35:43 +00:00
Misha Brukman
0b9370f8f4 Reword to not use a link text `click here'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 20:58:44 +00:00
Reid Spencer
e993f46de9 Modify the lines of code counting mechanism to use the new "countloc.sh"
utility. This avoids some problems with long line lengths and counting the
wrong things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16200 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 19:32:55 +00:00
Reid Spencer
65e731d99a Added a tool to more accurately count the lines of code. The previous
utility, getsrcs.sh suffered from two problems: (1) it generated command
lines too long for some platforms and (2) it searched the projects diretory
which now contains the llvm-test module (in nightly tester) but we don't
want to include the test code in our LOC calculation. This script should
be maintained as LLVM adds new top level directories that contain source
code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16199 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 19:06:27 +00:00
Nate Begeman
20136a21ba Add 64 bit divide instructions, and use them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 18:46:59 +00:00
Reid Spencer
214c6d64b1 Remove double paren use in system() function so that the command line can
be correctly interpreted by non-bash shells.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 20:57:22 +00:00
Reid Spencer
77d9019789 HTML 4.01 STRICT compliance.
Added missing definitions
Noted the difference between llvm/test and llvm-test


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 20:50:22 +00:00
Reid Spencer
8284f1fc78 Make section separator comments 80 chars, not 70.
Revise descriptions to account for llvm/test/Programs being moved to
the new CVS module llvm-test.
Incoporate an example of how to run the NightlyTest.pl script from a
shell script.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 20:07:26 +00:00
Alkis Evlogimenos
76d9dacceb Indent to 2 spaces and cleanup excess whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16188 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 18:41:35 +00:00
Alkis Evlogimenos
a63828619f Indent to 2 spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16187 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 18:39:20 +00:00
Reid Spencer
1704168df8 Remove configuration of test/Programs/* Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16186 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 17:48:32 +00:00
Reid Spencer
e07d9aa1d1 Added the configuration of the test/Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 16:42:30 +00:00
Reid Spencer
1f4a27947f Add HAS_U_INT64_T
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 16:41:11 +00:00
Reid Spencer
5f8c6b2546 Add LLVMC as a supported tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 16:39:01 +00:00
Reid Spencer
eb32ffe2f8 Per Bug 257
The "Programs" directory no longer lives here. It have been moved to its
own cvs module. Check it out into llvm/projects and configure/build it
there.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16182 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 08:18:23 +00:00
Reid Spencer
10ffe0134d Make the NightlyTest run tests out of projects/llvm-test instead of
llvm/test/Programs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 07:58:10 +00:00
Misha Brukman
100bd71866 Put a space between Data' and Structure' of DSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16179 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 03:57:23 +00:00
Misha Brukman
fe732854ba Remove the bit about this document being my `notes', it has matured since then.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16178 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 03:24:34 +00:00
Misha Brukman
2161834d01 Fix object/library filenames that have changed, clarify descriptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16177 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 03:20:18 +00:00
Misha Brukman
9a4c904039 Add DSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16176 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 03:00:20 +00:00
Misha Brukman
eedba5e824 * CSS was created to reduce re-specifying design styles: specify table cell
color once at the top, and do not repeat it 82 times
* Replace bright blue table border with gray, which is easier on the eyes and
  matches the gray LLVM documentation color scheme


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16175 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 02:56:39 +00:00
Misha Brukman
3e0b51ab3b * Change PPC32AsmPrinter => PowerPCAsmPrinter since it is now shared between
Darwin and AIX and is not 32- or 64-bit specific
* Bring back PowerPC.td as a result, to make it use the `PowerPC' class name
* Adjust Makefile accordingly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16174 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 02:42:44 +00:00
Misha Brukman
b986b7de50 Renamed PPC32AsmPrinter.cpp => PowerPCAsmPrinter.cpp as the Darwin and AIX asm
printers are now unified into one file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 02:27:37 +00:00
Reid Spencer
d1011c2ca7 Make sure llvm-test doesn't build automatically so the nightly test can
finish its build phase without building and running all the tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 23:07:57 +00:00
Reid Spencer
88eed81802 Take one item off the "to do" list: implemented -O1 .. -O5 options for
optimization in stkrc instead of depending on "opt"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 20:30:01 +00:00
Reid Spencer
39dcf0e016 Convert makefile to use standard LLVM macros for tool names
Utilize new stkrc -O4 option for optimization during translation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16168 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 20:13:54 +00:00
Reid Spencer
820dab7a62 Make Stacker into a complete project with its own configuration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16167 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 19:48:50 +00:00
Reid Spencer
c37a506d44 Make the StackerCompiler and optimizing translator by running specific
optimizations after construction of the Module. The OptLevel argument
to the compile function controls the level of optimization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16166 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 19:07:32 +00:00
Reid Spencer
2c711577ab Make the Stacker compiler handle -O1 .. -O5 options so it is compliant with
the compiler driver interface as an optimizing translator. Also clean up
error message handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16165 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 19:05:53 +00:00
Nate Begeman
a11c2e8fb9 Include MathExtras.h to fix build breakage, thanks to Vladimir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16164 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 14:51:26 +00:00
Nate Begeman
ed42853be1 All PPC instructions are now auto-printed
32 and 64 bit AsmWriters unified
Darwin and AIX specific features of AsmWriter split out


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16163 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-04 05:00:00 +00:00
Reid Spencer
ec9d780153 Get rid of an un-needed and un-used GCCism. ATTR_DEPRECATED is used nowhere
in the LLVM source base.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16162 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:38:25 +00:00
Reid Spencer
40b062fdf8 Clean up some "clean:" targets so they use $(VERB) and don't print anything
by default, like every other "clean" target in LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:19:53 +00:00
Reid Spencer
23f7d5131c Make tblgen's exception handling a little more robust by printing the
program name and also catching ...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:17:54 +00:00
Reid Spencer
a3b4e09715 Don't re-instantiate the std::string in catch block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 22:59:32 +00:00
Reid Spencer
9c3c65806f Uh, changing in build dir and committing in src dir doesn't lead to correct
commits. Fix it so it actually works.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16158 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 22:28:24 +00:00
Reid Spencer
1d009bbbbd Correct the specification of the DIRS variable to not include the source
directory prefix, just the name of the subdirectory. This prevents the
makefile from trying to find makefiles (like Makefile.common) in the wrong
place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16157 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 22:25:40 +00:00
Misha Brukman
2d3dcb6a55 I was actually wrong in my "simplification".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16156 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 19:46:43 +00:00
Misha Brukman
18d55dd700 Simplify check for uint64_t and u_int64_t
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 19:44:28 +00:00
Reid Spencer
206043aac9 Provide correct definition of uint64_t for platforms that have only
u_int64_t defined.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16154 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 19:37:39 +00:00
Misha Brukman
08a6c7614b Order #includes alphabetically, local .h files first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16153 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 18:25:53 +00:00
Alkis Evlogimenos
20aa474f8f Fixes to make LLVM compile with vc7.1.
Patch contributed by Paolo Invernizzi!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 18:19:51 +00:00
Misha Brukman
ceca90415f Regenerated after Reid's change for uint64_t/u_int64_t (patch by Bill Wendling)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16151 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 23:02:30 +00:00
Reid Spencer
ad0b738ad4 Make the text of this file a little more useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16150 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 22:49:27 +00:00
Reid Spencer
e2c6f51e2b Don't just assume that either uint64_t or u_int64_t is available. Instead,
give preference to uint64_t if it exists. If not, check for u_int64_t. If
that doesn't exist either, then error out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16149 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 21:38:24 +00:00
Alkis Evlogimenos
70619fae28 Change the way we choose a free register: instead of picking the first
free allocatable register, we prefer the a free one with the most uses
of inactive intervals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 21:24:33 +00:00
Alkis Evlogimenos
84f5bcb013 Change the way we choose a free register: instead of picking the first
free allocatable register, we prefer the a free one with the most uses
of inactive intervals. This causes less spills and performes a bit
better compared to gcc:

Program                 | GCC/LLC (Before)| GCC/LLC (After)
164.gzip/164.gzip       | 0.59            | 0.60
175.vpr/175.vpr         | 0.57            | 0.58
176.gcc/176.gcc         | 0.59            | 0.61
181.mcf/181.mcf         | 0.94            | 0.95
186.crafty/186.crafty   | 0.62            | 0.62
197.parser/197.parser   | 0.89            | 0.88
252.eon/252.eon         | 0.61            | 0.66
253.perlbmk/253.perlbmk | 0.79            | 0.84
254.gap/254.gap         | 0.81            | 0.81
255.vortex/255.vortex   | 0.92            | 0.93
256.bzip2/256.bzip2     | 0.69            | 0.69
300.twolf/300.twolf     | 0.91            | 0.90


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16147 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 21:23:32 +00:00
John Criswell
679ff31e93 Added a check for u_int64_t, which is used by Interix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16145 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 18:44:44 +00:00