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
John Criswell
61905ce599
Added u_int64_t because some systems use that instead of uint64_t.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16144 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 18:41:30 +00:00
Alkis Evlogimenos
82b4955f96
We don't need to sort the added vector as unhandled intervals are
...
stored in a binary heap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16143 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 18:00:38 +00:00
Nate Begeman
b7a8f2cdaa
Convert remaining X-Form and Pseudo instructions over to asm writer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16142 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 08:13:00 +00:00
Alkis Evlogimenos
df8d5e908f
Pull in definition of std::unary_function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16140 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 03:24:45 +00:00
Brian Gaeke
065b648732
Unbreak build
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16139 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 03:24:08 +00:00
Brian Gaeke
74dfcf1200
Back to compiling land for v8
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16138 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 02:37:43 +00:00
Reid Spencer
551ccae044
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Alkis Evlogimenos
ed543731fb
Be a bit more efficient when processing the active and inactive
...
lists. Instead of scanning the vector backwards, scan it forward and
swap each element we want to erase. Then at the end erase all removed
intervals at once. This doesn't save much: 0.08s out of 4s when
compiling 176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:52:29 +00:00
Alkis Evlogimenos
2e58a41089
Give a better assertion if we see a use before a def.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16135 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:34:52 +00:00
Reid Spencer
790306852c
Make sure <cassert> is included for platforms that don't include it via
...
other header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16134 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 20:36:15 +00:00
Reid Spencer
15fd439972
mkdtemp doesn't exist on Cygwin. Use tempnam & mkdir instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16133 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 20:29:35 +00:00
Reid Spencer
e1cc150a8e
Make CommandLine prefix error output with the name of the program.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16129 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 04:41:28 +00:00
Reid Spencer
d808bcaefe
Initial commit for platform independent system configuration support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16128 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 18:13:52 +00:00
Reid Spencer
0132bd4dc1
Add support for FreeBSD
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16127 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 18:09:35 +00:00
Reid Spencer
a11e4dbef5
Add support for Interix and FreeBSD
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16126 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 18:03:23 +00:00
Reid Spencer
ef6efabd6d
Actually define PreventCoreFiles in the sys namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16125 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 17:53:41 +00:00
Reid Spencer
387e5ec502
Add a new abstraction, SysConfig for platform independent system
...
configuration calls. Right now this just contains PreventCoreFiles so that
bugpoint can by platform independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16124 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 17:43:29 +00:00
Alkis Evlogimenos
d19e2901c1
Minor code clarity changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16123 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 17:39:15 +00:00
Reid Spencer
73fb548942
Fix a "test" botch.
...
Alphabetize the platform list
Install some AC_MSG_CHECKING/AC_MSG_RESULT pairs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16122 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 14:20:36 +00:00
Nate Begeman
cc8bd9ca7c
convert M and MD form instructions to generated asm writer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16121 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 02:28:08 +00:00
Reid Spencer
886e951f3a
Recognize Interix systems as if they were SunOS and make sure we don't
...
attempt to configure for "Unknown" system types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16120 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 01:34:10 +00:00
Reid Spencer
f634f46350
Move the GetTemporaryDirectory function from "generic Unix" to platform
...
specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 21:46:55 +00:00
Reid Spencer
b60bf6171d
Add inclusion of assert.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16118 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 16:03:54 +00:00
Reid Spencer
016e335e87
Initial commit of a configuration file for compiling C++ programs with
...
the file name pattern *.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16117 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 06:32:24 +00:00
Reid Spencer
ca01f9bc6f
Implement the "setIncludePaths" and "setSymbolDefines" interface methods.
...
Revise token substitution to be a little faster.
Clean up exception throwing, make sure its always a std::string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16116 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 06:29:06 +00:00
Reid Spencer
7c14fd152e
Pass lists of -I and -D options through to the Compiler Driver.
...
Handle -g and -Wxxx for GCC compatibility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16115 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 06:27:32 +00:00
Reid Spencer
b993feb53c
Add a blurb about exploiting the use of external storage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16114 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 05:56:51 +00:00
Nate Begeman
07aada8b0f
Move yet more instructions over to being printed by the generated asm writer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16112 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 02:28:06 +00:00
Reid Spencer
d8f4c8eff9
Abbreviate the long descriptions which are now in docs/SystemLibrary.html.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16111 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 02:03:51 +00:00