Misha Brukman [Fri, 3 Sep 2004 19:44:28 +0000 (19:44 +0000)]
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
Reid Spencer [Fri, 3 Sep 2004 19:37:39 +0000 (19:37 +0000)]
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
Misha Brukman [Fri, 3 Sep 2004 18:25:53 +0000 (18:25 +0000)]
Order #includes alphabetically, local .h files first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16153
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 3 Sep 2004 18:19:51 +0000 (18:19 +0000)]
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
Misha Brukman [Thu, 2 Sep 2004 23:02:30 +0000 (23:02 +0000)]
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
Reid Spencer [Thu, 2 Sep 2004 22:49:27 +0000 (22:49 +0000)]
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
Reid Spencer [Thu, 2 Sep 2004 21:38:24 +0000 (21:38 +0000)]
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
Alkis Evlogimenos [Thu, 2 Sep 2004 21:24:33 +0000 (21:24 +0000)]
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
Alkis Evlogimenos [Thu, 2 Sep 2004 21:23:32 +0000 (21:23 +0000)]
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
John Criswell [Thu, 2 Sep 2004 18:44:44 +0000 (18:44 +0000)]
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
John Criswell [Thu, 2 Sep 2004 18:41:30 +0000 (18:41 +0000)]
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
Alkis Evlogimenos [Thu, 2 Sep 2004 18:00:38 +0000 (18:00 +0000)]
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
Nate Begeman [Thu, 2 Sep 2004 08:13:00 +0000 (08:13 +0000)]
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
Alkis Evlogimenos [Thu, 2 Sep 2004 03:24:45 +0000 (03:24 +0000)]
Pull in definition of std::unary_function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16140
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 2 Sep 2004 03:24:08 +0000 (03:24 +0000)]
Unbreak build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16139
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 2 Sep 2004 02:37:43 +0000 (02:37 +0000)]
Back to compiling land for v8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16138
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Sep 2004 22:55:40 +0000 (22:55 +0000)]
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
Alkis Evlogimenos [Wed, 1 Sep 2004 22:52:29 +0000 (22:52 +0000)]
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
Alkis Evlogimenos [Wed, 1 Sep 2004 22:34:52 +0000 (22:34 +0000)]
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
Reid Spencer [Wed, 1 Sep 2004 20:36:15 +0000 (20:36 +0000)]
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
Reid Spencer [Wed, 1 Sep 2004 20:29:35 +0000 (20:29 +0000)]
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
Reid Spencer [Wed, 1 Sep 2004 04:41:28 +0000 (04:41 +0000)]
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
Reid Spencer [Tue, 31 Aug 2004 18:13:52 +0000 (18:13 +0000)]
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
Reid Spencer [Tue, 31 Aug 2004 18:09:35 +0000 (18:09 +0000)]
Add support for FreeBSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16127
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Aug 2004 18:03:23 +0000 (18:03 +0000)]
Add support for Interix and FreeBSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16126
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Aug 2004 17:53:41 +0000 (17:53 +0000)]
Actually define PreventCoreFiles in the sys namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16125
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Aug 2004 17:43:29 +0000 (17:43 +0000)]
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
Alkis Evlogimenos [Tue, 31 Aug 2004 17:39:15 +0000 (17:39 +0000)]
Minor code clarity changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16123
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Aug 2004 14:20:36 +0000 (14:20 +0000)]
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
Nate Begeman [Tue, 31 Aug 2004 02:28:08 +0000 (02:28 +0000)]
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
Reid Spencer [Tue, 31 Aug 2004 01:34:10 +0000 (01:34 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 21:46:55 +0000 (21:46 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 16:03:54 +0000 (16:03 +0000)]
Add inclusion of assert.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16118
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 30 Aug 2004 06:32:24 +0000 (06:32 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 06:29:06 +0000 (06:29 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 06:27:32 +0000 (06:27 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 05:56:51 +0000 (05:56 +0000)]
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
Nate Begeman [Mon, 30 Aug 2004 02:28:06 +0000 (02:28 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 02:03:51 +0000 (02:03 +0000)]
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
Reid Spencer [Mon, 30 Aug 2004 00:13:26 +0000 (00:13 +0000)]
Reduce the number of arguments in the instruction builder and make some
improvements on instruction selection that account for register and frame
index bases.
Patch contributed by Jeff Cohen. Thanks Jeff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16110
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 30 Aug 2004 00:06:52 +0000 (00:06 +0000)]
Need to throw std::string not const char* if we want error messages to be
caught.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16109
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 23:20:42 +0000 (23:20 +0000)]
Synchronize documentation of configuration items and substitutions with
current reality of llvmc implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16108
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 22:45:13 +0000 (22:45 +0000)]
Convert A-Form instructions to auto-generated asm writer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16107
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 22:03:40 +0000 (22:03 +0000)]
Register sizes should be specified in bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16106
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 22:02:43 +0000 (22:02 +0000)]
Improvements to int->float cast code for PPC-64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16105
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 22:01:44 +0000 (22:01 +0000)]
Must link against new LLVMsystem library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16104
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 22:01:17 +0000 (22:01 +0000)]
RemoveFileOnSignal is now in sys:: namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16103
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 22:00:24 +0000 (22:00 +0000)]
Put this change back in after testing from Reid proved its innocence. getSpillSize now returns value in bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16102
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 21:59:26 +0000 (21:59 +0000)]
Update doxygen comment now that getSpillSize is supposed to return value in bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16101
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 20:10:07 +0000 (20:10 +0000)]
Add a declaration of environ global for Darwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16100
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 20:02:28 +0000 (20:02 +0000)]
Add a missing header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16099
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:37:59 +0000 (19:37 +0000)]
Add an assert to cature null Operands. It is better to catch it here than
to SIGSEGV in the bowels of isa<...> later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16098
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:36:34 +0000 (19:36 +0000)]
Signals support has been moved to lib/System
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16097
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:35:28 +0000 (19:35 +0000)]
Updated to create a link needed for correct lib/System compilation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16096
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:33:21 +0000 (19:33 +0000)]
Add lib/System ahead of lib/Support in case there are operating system
issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16095
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:31:19 +0000 (19:31 +0000)]
Link with LLVMsystem.a for operating system independence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16094
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:30:41 +0000 (19:30 +0000)]
RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16093
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:29:38 +0000 (19:29 +0000)]
Add the LLVMsystem.a library as it is now used for operating system
independence of the tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16092
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:28:55 +0000 (19:28 +0000)]
The functions in Signal.h are now in the llvm::sys namespace - adjust
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:27:34 +0000 (19:27 +0000)]
add llvmc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16090
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:26:56 +0000 (19:26 +0000)]
Convert llvmc to use the lib/System interface instead of directly
using Unix operating system calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16089
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:25:54 +0000 (19:25 +0000)]
Move a warning comment to where it should have been in the first place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16088
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:24:53 +0000 (19:24 +0000)]
Correct the vim: specification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16087
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:24:20 +0000 (19:24 +0000)]
Include some additional header files.
Fix the banner length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16086
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:22:48 +0000 (19:22 +0000)]
Initial platform independent implementation of operating system concept
of "Signals" (cleanup after fatal errors).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16085
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:20:41 +0000 (19:20 +0000)]
Initial commit of an platform-indepdendent implementation for the
"Program" operating system concept (find and execute programs).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16084
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:19:07 +0000 (19:19 +0000)]
Put the lib/System interface functions in llvm::sys namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16083
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 19:18:05 +0000 (19:18 +0000)]
Create a link from $BUILD_OBJ_ROOT/lib/System/platform to
$BUILD_SRC_ROOT/lib/System/$build which gives us the ability to
configure the lib/System for the current type of operating system.
Also cleaned up some indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16082
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 29 Aug 2004 08:19:32 +0000 (08:19 +0000)]
Implement the following missing functionality in the PPC backend:
cast fp->bool
cast ulong->fp
algebraic right shift long by non-constant value
These changes tested across most of the test suite. Fixes Regression/casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16081
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 05:29:35 +0000 (05:29 +0000)]
Initial commit of the platform agnostic interface to finding and executing
programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16080
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 05:27:15 +0000 (05:27 +0000)]
Add a function to remove whole directorys on fatal signal.
Doxygenify function comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16079
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Aug 2004 05:24:01 +0000 (05:24 +0000)]
Revise the design of the Path concept per peer review. Too many changes to
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16078
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 28 Aug 2004 22:43:31 +0000 (22:43 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16077
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 19:00:29 +0000 (19:00 +0000)]
Now that LiveIntervals::addIntervalsForSpills is fixed, do not require
LiveVariables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16076
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 18:59:22 +0000 (18:59 +0000)]
Only update LiveVariables if it is available. addIntervalsForSpills
runs after the initial run of the live interval analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16075
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 18:01:21 +0000 (18:01 +0000)]
Back out this change as it broke the build last night. This should be
investicated further as the linearscan variants don't really need
LiveVariables...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16074
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 27 Aug 2004 16:48:24 +0000 (16:48 +0000)]
Back out change to divide getSpillSize by 8 until I figure out why it breaks x86, which has register sizes in bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16073
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 27 Aug 2004 07:59:37 +0000 (07:59 +0000)]
Fix a typo in the bytecode format documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16072
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 04:51:13 +0000 (04:51 +0000)]
The linear scan variants do not require the LiveVariables analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16071
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 27 Aug 2004 04:28:10 +0000 (04:28 +0000)]
Register sizes are in bits, not bytes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16070
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 04:02:35 +0000 (04:02 +0000)]
Add getLastBlock member. This is useful when growing a densemap keyed
on MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16069
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 04:00:26 +0000 (04:00 +0000)]
Add MachineBasicBlock2IndexFunctor. This is useful for densemaps from
MachineBasicBlocks to an arbitrary type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16068
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 27 Aug 2004 03:58:31 +0000 (03:58 +0000)]
Add size member function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16067
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Aug 2004 02:08:04 +0000 (02:08 +0000)]
Add more content.
This isn't in reviewable shape yet, unless you're curious.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16066
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Aug 2004 00:48:26 +0000 (00:48 +0000)]
Bug 430 Fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16065
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Aug 2004 00:43:51 +0000 (00:43 +0000)]
Correctly compute the number of compaction tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16064
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Aug 2004 00:38:44 +0000 (00:38 +0000)]
Prevent an empty compaction table from being written to the bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16063
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 22:32:00 +0000 (22:32 +0000)]
Add the CompactionTableIsEmpty function so that we can determine if a
CompactionTable really needs to be emitted. This is not a straight forward
computation, hence the need for a member function here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16062
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 26 Aug 2004 22:23:32 +0000 (22:23 +0000)]
Use newly added API in MRegisterInfo and don't expose the allocatable
register set anymore. Its users now use the MRegisterInfo API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16061
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 26 Aug 2004 22:22:38 +0000 (22:22 +0000)]
Use newly added API in MRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16060
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 26 Aug 2004 22:21:04 +0000 (22:21 +0000)]
Add getAllocatableSet() function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16059
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 20:44:00 +0000 (20:44 +0000)]
Provide some meta tags for this document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16058
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 20:43:21 +0000 (20:43 +0000)]
Add the default table related styles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16057
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 18:52:52 +0000 (18:52 +0000)]
Document the rational for the #include hierarchy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16056
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 07:43:33 +0000 (07:43 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16055
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 07:41:41 +0000 (07:41 +0000)]
First cut at a README for lib/System explaining the #inclusion rules and
design criteria.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16054
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Aug 2004 05:58:20 +0000 (05:58 +0000)]
Add a README explaining the intended content of this directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16053
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 26 Aug 2004 03:37:28 +0000 (03:37 +0000)]
Add default index functor (an identity functor). You could use a
vector directly to get the same functionality but using a DenseMap
makes the code more readable IMO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16052
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 25 Aug 2004 19:37:26 +0000 (19:37 +0000)]
Previous checkin broke printf(%a) support for fp constants-- re-fix it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16051
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 25 Aug 2004 19:00:42 +0000 (19:00 +0000)]
New version of Bill Wendling's PR33 patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16050
91177308-0d34-0410-b5e6-
96231b3b80d8