Commit Graph

14593 Commits

Author SHA1 Message Date
Reid Spencer fe020a38bc Implement dependent library processing and search paths for them.
llvm-svn: 16287
2004-09-11 04:32:42 +00:00
Reid Spencer 96019262ca Convert the Emitter to use the lib/System "Memory" interface instead of the
old SystemUtils.h interface to allocate RWX blocks of memory.

llvm-svn: 16286
2004-09-11 04:31:03 +00:00
Reid Spencer 0bb062e55d Add library LLVMsystem.a because the JIT now needs it.
llvm-svn: 16285
2004-09-11 04:29:44 +00:00
Reid Spencer 92475489e7 Correct the interface of a function to use the correct typedef for an
argument so that it will always compile.

llvm-svn: 16284
2004-09-11 04:29:13 +00:00
Reid Spencer 9cfa81662f Implement the remove method for deleting entries from the SetVector.
llvm-svn: 16283
2004-09-11 04:25:58 +00:00
Reid Spencer 1b34fde1cc Implement support for dependent libraries. The "source" module's dependent
libraries list is merged into the "destination" module's list. Also, if the
source module is one of the dependent libraries, it is removed from the
list.

llvm-svn: 16282
2004-09-11 04:25:17 +00:00
Reid Spencer 14072a3f54 Change interface to use correct typedef so it will always compile.
llvm-svn: 16281
2004-09-11 04:22:58 +00:00
Reid Spencer a529d4eaa7 Make the dependent libraries list use a SetVector instead of a regular
vector so that duplicate libraries never occur within a module.

llvm-svn: 16280
2004-09-11 04:22:14 +00:00
Reid Spencer 886fc070d5 Initial commit of a file to declare the interface for platform independent
support for various memory allocation operations.

llvm-svn: 16279
2004-09-11 04:20:58 +00:00
Reid Spencer e88d949c1e Add methods for detecting file types by magic number, getting the file name
suffix for shared objects, and stripping a path down to its base name.

llvm-svn: 16278
2004-09-11 04:19:17 +00:00
Reid Spencer cf40b4a423 Add methods for detecting different kinds of files by their magic number,
getting the suffix for shared objects, and extracting the basename from a
path.

llvm-svn: 16277
2004-09-11 04:18:05 +00:00
Reid Spencer 07e7a5ec18 Use llvm-link to link the .bc with testing.bc. This helps test the new
llvm-link dependent libraries feature.

llvm-svn: 16276
2004-09-11 04:15:09 +00:00
Reid Spencer c90a765368 Print the dependent libraries when dumping bytecode.
llvm-svn: 16275
2004-09-11 04:14:07 +00:00
Brian Gaeke c722311fb5 Update to latest versions of config.guess and config.sub from
http://savannah.gnu.org/projects/config

llvm-svn: 16268
2004-09-10 19:20:06 +00:00
Misha Brukman 04bbe6fa25 Renamed file to SparcV8ISelSimple.cpp
llvm-svn: 16267
2004-09-10 18:51:12 +00:00
Brian Gaeke 86584749b6 Roll back constant printing changes until the problems with larger
programs and C++ can be looked at in detail.

llvm-svn: 16266
2004-09-10 18:01:45 +00:00
Alkis Evlogimenos cb031d9518 Add assertion descriptiosn on type mismatches when creating
ConstantArray and ConstantPacked objects.

llvm-svn: 16261
2004-09-10 04:16:59 +00:00
Misha Brukman 0bc8b12734 Fix broken internal links (one found by seventwentyfour.com spider)
llvm-svn: 16260
2004-09-09 20:34:13 +00:00
Alkis Evlogimenos 213e6db9ce Grow the map on entry so that we don't crash if joinIntervals never
runs (if coalescing is disabled for example).

llvm-svn: 16259
2004-09-09 19:24:38 +00:00
Misha Brukman 4657235e36 If updating from CVS gives error "No rule to make target", it's faster to just
delete .d files than to rebuild from scratch.

llvm-svn: 16258
2004-09-09 16:36:47 +00:00
Misha Brukman 6e8f860fee Fix broken link to the 2004 CGO paper.
llvm-svn: 16257
2004-09-09 16:18:40 +00:00
Chris Lattner c8f1d71f1b Add missing #include
llvm-svn: 16256
2004-09-09 02:37:56 +00:00
Brian Gaeke ee83ff191f Regenerated, to recognize mingw.
llvm-svn: 16255
2004-09-08 20:38:05 +00:00
Brian Gaeke f8d86008c5 recognize MinGW
llvm-svn: 16254
2004-09-08 20:32:11 +00:00
Misha Brukman 17e894523a Disable libprofile as it breaks the build on Sparc (autoconf issues).
llvm-svn: 16253
2004-09-08 20:30:26 +00:00
Misha Brukman 6ea13f679b Make file comment span the entire line
llvm-svn: 16249
2004-09-08 19:48:15 +00:00
Alkis Evlogimenos 371403193c Use a shorter form to express implicit use/defs in FpGETRESULT and
FpSETRESULT.

llvm-svn: 16247
2004-09-08 18:29:31 +00:00
Alkis Evlogimenos 8b700215ed A call instruction should implicitely define ST0 since the return
value is returned in that register. The pseudo instructions
FpGETRESULT and FpSETRESULT shold also have an implicity use and def
of ST0 repsecitvely.

llvm-svn: 16246
2004-09-08 16:54:54 +00:00
Brian Gaeke acafb39cc3 This file does not need <iostream>, I think.
llvm-svn: 16245
2004-09-08 04:10:52 +00:00
Alkis Evlogimenos adb2ce2962 Use a DenseMap for mapping reg->reg. This improves the LiveInterval
analysis running time from 2.7869secs to 2.5226secs on 176.gcc.

llvm-svn: 16244
2004-09-08 03:01:50 +00:00
Brian Gaeke 52a4e667e8 Use libtool, not mklib (which somehow doesn't get generated anymore)
llvm-svn: 16243
2004-09-07 19:03:35 +00:00
Reid Spencer 1a2f0432d5 Remove PAPIDIR, per brg
llvm-svn: 16240
2004-09-07 18:04:45 +00:00
Reid Spencer 05b9b53b79 bug 352 fixed
bug 257 fixed

llvm-svn: 16238
2004-09-07 17:52:38 +00:00
Brian Gaeke 64a0630d72 PAPI check has been moved to projects/reopt.
llvm-svn: 16237
2004-09-07 17:35:16 +00:00
Brian Gaeke 6e07318a38 PAPI is not used here.
llvm-svn: 16236
2004-09-07 17:34:34 +00:00
Reid Spencer edd0b5b653 Removed this file as its contents are now in the m4 directory.
llvm-svn: 16234
2004-09-07 16:50:22 +00:00
Reid Spencer ee0a2bee10 Remove variables and tests that were specific to the now defunct
test/Programs. These have been moved to llvm-test/autoconf/configure.ac and
llvm-test/Makefile.config.in

llvm-svn: 16231
2004-09-07 16:35:45 +00:00
Reid Spencer 90de7fbb3e - Handle AC_CONFIG_SUBDIRS properly for existing "well known" projects
while still retaining the ability to configure unknown ones.
- Excise crud left over from when test/Projects was still part of the main
  LLVM module. These removed tests are now all in
  llvm-test/autoconf/configure.ac

llvm-svn: 16230
2004-09-07 16:26:18 +00:00
Reid Spencer d7eeb3ae28 - Perform all validity checks before doing anything.
- Use the -I parameter to aclocal to tell it where the autoconf/m4
  directory is located so it can find needed autoconf functions

llvm-svn: 16225
2004-09-07 16:00:48 +00:00
Reid Spencer 8118dba3e6 move AC_FUNC_ISINF and AC_FUNC_ISNAN to their own files.
llvm-svn: 16224
2004-09-07 14:23:53 +00:00
Reid Spencer b15e69a09b Individual autoconf function broken out of acincludes.m4. This change
per the recommended style guide for autoconf and so that individual
autoconf functions can more easily be shared across projects.

llvm-svn: 16223
2004-09-07 06:56:14 +00:00
Misha Brukman 33427efbe6 This is the documentation style sheet, not the one for the website.
llvm-svn: 16222
2004-09-07 05:09:22 +00:00
Misha Brukman 125255b9f6 Remove extraneous blank lines.
llvm-svn: 16205
2004-09-06 23:00:30 +00:00
Misha Brukman a0194211d7 Add link to new howto on writing backends.
llvm-svn: 16204
2004-09-06 23:00:01 +00:00
Misha Brukman 25e6361939 How to write an LLVM backend, first draft.
llvm-svn: 16203
2004-09-06 22:58:13 +00:00
Misha Brukman d48f54417f * Profile-guided needs a hyphen
* Dead store elimination has been implemented

llvm-svn: 16202
2004-09-06 22:35:43 +00:00
Misha Brukman a196c6859e Reword to not use a link text `click here'.
llvm-svn: 16201
2004-09-06 20:58:44 +00:00
Reid Spencer ec0c48e0f9 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.

llvm-svn: 16200
2004-09-06 19:32:55 +00:00
Reid Spencer 2a91e7f660 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.

llvm-svn: 16199
2004-09-06 19:06:27 +00:00
Nate Begeman 54bcf2db01 Add 64 bit divide instructions, and use them
llvm-svn: 16198
2004-09-06 18:46:59 +00:00
Reid Spencer d5de72cd6b Remove double paren use in system() function so that the command line can
be correctly interpreted by non-bash shells.

llvm-svn: 16194
2004-09-05 20:57:22 +00:00
Reid Spencer 075de23a3d HTML 4.01 STRICT compliance.
Added missing definitions
Noted the difference between llvm/test and llvm-test

llvm-svn: 16193
2004-09-05 20:50:22 +00:00
Reid Spencer ae21b0b836 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.

llvm-svn: 16192
2004-09-05 20:07:26 +00:00
Alkis Evlogimenos 58350a7435 Indent to 2 spaces and cleanup excess whitespace.
llvm-svn: 16188
2004-09-05 18:41:35 +00:00
Alkis Evlogimenos fcb3f5197e Indent to 2 spaces.
llvm-svn: 16187
2004-09-05 18:39:20 +00:00
Reid Spencer 7433dcdc0f Remove configuration of test/Programs/* Makefiles.
llvm-svn: 16186
2004-09-05 17:48:32 +00:00
Reid Spencer 20f712853f Added the configuration of the test/Makefile.
llvm-svn: 16185
2004-09-05 16:42:30 +00:00
Reid Spencer fe4c30ec5b Add HAS_U_INT64_T
llvm-svn: 16184
2004-09-05 16:41:11 +00:00
Reid Spencer 7650c06a45 Add LLVMC as a supported tool.
llvm-svn: 16183
2004-09-05 16:39:01 +00:00
Reid Spencer ebb2334fa5 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.

llvm-svn: 16182
2004-09-05 08:18:23 +00:00
Reid Spencer 2263203a94 Make the NightlyTest run tests out of projects/llvm-test instead of
llvm/test/Programs

llvm-svn: 16181
2004-09-05 07:58:10 +00:00
Misha Brukman 0d68e4cde6 Put a space between `Data' and `Structure' of DSA.
llvm-svn: 16179
2004-09-05 03:57:23 +00:00
Misha Brukman 3541004158 Remove the bit about this document being my `notes', it has matured since then.
llvm-svn: 16178
2004-09-05 03:24:34 +00:00
Misha Brukman 68d6f7fa22 Fix object/library filenames that have changed, clarify descriptions.
llvm-svn: 16177
2004-09-05 03:20:18 +00:00
Misha Brukman adfa8b8ab4 Add DSA.
llvm-svn: 16176
2004-09-05 03:00:20 +00:00
Misha Brukman 73b6e9679b * 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

llvm-svn: 16175
2004-09-05 02:56:39 +00:00
Misha Brukman 175fdd4678 * 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

llvm-svn: 16174
2004-09-05 02:42:44 +00:00
Misha Brukman 4acadb3af7 Renamed PPC32AsmPrinter.cpp => PowerPCAsmPrinter.cpp as the Darwin and AIX asm
printers are now unified into one file.

llvm-svn: 16173
2004-09-05 02:27:37 +00:00
Reid Spencer 738122ce2c Make sure llvm-test doesn't build automatically so the nightly test can
finish its build phase without building and running all the tests.

llvm-svn: 16172
2004-09-04 23:07:57 +00:00
Reid Spencer ab4df83228 Take one item off the "to do" list: implemented -O1 .. -O5 options for
optimization in stkrc instead of depending on "opt"

llvm-svn: 16169
2004-09-04 20:30:01 +00:00
Reid Spencer 8ea6e94df9 Convert makefile to use standard LLVM macros for tool names
Utilize new stkrc -O4 option for optimization during translation.

llvm-svn: 16168
2004-09-04 20:13:54 +00:00
Reid Spencer 950d604ef9 Make Stacker into a complete project with its own configuration.
llvm-svn: 16167
2004-09-04 19:48:50 +00:00
Reid Spencer fbd716d621 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.

llvm-svn: 16166
2004-09-04 19:07:32 +00:00
Reid Spencer 4771383e47 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.

llvm-svn: 16165
2004-09-04 19:05:53 +00:00
Nate Begeman 4d847047a0 Include MathExtras.h to fix build breakage, thanks to Vladimir
llvm-svn: 16164
2004-09-04 14:51:26 +00:00
Nate Begeman 4bfceb1ed5 All PPC instructions are now auto-printed
32 and 64 bit AsmWriters unified
Darwin and AIX specific features of AsmWriter split out

llvm-svn: 16163
2004-09-04 05:00:00 +00:00
Reid Spencer b9c90a2b02 Get rid of an un-needed and un-used GCCism. ATTR_DEPRECATED is used nowhere
in the LLVM source base.

llvm-svn: 16162
2004-09-03 23:38:25 +00:00
Reid Spencer 0ded30aec4 Clean up some "clean:" targets so they use $(VERB) and don't print anything
by default, like every other "clean" target in LLVM.

llvm-svn: 16161
2004-09-03 23:19:53 +00:00
Reid Spencer c8ec13388b Make tblgen's exception handling a little more robust by printing the
program name and also catching ...

llvm-svn: 16160
2004-09-03 23:17:54 +00:00
Reid Spencer f68090d67f Don't re-instantiate the std::string in catch block.
llvm-svn: 16159
2004-09-03 22:59:32 +00:00
Reid Spencer 3f4bdc96fe Uh, changing in build dir and committing in src dir doesn't lead to correct
commits. Fix it so it actually works.

llvm-svn: 16158
2004-09-03 22:28:24 +00:00
Reid Spencer 6d28a14133 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.

llvm-svn: 16157
2004-09-03 22:25:40 +00:00
Misha Brukman 1a45021535 I was actually wrong in my "simplification".
llvm-svn: 16156
2004-09-03 19:46:43 +00:00
Misha Brukman 247b22c56d Simplify check for uint64_t and u_int64_t
llvm-svn: 16155
2004-09-03 19:44:28 +00:00
Reid Spencer 6f21308b16 Provide correct definition of uint64_t for platforms that have only
u_int64_t defined.

llvm-svn: 16154
2004-09-03 19:37:39 +00:00
Misha Brukman 14a2b4628d Order #includes alphabetically, local .h files first.
llvm-svn: 16153
2004-09-03 18:25:53 +00:00
Alkis Evlogimenos a5c04ee50f Fixes to make LLVM compile with vc7.1.
Patch contributed by Paolo Invernizzi!

llvm-svn: 16152
2004-09-03 18:19:51 +00:00
Misha Brukman cb46e66983 Regenerated after Reid's change for uint64_t/u_int64_t (patch by Bill Wendling)
llvm-svn: 16151
2004-09-02 23:02:30 +00:00
Reid Spencer 109524cae3 Make the text of this file a little more useful.
llvm-svn: 16150
2004-09-02 22:49:27 +00:00
Reid Spencer ab2228ad7e 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.

llvm-svn: 16149
2004-09-02 21:38:24 +00:00
Alkis Evlogimenos 9f82237f4e 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.

llvm-svn: 16148
2004-09-02 21:24:33 +00:00
Alkis Evlogimenos 095c3a80f3 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

llvm-svn: 16147
2004-09-02 21:23:32 +00:00
John Criswell d672a3dbe3 Added a check for u_int64_t, which is used by Interix.
llvm-svn: 16145
2004-09-02 18:44:44 +00:00
John Criswell 4fcd5c30fa Added u_int64_t because some systems use that instead of uint64_t.
llvm-svn: 16144
2004-09-02 18:41:30 +00:00
Alkis Evlogimenos dcbf893095 We don't need to sort the added vector as unhandled intervals are
stored in a binary heap.

llvm-svn: 16143
2004-09-02 18:00:38 +00:00
Nate Begeman 6173878304 Convert remaining X-Form and Pseudo instructions over to asm writer
llvm-svn: 16142
2004-09-02 08:13:00 +00:00
Alkis Evlogimenos 7063868e2a Pull in definition of std::unary_function.
llvm-svn: 16140
2004-09-02 03:24:45 +00:00
Brian Gaeke 45fb84d68d Unbreak build
llvm-svn: 16139
2004-09-02 03:24:08 +00:00
Brian Gaeke c6e81f0fde Back to compiling land for v8
llvm-svn: 16138
2004-09-02 02:37:43 +00:00
Reid Spencer 7c16caa336 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/.

llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Alkis Evlogimenos fae8f6a4fb 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.

llvm-svn: 16136
2004-09-01 22:52:29 +00:00
Alkis Evlogimenos 6a099d439e Give a better assertion if we see a use before a def.
llvm-svn: 16135
2004-09-01 22:34:52 +00:00
Reid Spencer a50cb6c8b9 Make sure <cassert> is included for platforms that don't include it via
other header files.

llvm-svn: 16134
2004-09-01 20:36:15 +00:00
Reid Spencer f4e546b7aa mkdtemp doesn't exist on Cygwin. Use tempnam & mkdir instead.
llvm-svn: 16133
2004-09-01 20:29:35 +00:00
Reid Spencer 9501b9b82b Make CommandLine prefix error output with the name of the program.
llvm-svn: 16129
2004-09-01 04:41:28 +00:00
Reid Spencer 67c06d7df0 Initial commit for platform independent system configuration support.
llvm-svn: 16128
2004-08-31 18:13:52 +00:00
Reid Spencer 8c73e0041a Add support for FreeBSD
llvm-svn: 16127
2004-08-31 18:09:35 +00:00
Reid Spencer f2531a1568 Add support for Interix and FreeBSD
llvm-svn: 16126
2004-08-31 18:03:23 +00:00
Reid Spencer b14809c51d Actually define PreventCoreFiles in the sys namespace.
llvm-svn: 16125
2004-08-31 17:53:41 +00:00
Reid Spencer 4f48470d84 Add a new abstraction, SysConfig for platform independent system
configuration calls. Right now this just contains PreventCoreFiles so that
bugpoint can by platform independent.

llvm-svn: 16124
2004-08-31 17:43:29 +00:00
Alkis Evlogimenos b84f0be5b1 Minor code clarity changes.
llvm-svn: 16123
2004-08-31 17:39:15 +00:00
Reid Spencer 67be17afbe Fix a "test" botch.
Alphabetize the platform list
Install some AC_MSG_CHECKING/AC_MSG_RESULT pairs.

llvm-svn: 16122
2004-08-31 14:20:36 +00:00
Nate Begeman a113d74e4c convert M and MD form instructions to generated asm writer
llvm-svn: 16121
2004-08-31 02:28:08 +00:00
Reid Spencer 1daffa57c1 Recognize Interix systems as if they were SunOS and make sure we don't
attempt to configure for "Unknown" system types.

llvm-svn: 16120
2004-08-31 01:34:10 +00:00
Reid Spencer 79d4c3d5db Move the GetTemporaryDirectory function from "generic Unix" to platform
specific.

llvm-svn: 16119
2004-08-30 21:46:55 +00:00
Reid Spencer f98fff36ef Add inclusion of assert.h
llvm-svn: 16118
2004-08-30 16:03:54 +00:00
Reid Spencer 47fc279160 Initial commit of a configuration file for compiling C++ programs with
the file name pattern *.cpp

llvm-svn: 16117
2004-08-30 06:32:24 +00:00
Reid Spencer a681845e69 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.

llvm-svn: 16116
2004-08-30 06:29:06 +00:00
Reid Spencer 1b389f09b4 Pass lists of -I and -D options through to the Compiler Driver.
Handle -g and -Wxxx for GCC compatibility

llvm-svn: 16115
2004-08-30 06:27:32 +00:00
Reid Spencer cf2bc3d767 Add a blurb about exploiting the use of external storage.
llvm-svn: 16114
2004-08-30 05:56:51 +00:00
Nate Begeman 143cf94f92 Move yet more instructions over to being printed by the generated asm writer
llvm-svn: 16112
2004-08-30 02:28:06 +00:00
Reid Spencer b55c0cbaee Abbreviate the long descriptions which are now in docs/SystemLibrary.html.
llvm-svn: 16111
2004-08-30 02:03:51 +00:00
Reid Spencer 8aca0b494d 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!

llvm-svn: 16110
2004-08-30 00:13:26 +00:00
Reid Spencer 9f64b91e27 Need to throw std::string not const char* if we want error messages to be
caught.

llvm-svn: 16109
2004-08-30 00:06:52 +00:00
Reid Spencer 94596c2102 Synchronize documentation of configuration items and substitutions with
current reality of llvmc implementation.

llvm-svn: 16108
2004-08-29 23:20:42 +00:00
Nate Begeman 6cdbd22245 Convert A-Form instructions to auto-generated asm writer
llvm-svn: 16107
2004-08-29 22:45:13 +00:00
Nate Begeman 434234f6d1 Register sizes should be specified in bits
llvm-svn: 16106
2004-08-29 22:03:40 +00:00
Nate Begeman 8cb6bd5f3c Improvements to int->float cast code for PPC-64
llvm-svn: 16105
2004-08-29 22:02:43 +00:00
Nate Begeman 50d140ee3d Must link against new LLVMsystem library
llvm-svn: 16104
2004-08-29 22:01:44 +00:00
Nate Begeman a094704ff9 RemoveFileOnSignal is now in sys:: namespace
llvm-svn: 16103
2004-08-29 22:01:17 +00:00
Nate Begeman c9dec3ae70 Put this change back in after testing from Reid proved its innocence. getSpillSize now returns value in bits
llvm-svn: 16102
2004-08-29 22:00:24 +00:00
Nate Begeman 168be7e43f Update doxygen comment now that getSpillSize is supposed to return value in bits
llvm-svn: 16101
2004-08-29 21:59:26 +00:00
Reid Spencer 023637eb38 Add a declaration of environ global for Darwin
llvm-svn: 16100
2004-08-29 20:10:07 +00:00
Reid Spencer a62e5a837f Add a missing header file
llvm-svn: 16099
2004-08-29 20:02:28 +00:00
Reid Spencer 3311669903 Add an assert to cature null Operands. It is better to catch it here than
to SIGSEGV in the bowels of isa<...> later.

llvm-svn: 16098
2004-08-29 19:37:59 +00:00
Reid Spencer 6fca37236d Signals support has been moved to lib/System
llvm-svn: 16097
2004-08-29 19:36:34 +00:00
Reid Spencer efc94f5e72 Updated to create a link needed for correct lib/System compilation.
llvm-svn: 16096
2004-08-29 19:35:28 +00:00
Reid Spencer 90f56ee8b4 Add lib/System ahead of lib/Support in case there are operating system
issues.

llvm-svn: 16095
2004-08-29 19:33:21 +00:00
Reid Spencer 811c3c0edb Link with LLVMsystem.a for operating system independence.
llvm-svn: 16094
2004-08-29 19:31:19 +00:00
Reid Spencer 9b129bea2e RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
accordingly.

llvm-svn: 16093
2004-08-29 19:30:41 +00:00
Reid Spencer 74c3dc6927 Add the LLVMsystem.a library as it is now used for operating system
independence of the tool.

llvm-svn: 16092
2004-08-29 19:29:38 +00:00
Reid Spencer e3263ecaf0 The functions in Signal.h are now in the llvm::sys namespace - adjust
llvm-svn: 16091
2004-08-29 19:28:55 +00:00
Reid Spencer 5b43fc9b53 add llvmc
llvm-svn: 16090
2004-08-29 19:27:34 +00:00
Reid Spencer 1b5b24f9fb Convert llvmc to use the lib/System interface instead of directly
using Unix operating system calls.

llvm-svn: 16089
2004-08-29 19:26:56 +00:00
Reid Spencer b8c572df56 Move a warning comment to where it should have been in the first place.
llvm-svn: 16088
2004-08-29 19:25:54 +00:00
Reid Spencer bb5301eebf Correct the vim: specification
llvm-svn: 16087
2004-08-29 19:24:53 +00:00
Reid Spencer 2f209c4452 Include some additional header files.
Fix the banner length.

llvm-svn: 16086
2004-08-29 19:24:20 +00:00
Reid Spencer 3d7a614ec7 Initial platform independent implementation of operating system concept
of "Signals" (cleanup after fatal errors).

llvm-svn: 16085
2004-08-29 19:22:48 +00:00
Reid Spencer 76b83a1869 Initial commit of an platform-indepdendent implementation for the
"Program" operating system concept (find and execute programs).

llvm-svn: 16084
2004-08-29 19:20:41 +00:00
Reid Spencer 21087b0f7e Put the lib/System interface functions in llvm::sys namespace.
llvm-svn: 16083
2004-08-29 19:19:07 +00:00
Reid Spencer a872cbe3bd 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.

llvm-svn: 16082
2004-08-29 19:18:05 +00:00
Nate Begeman 4483df8b63 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

llvm-svn: 16081
2004-08-29 08:19:32 +00:00
Reid Spencer 023ff63545 Initial commit of the platform agnostic interface to finding and executing
programs.

llvm-svn: 16080
2004-08-29 05:29:35 +00:00
Reid Spencer 319b136522 Add a function to remove whole directorys on fatal signal.
Doxygenify function comments.

llvm-svn: 16079
2004-08-29 05:27:15 +00:00
Reid Spencer 6df221d50a 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.

llvm-svn: 16078
2004-08-29 05:24:01 +00:00
Alkis Evlogimenos c227d73e5f Remove dead code.
llvm-svn: 16077
2004-08-28 22:43:31 +00:00
Alkis Evlogimenos e2d962e0fd Now that LiveIntervals::addIntervalsForSpills is fixed, do not require
LiveVariables.

llvm-svn: 16076
2004-08-27 19:00:29 +00:00
Alkis Evlogimenos 8c67a3003e Only update LiveVariables if it is available. addIntervalsForSpills
runs after the initial run of the live interval analysis.

llvm-svn: 16075
2004-08-27 18:59:22 +00:00
Alkis Evlogimenos efd40bce75 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...

llvm-svn: 16074
2004-08-27 18:01:21 +00:00
Nate Begeman c561fc3731 Back out change to divide getSpillSize by 8 until I figure out why it breaks x86, which has register sizes in bits.
llvm-svn: 16073
2004-08-27 16:48:24 +00:00
Nate Begeman 0c1e6804a1 Fix a typo in the bytecode format documentation
llvm-svn: 16072
2004-08-27 07:59:37 +00:00
Alkis Evlogimenos 11f0fc8eda The linear scan variants do not require the LiveVariables analysis.
llvm-svn: 16071
2004-08-27 04:51:13 +00:00
Nate Begeman fa2bf42539 Register sizes are in bits, not bytes
llvm-svn: 16070
2004-08-27 04:28:10 +00:00
Alkis Evlogimenos 7ebfde2be6 Add getLastBlock member. This is useful when growing a densemap keyed
on MachineBasicBlocks.

llvm-svn: 16069
2004-08-27 04:02:35 +00:00
Alkis Evlogimenos 390c820a82 Add MachineBasicBlock2IndexFunctor. This is useful for densemaps from
MachineBasicBlocks to an arbitrary type.

llvm-svn: 16068
2004-08-27 04:00:26 +00:00
Alkis Evlogimenos 60f33d4d66 Add size member function.
llvm-svn: 16067
2004-08-27 03:58:31 +00:00
Reid Spencer 6e8ffc3831 Add more content.
This isn't in reviewable shape yet, unless you're curious.

llvm-svn: 16066
2004-08-27 02:08:04 +00:00
Reid Spencer 7d0a123c3e Bug 430 Fixed.
llvm-svn: 16065
2004-08-27 00:48:26 +00:00
Reid Spencer 366c457e08 Correctly compute the number of compaction tables.
llvm-svn: 16064
2004-08-27 00:43:51 +00:00
Reid Spencer 248c06dcea Prevent an empty compaction table from being written to the bytecode file.
llvm-svn: 16063
2004-08-27 00:38:44 +00:00
Reid Spencer 3b789ad2b8 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.

llvm-svn: 16062
2004-08-26 22:32:00 +00:00
Alkis Evlogimenos 2c69803b61 Use newly added API in MRegisterInfo and don't expose the allocatable
register set anymore. Its users now use the MRegisterInfo API.

llvm-svn: 16061
2004-08-26 22:23:32 +00:00
Alkis Evlogimenos 542ac1cba7 Use newly added API in MRegisterInfo.
llvm-svn: 16060
2004-08-26 22:22:38 +00:00
Alkis Evlogimenos 8b5b3fdb50 Add getAllocatableSet() function.
llvm-svn: 16059
2004-08-26 22:21:04 +00:00
Reid Spencer cb84e4351d Provide some meta tags for this document.
llvm-svn: 16058
2004-08-26 20:44:00 +00:00
Reid Spencer 1d9e29bdc0 Add the default table related styles
llvm-svn: 16057
2004-08-26 20:43:21 +00:00
Reid Spencer c948f9d9e9 Document the rational for the #include hierarchy.
llvm-svn: 16056
2004-08-26 18:52:52 +00:00
Reid Spencer 30e25f33f7 Fix a typo.
llvm-svn: 16055
2004-08-26 07:43:33 +00:00
Reid Spencer 3f3d1666ff First cut at a README for lib/System explaining the #inclusion rules and
design criteria.

llvm-svn: 16054
2004-08-26 07:41:41 +00:00
Reid Spencer b3f342c877 Add a README explaining the intended content of this directory.
llvm-svn: 16053
2004-08-26 05:58:20 +00:00
Alkis Evlogimenos 127c2aa7b2 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.

llvm-svn: 16052
2004-08-26 03:37:28 +00:00
Brian Gaeke 7f00753f70 Previous checkin broke printf(%a) support for fp constants-- re-fix it.
llvm-svn: 16051
2004-08-25 19:37:26 +00:00
Brian Gaeke 35eb7aeae3 New version of Bill Wendling's PR33 patch.
llvm-svn: 16050
2004-08-25 19:00:42 +00:00
Reid Spencer ebb91dcfe7 Fix documentation.
Make the library name LLVMsystem instead of just system so as to not
to be confused with other "system" libraries.

llvm-svn: 16049
2004-08-25 06:23:45 +00:00
Reid Spencer 814ba578ba Initial implementation of the Path operating system concept.
llvm-svn: 16048
2004-08-25 06:20:07 +00:00
Reid Spencer 13ebda70ea License for this library.
llvm-svn: 16047
2004-08-25 00:48:02 +00:00
Reid Spencer 135006cab1 Update to include tools/llvmc and lib/System as having additional copyright
licenses.

llvm-svn: 16046
2004-08-25 00:45:35 +00:00
Reid Spencer 6275eee949 License file for llvmc.
llvm-svn: 16045
2004-08-25 00:41:06 +00:00
Reid Spencer 01b22282fc Document definitions and computations provided by llvm-bcanalyzer.
llvm-svn: 16044
2004-08-25 00:35:20 +00:00
Reid Spencer 44bc15064c Insert declarations for two new functions that support the dependent
libraries feature.

llvm-svn: 16043
2004-08-24 22:55:34 +00:00
Reid Spencer 7a0348b163 Run the compilation actions before we attempt linking work.
Correctly implement the dependent libraries feature so that linked bytecode
files automatically include any dependent libraries they specify.

llvm-svn: 16042
2004-08-24 22:54:32 +00:00
Reid Spencer 3aac4f7d88 Add the directory specified by LLVM_LIB_SEARCH_PATH to the list of
directories to be searched during linking.

llvm-svn: 16041
2004-08-24 22:53:13 +00:00
Reid Spencer f20d76d71e Add dependent library support for Stacker. It now inserts "stkr_runtime" as
a dependent library.

llvm-svn: 16040
2004-08-24 22:52:01 +00:00
Reid Spencer db0bdd69f5 Add a function that gets just the dependent libraries from a bytecode file.
Doxygenify comments.

llvm-svn: 16039
2004-08-24 22:49:07 +00:00
Reid Spencer ce9b84a6af Provide a method for wholesale extraction of the dependent libraries.
llvm-svn: 16038
2004-08-24 22:47:39 +00:00
Reid Spencer 79725deeb0 Add a wrapper for extraction of the dependent libraries from a bytecode
file.

llvm-svn: 16037
2004-08-24 22:46:20 +00:00
Reid Spencer f341d29514 Rearrange output a little to make it nicer.
llvm-svn: 16036
2004-08-24 22:45:32 +00:00
Chris Lattner 7bf499c040 Add some details
llvm-svn: 16035
2004-08-24 18:53:39 +00:00
Reid Spencer 7c8d658efc Added BURS.
llvm-svn: 16034
2004-08-24 18:34:10 +00:00
Reid Spencer 8d86dd6453 Get rid of error messages from CommandLine because -time-passes was
defined twice. We make use of the new TimePassesIsEnabled global boolean
value from Pass.h to access the value.

llvm-svn: 16033
2004-08-24 17:54:26 +00:00
Reid Spencer 2e4bfff37c Give the -time-passes tool option a global storage location so that its
value can be discovered by the various LLVM tools.

llvm-svn: 16032
2004-08-24 17:52:35 +00:00
Chris Lattner d8b5be4726 Fix a bug in a previous checkin of mine, correcting
Regression.CodeGen.Generic.2004-04-09-SameValueCoalescing.llx and the
code size problem.

This bug prevented us from doing most register coallesces.

llvm-svn: 16031
2004-08-24 17:48:29 +00:00
Reid Spencer ad4c8e330f Add the examples directory to these scripts.
llvm-svn: 16030
2004-08-24 17:42:33 +00:00
Chris Lattner 57a2c3bad9 Modify testcase to merit a warning, though no warning is still printed!
llvm-svn: 16029
2004-08-24 17:40:02 +00:00
Reid Spencer b1a014f786 Include the "examples" directory as optional.
Update configure script to configure the examples/Makefile

llvm-svn: 16028
2004-08-24 16:32:21 +00:00
Reid Spencer a407007e07 Ensure that the examples get built.
llvm-svn: 16027
2004-08-24 16:31:01 +00:00
Reid Spencer b26202f10c Adjustments for changes in the configuration language.
llvm-svn: 16026
2004-08-24 14:24:14 +00:00
Reid Spencer a86672b929 - Unify format of output messages
- All errors throw std::string
- Default output file name to a.out (if we're linking)

llvm-svn: 16025
2004-08-24 14:05:30 +00:00
Reid Spencer 5b902eba71 Link with bcreader and vmcore.
llvm-svn: 16024
2004-08-24 14:04:07 +00:00
Reid Spencer a1049043d7 - Implement the %args% substitution
- Implement parsing of the .output={bytecode|assembly} item.
- Drop parsing support for translator.optimizes, translator.groks_dash_O,
  optimizer.groks_dash_O, translator.output_is_asm, optimizer.output_is_asm
- Add parsing support for translator.output and optimizer.output
- Add optimizer.required parsing support
- Add linker.libs and linker.libpaths parsing support
- Fix error messages to list correct set of tokens expected.
- Rename FileReadable -> FileIsReadable (changed in CompilerDriver.cpp)

llvm-svn: 16023
2004-08-24 14:03:23 +00:00
Reid Spencer ed9b3c4c20 - Alphabetize the list of token enumerators.
- Drop old tokens, insert new tokens

llvm-svn: 16022
2004-08-24 13:59:35 +00:00
Reid Spencer 20db3234bc - Rename and rearrange for clarity
- Drop name tokens not used any more (GROKS_DASH_O)
- Rename OUTPUT_IS_ASM as OUTPUT and allow "bytecode" and "assembly" as
  values of it.
- Simplify handleContext (now handleNameContext) arguments and ensure that
  it returns OPTION tokens exactly as scanned.

llvm-svn: 16021
2004-08-24 13:58:37 +00:00
Reid Spencer f62f89b3eb - Remove unused GetSuffix function
- Renamed FileReadable -> FileIsReadable
- Remove support for GROKS_DASH_O; deferr it to %opts% substitution
- Require a -o option except in case of linking where it defaults to a.out
- Fix problem processing *.o and *.bc files.
- Ignore optimization phase if -emit-raw-code
- Correct the assembly generation phase to support -emit-native-code
- Implement dependent library lookup

llvm-svn: 16020
2004-08-24 13:55:17 +00:00
Reid Spencer 6ad2030f7a Remove unneeded flags.
llvm-svn: 16019
2004-08-24 13:49:57 +00:00
Chris Lattner dfa9dbceaa Add -sse[,2,3] arguments to LLC
llvm-svn: 16018
2004-08-24 08:18:44 +00:00
Chris Lattner 61e6dbc761 Nuke commented out stuff
llvm-svn: 16017
2004-08-24 08:18:27 +00:00
Brian Gaeke 730d8d6259 bug fixed
llvm-svn: 16016
2004-08-24 07:43:48 +00:00
Brian Gaeke 1bd0804f6d note pr#
llvm-svn: 16015
2004-08-24 07:28:45 +00:00
Brian Gaeke 75dca84c7f This code is dodgy, but the guaranteed assertion failure doesn't help anything.
llvm-svn: 16014
2004-08-24 06:41:40 +00:00
Brian Gaeke 98aa7797c3 Fix bug in PhyRegAlloc::setCallInterferences() handling call through a
null pointer.

llvm-svn: 16013
2004-08-24 06:41:39 +00:00
Brian Gaeke d315f43587 Revise head-of-file comment.
Eliminate some excess whitespace.
Fix bug in CallArgsDescriptor::get() handling call through a null pointer.

llvm-svn: 16012
2004-08-24 06:41:38 +00:00
Reid Spencer be36a8cd2a Actually get the URL to my notes page correct.
llvm-svn: 16011
2004-08-24 05:40:25 +00:00
Reid Spencer ea6ad243e9 Correct my home page. Shorten my entry. Reference home page in description.
llvm-svn: 16010
2004-08-24 05:21:49 +00:00
Misha Brukman 2ace8cbb17 Change LVN -> Load-VN since that's the name of the cmdline switch
llvm-svn: 16009
2004-08-24 04:13:17 +00:00
Misha Brukman 4c70105c4c Fix some grammar.
llvm-svn: 16008
2004-08-24 02:23:58 +00:00
Misha Brukman 00b21aef7b Added DSE, LICM, LVN, PRE, SCCP, and SSA
llvm-svn: 16007
2004-08-24 01:57:02 +00:00
Chris Lattner a88d667487 Do not use .xword and friends to emit zeros on V9. Apparently there are issues
with emitting .xwords when not on an 8-byte boundary (.xword 0 is not the
same as 8 .byte 0's).  Because we do not know when or when we are not aligned,
just emit bytes like the old V9 asmprinter did.

llvm-svn: 16006
2004-08-24 00:26:11 +00:00
Brian Gaeke adc0b83eec A PR60 test case
llvm-svn: 16005
2004-08-23 20:49:33 +00:00
Misha Brukman 62a2c1fd7a Document 'gmake install' vs. 'install-bytecode' (used for bytecode libs)
llvm-svn: 16004
2004-08-23 20:25:33 +00:00
Reid Spencer 5b81eea7a5 Moved small examples from /projects/SmallExamples to /examples.
Made the "ModuleMaker" into an example since its just one source file.

llvm-svn: 16003
2004-08-23 19:29:54 +00:00
Reid Spencer b987b7cede Moved the "SmallExamples" out of the /projects directory and into a new
/examples directory. History was maintained. These programs do not need to
be configured but things in /projects must be.

llvm-svn: 16002
2004-08-23 19:28:39 +00:00
Reid Spencer 300396971c Fix Title line
Make the "DIRS" option descend any directory with a Makefile.

llvm-svn: 16001
2004-08-23 18:06:31 +00:00
Misha Brukman 39efd01983 Note: do not use GNU binutils under AIX, they're not stable.
llvm-svn: 16000
2004-08-23 17:54:45 +00:00
Reid Spencer 06afee6ede Change the makefile back so it descends any directory with a Makefile.
llvm-svn: 15999
2004-08-23 17:47:16 +00:00
Reid Spencer a628856d1e Many useful corrections resulting from Chris Lattner's review. Thanks Chris!
Misha: you're next. :)

llvm-svn: 15996
2004-08-22 18:06:59 +00:00
Reid Spencer f222ee6546 Provide support for retaining the version number found in a config file.
llvm-svn: 15995
2004-08-22 18:03:25 +00:00
Reid Spencer 3820372162 Add the VERSION token.
llvm-svn: 15994
2004-08-22 18:02:41 +00:00
Reid Spencer a318822db2 Add support for version numbers.
Allow CRLF as a line terminator (as well as plain LF)

llvm-svn: 15993
2004-08-22 18:02:13 +00:00
Reid Spencer ed09afc536 Shorten lines so this file can be used as the documentation example
directly. Remove -pre (experimental pass).

llvm-svn: 15992
2004-08-22 18:01:19 +00:00
Nate Begeman 1c57b4fa32 Kill a majority of unnecessary sign extensions for byte loads
llvm-svn: 15991
2004-08-22 08:10:15 +00:00
Nate Begeman 64ef0262bd Don't hard code the offset of the saved R31 in functions with frame pointers
llvm-svn: 15990
2004-08-22 08:09:17 +00:00
Misha Brukman 5d41391185 Bytecode libraries are installed with `make install-bytecode'
llvm-svn: 15989
2004-08-21 23:40:49 +00:00
Reid Spencer 5a2dfbae3d First complete version. The details of configuration are now correctly
stated. PLEASE REVIEW THIS DOCUMENT NOW! :)

llvm-svn: 15988
2004-08-21 22:37:42 +00:00
Reid Spencer f39f66e3ef Initial checkin of a pass to lower packed operations to scalars operations.
This also registers the pass with opt with a -lower-packed command line
option.

Patch contributed by Brad Jones.

llvm-svn: 15987
2004-08-21 21:39:24 +00:00
Reid Spencer d6dd465326 Correct to change interface of the analyzer.
llvm-svn: 15986
2004-08-21 21:00:24 +00:00
Reid Spencer 2807accdc5 Bytecode Analyzer Cleanup:
- Rearrange output order to make more sense
- Make only the function level output count as "detailed"
- Output dump output directly to stream, don't buffer it.
- Fix counting of block sizes
- Implement new handlers for number of types, dependent libs, target triple
- Compute the size of block headers.

llvm-svn: 15985
2004-08-21 20:58:19 +00:00
Reid Spencer 9874c63314 Get rid of an extraneous local variable.
llvm-svn: 15984
2004-08-21 20:53:56 +00:00
Reid Spencer 6639333f20 Two Changes:
- Pass the output stream to the analyzer so it can write its output there
  directly instead of buffering it.
- Don't pass a boolean to ParseBytecode because its not needed any more.

llvm-svn: 15983
2004-08-21 20:52:03 +00:00
Reid Spencer 8631bc3aaa Add boolean file format flags in preparation for version 5 bytecode.
Remove the "processFunctions" boolean from ParseBytecode as it is no
longer needed. This is part of avoiding double reading of functions
when analyzing bytecode.

llvm-svn: 15982
2004-08-21 20:50:49 +00:00
Reid Spencer 191aa30ac1 Bytecode Reader Cleanup:
- provide the correct conversion for ModuleBlockID in read_block (a potential
  bug but not actually exploited because reading module block ids doesn't
  use read_block).
- install support for handleTypeList handler
- install support for handleDependentLibrary handler
- install support for handleTargetTriple handler
- clean up comments, output strings,
- ensure that processing function arguments doesn't SIGSEGV if one of the
  arguments is a null pointer (yeah, it happened .. weird)
- prepare for version 5 bytecode by documenting what will change.

llvm-svn: 15981
2004-08-21 20:49:23 +00:00
Reid Spencer c039e6301a Dump the DependentLibsBlockID, its not a block, its just a list inside the
globals info block. Add an enumerator for getting the number of enumerators
so we can range check in assertions.

llvm-svn: 15980
2004-08-21 20:42:28 +00:00
Nate Begeman 45b0b7cd7c Back out branchless SetCC code. While it helped a lot in some cases, it
hurt a lot in others.  Instead, improve branching version of SetCC and
Select instructions.  The old code will be in CVS should we ever need to
dig it up again.

llvm-svn: 15979
2004-08-21 20:42:14 +00:00
Reid Spencer f9ce66b75a Add new methods:
- get the total number of types in the global type list
- handle dependent libraries
- handle target triple

llvm-svn: 15978
2004-08-21 20:41:12 +00:00
Reid Spencer 83c307de5d Bytecode Analyzer cleanup:
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map

llvm-svn: 15977
2004-08-21 20:40:08 +00:00
Chris Lattner 8eab62ee0d Alignment is now in bits.
llvm-svn: 15976
2004-08-21 20:15:25 +00:00
Chris Lattner 70efc8f8e1 Switch from bytes to bits for alignment.
Also, change GPRC for PPC32 to align on 32-bit boundary instead of 64-bit

llvm-svn: 15975
2004-08-21 20:14:40 +00:00
Chris Lattner 5f6556da45 Switch from bytes to bits for alignment for consistency
llvm-svn: 15974
2004-08-21 20:14:13 +00:00
Chris Lattner 7c98308013 Reduce uses of getRegClass
llvm-svn: 15973
2004-08-21 20:13:52 +00:00
Chris Lattner a440d5b081 Convert regclass alignment from bytes to bites
llvm-svn: 15972
2004-08-21 20:13:09 +00:00
Chris Lattner b7ddc73b45 Convert bytes to bits in alignment
llvm-svn: 15971
2004-08-21 20:09:46 +00:00
Chris Lattner 36ba4bb042 Register info alignment is in bits, frame object alignment is (currently) in
bytes.

llvm-svn: 15970
2004-08-21 20:04:59 +00:00
Chris Lattner beadefde19 Make alignment be in bits, just like size is
llvm-svn: 15969
2004-08-21 20:00:36 +00:00
Chris Lattner c1ba9fb6e1 Reduce uses of getRegClass
llvm-svn: 15968
2004-08-21 19:51:17 +00:00
Chris Lattner f76ccd43b8 Now that we have per-register spill size/alignment info, remove more uses
of getRegClass

llvm-svn: 15967
2004-08-21 19:45:10 +00:00
Chris Lattner a6d34d9e19 Infer the spillsize/alignment of a register based on the register classes
it is embedded into.

llvm-svn: 15966
2004-08-21 19:42:03 +00:00
Chris Lattner d3244d9cec Support "Methods" in register classes in CodgeGenRegisterClass
llvm-svn: 15965
2004-08-21 19:21:21 +00:00
Chris Lattner f7833ba375 Fix warning
llvm-svn: 15964
2004-08-21 19:11:03 +00:00
Reid Spencer 04f4d52d9e Examine the type code in the setcc class of instructions and if it
is a PackedType, throw an error. Temporary solution.

Patch contributed by Brad Jones.

llvm-svn: 15963
2004-08-21 16:11:02 +00:00
Nate Begeman 3ad3ad4f3f Move XForm instructions over to the auto-generated asm writer
llvm-svn: 15962
2004-08-21 05:56:39 +00:00
Chris Lattner 2a86fab933 Start parsing register classes into a more structured form
llvm-svn: 15961
2004-08-21 04:05:00 +00:00
Chris Lattner e34ae99942 Read in declared reg sizes
llvm-svn: 15960
2004-08-21 02:24:57 +00:00
Chris Lattner 6a92fdef72 Add two values
llvm-svn: 15959
2004-08-21 02:17:39 +00:00
Chris Lattner 8439f382b6 Fix a nasty bug that Nate ran into. In particular, instead of emitting a 2+MB
error message, print out:

llvm-link: error linking in 'g.2.rbc': Global Variable Collision on
' %struct.D_Reduction* %d_reduction_10_gram' - External linkage globals have
different initializers

That's a bit more concise, huh?

llvm-svn: 15958
2004-08-21 00:50:59 +00:00
Reid Spencer 7f9971f349 Change @ -> % in config files. @name@ might be needed for config files to
themselves be configured via autoconf so its not a good substitition syntax
for llvmc. Furthermore % is more llvmish :)

llvm-svn: 15957
2004-08-20 22:53:11 +00:00
Nate Begeman abf3c4d787 remove some things from the todo list.
llvm-svn: 15956
2004-08-20 18:46:54 +00:00
Chris Lattner f1cd650251 Do not register ppc64 yet, as it breaks the SparcV9 backend
llvm-svn: 15955
2004-08-20 18:09:18 +00:00
Chris Lattner d0713e7664 quish a warning
llvm-svn: 15954
2004-08-20 18:07:39 +00:00
Reid Spencer e203d35be4 Fix a bug found exposed by: Regression/Other/2004-08-20-PackedControlFlow.ll
Packed types need to be allowed in type statements too.

Patch provided by Brad Jones.

llvm-svn: 15953
2004-08-20 15:37:30 +00:00
Nate Begeman 1b1a784afa Implement code to convert SetCC into straight line code where appropriate. Add necessary instructions for this transformation to the .td file.
llvm-svn: 15952
2004-08-20 09:56:22 +00:00
Reid Spencer 6f7407880f Remove even the slightest chance of a race condition occurring :)
llvm-svn: 15951
2004-08-20 09:32:32 +00:00
Reid Spencer a17a413cc1 Implement the correct search for configuration files. llvmc will now try
the following in this order:
 1. -config-dir=/path/to/configs
 2. LLVM_CONFIG_DIR=/path/to/configs
 3. ~/.llvm/etc
 4. $prefix/etc
 5. /etc/llvm

llvm-svn: 15950
2004-08-20 09:24:07 +00:00
Reid Spencer 6ad57b2491 Add CONFIG_FILES so the language specific config files can be installed.
llvm-svn: 15949
2004-08-20 09:21:51 +00:00
Reid Spencer cc51e7b358 Added a set of rules for installing configuration files. You can now say
CONFIG_FILES=a b c
in a Makefile and when you "make install" the files a b and c will get
installed into the $prefix/etc directory.

llvm-svn: 15948
2004-08-20 09:20:05 +00:00
Reid Spencer fab530daf2 Implement Assembly support.
Consolidate platform-specific code into "sys" namespace.

llvm-svn: 15947
2004-08-20 09:14:05 +00:00
Reid Spencer 288adf1a3f Changes resulting from change in autoconf/configure.in (rename a #define)
llvm-svn: 15946
2004-08-20 09:10:31 +00:00
Reid Spencer 3b65b0a67a Actually name the #define correctly.
llvm-svn: 15945
2004-08-20 09:08:57 +00:00
Reid Spencer d677a43b4b Added various LLVM_* strings that are configured to provide the user's
choice of installation directories. Programs can then automagically know
where the installation files are located.

llvm-svn: 15944
2004-08-20 09:05:15 +00:00
Reid Spencer 4d5c2a98d3 Update after change to autoconf/configure.ac
llvm-svn: 15943
2004-08-20 09:03:57 +00:00
Reid Spencer cf05c1256b Change version 1.3 -> 1.4
Add basic installation directories as AC_DEFINES and AC_SUBST so they can
be used by llvm programs with a simple #include <Config/config.h>

llvm-svn: 15942
2004-08-20 09:03:12 +00:00
Chris Lattner befb7361c6 New testcase that the vector support does not work with yet.
This is also designed to make lowering a bitch :)

llvm-svn: 15941
2004-08-20 08:34:27 +00:00
Reid Spencer f98e3c9358 Added various tests in support of Packed Types.
Tests kindly provided by Brad Jones.

llvm-svn: 15940
2004-08-20 06:06:43 +00:00
Reid Spencer b6388f725e Added a test case for packed types. Test case kindly provided by Brad Jones
llvm-svn: 15939
2004-08-20 06:02:24 +00:00
Brian Gaeke 0220904e7a Packed types, brought to you by Brad Jones
llvm-svn: 15938
2004-08-20 06:00:58 +00:00
Reid Spencer 2b4b4a577a Avoid building samples. Require explicit list of directory names to build.
llvm-svn: 15937
2004-08-20 01:49:59 +00:00
Chris Lattner ab8d172df2 Make people explicitly add dirs to this. Remove ModuleMaker as it currently
does not build (it must be configured before it will work)

llvm-svn: 15936
2004-08-20 01:11:16 +00:00
Chris Lattner 40d0204067 Only build project dirs with a Makefile in them. This should fix the
problem where Depend or Debug directories prevent CVS from nuking an obsolete
project dir

llvm-svn: 15935
2004-08-20 01:07:54 +00:00
Chris Lattner 615ffb84fa Bug fixed
llvm-svn: 15934
2004-08-20 00:36:23 +00:00
Chris Lattner 14c198d09a If we are linking two global variables and they have the same size, do not
spew warnings, even if the types don't match.

llvm-svn: 15933
2004-08-20 00:30:39 +00:00
Misha Brukman 8f12956327 Fix opcodes being printed in caps (the more general fix may be `AsmWriter')
llvm-svn: 15932
2004-08-19 21:56:12 +00:00
Reid Spencer 9251cb2ecd Actually let it compile after file name changes.
llvm-svn: 15931
2004-08-19 21:52:49 +00:00
Misha Brukman 170943a795 Stack space for argument passing is 32 regardless of 32- vs. 64-bit arch.
Thanks to Nate Begeman for pointing this out.

llvm-svn: 15930
2004-08-19 21:51:19 +00:00
Misha Brukman f73c87b36c LR needs to be saved at 16-byte offset on a 64-bit arch
llvm-svn: 15929
2004-08-19 21:36:14 +00:00
Misha Brukman f35b35a926 On 64-bit PowerPC, pointers are 8 bytes, so parameter area offset is 48, not 24
llvm-svn: 15928
2004-08-19 21:34:05 +00:00
Reid Spencer b32e350931 Moved ConfigData -> Configuration
llvm-svn: 15927
2004-08-19 21:17:53 +00:00
Misha Brukman 75e987d0b8 This PHI has 4 additional operands, not 2.
llvm-svn: 15926
2004-08-19 21:00:12 +00:00
Reid Spencer 90b057bf2a Moved these files to "SmallExamples" directory.
llvm-svn: 15925
2004-08-19 20:16:42 +00:00
Reid Spencer f30f28e05f Add the fibonacci example provided by Valery Khamenya.
llvm-svn: 15924
2004-08-19 20:10:04 +00:00
Reid Spencer 7d12179af1 Make the SmallExamples programs compile in their new home.
llvm-svn: 15923
2004-08-19 20:09:14 +00:00
Misha Brukman a26a61aa18 Use the appropriate 64-bit register description file.
llvm-svn: 15922
2004-08-19 19:36:57 +00:00
Reid Spencer 01ea7aed59 Fixed the test to actually run correctly.
llvm-svn: 15921
2004-08-19 19:23:28 +00:00
Reid Spencer cdce60cae2 Add a test case test test 1.3 alignment removal and to test a regression
on disassembly speed (where SlotMachine was being recomputed on each
getSlot() call).

llvm-svn: 15920
2004-08-19 19:11:57 +00:00
Misha Brukman a5543ac5fb Fix more remaining 32-bit vestiges of PowerPC
llvm-svn: 15919
2004-08-19 18:49:58 +00:00
Misha Brukman 2ff719f74f Fix another vestige of the 32-bit PowerPC backend.
llvm-svn: 15918
2004-08-19 16:50:30 +00:00
Misha Brukman 714d166c22 Correct character prepended to global symbols ('.'), use Mangler consistently
llvm-svn: 15917
2004-08-19 16:33:56 +00:00
Misha Brukman 0010ea3042 * Eliminate global base register, r2 is used for that on AIX/PowerPC
* Fix bug from 32-bit PowerPC days of 2-register long split

llvm-svn: 15916
2004-08-19 16:29:25 +00:00
Misha Brukman 6c4a085286 Wrap long lines.
llvm-svn: 15915
2004-08-19 16:28:30 +00:00
Nate Begeman d5c6380015 Convert casts that will have no effect into move instructions.
llvm-svn: 15914
2004-08-19 08:07:50 +00:00
Nate Begeman e4e6d92d1d Clean up floating point instruction selection.
Change int->float cast code to put conversion constants in constant pool.
Shorten code sequence for constant pool fp loads.
Remove LOADLoDirect/LOADLoIndirect psuedo instructions and tweak asmwriter

llvm-svn: 15913
2004-08-19 05:20:54 +00:00
Reid Spencer dc20389b5c Implement many new features for llvmc. This is the first version that will
actually execute actions and it is been shown to optimize a Stacker program

llvm-svn: 15912
2004-08-19 04:49:47 +00:00
Misha Brukman b3b5890213 Instead of int64_t, overload itostr with `long long' parameter.
This appeases both SparcV9 and 64-bit PowerPC.

llvm-svn: 15910
2004-08-18 22:56:12 +00:00
Reid Spencer 3cff8a04ef Correct a link, add a TOC entry.
llvm-svn: 15909
2004-08-18 20:17:05 +00:00
Reid Spencer 375d78428c Provided opcode definitions.
Clarified documentation of symbol tables.
Clarified definition of slot numbers.
Added the http-equiv meta tag for HTML 4.01 strict compliance.
Adjusted line lengths.
Differentiated between "type slot" and "value slot" everywhere.
ispelled it.

llvm-svn: 15908
2004-08-18 20:06:19 +00:00
Brian Gaeke 1936ce708d M_DUMMY_PHI_FLAG is no longer used to distinguish V9::PHI. Get rid of it and
its TargetInstrInfo accessor.

llvm-svn: 15907
2004-08-18 20:04:28 +00:00
Brian Gaeke 7593525fcd Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
llvm-svn: 15906
2004-08-18 20:04:24 +00:00
Brian Gaeke de44bc018a Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
Also, squash a use of TargetInstrInfo::isNop().

llvm-svn: 15905
2004-08-18 20:04:21 +00:00
Chris Lattner 1ea6d207ce Convert to the new MachineFunctionInfo interface
llvm-svn: 15904
2004-08-18 18:13:37 +00:00
Chris Lattner 663bf7e765 All targets are now allowed to have their own MachineFunctionInfo objects,
also, make getInfo do some checking and cast to the appropriate concrete type.

llvm-svn: 15903
2004-08-18 18:13:16 +00:00
Brian Gaeke dddd639059 M_PSEUDO_FLAG is no longer used. Get rid of it and its accessor.
llvm-svn: 15902
2004-08-18 17:44:17 +00:00
Brian Gaeke b8183ff647 The SparcV9 target no longer uses any pseudoinstructions (SETSW, SETUW,
SETX) or M_PSEUDO_FLAG.

llvm-svn: 15901
2004-08-18 17:44:16 +00:00
Brian Gaeke 2fbe85b1f3 The Create*Const methods don't need to pass around a TargetMachine reference.
Other minor cleanups.

llvm-svn: 15900
2004-08-18 17:44:15 +00:00
Brian Gaeke c03556f67e Doxygenify some comments.
Clean up cpReg2MemMI and cpMem2RegMI, and doxygenify comments.
Get rid of their uses of SETSW, which is a pseudoinstruction. We can't
JIT-compile pseudoinstructions at the moment. This was blowing up 252.eon/jit,
which has some HUGE stack frames.
Reduce the uses of constantFitsInImmedField().
Consolidate some assertions.

llvm-svn: 15899
2004-08-18 17:44:14 +00:00
Chris Lattner 12754fe6b3 Switch V9 over to using the AsmPrinter base class to do its constant printing
Massive thanks to the brg miester for doing the testing. :)

llvm-svn: 15898
2004-08-18 05:29:08 +00:00
Chris Lattner 10262ab3f1 Rename var
llvm-svn: 15897
2004-08-18 02:22:55 +00:00
Chris Lattner ddc7e4863d Alkis pointed out that this is not a character (we actually support strings)
and as such, we should use self revealing names.  Hey, makes sense to me!

llvm-svn: 15896
2004-08-18 02:22:34 +00:00
Chris Lattner 6a9f355b1b new method
llvm-svn: 15895
2004-08-17 21:38:51 +00:00
Chris Lattner ea75199996 Add support for targets without a .zero directive
llvm-svn: 15894
2004-08-17 21:38:40 +00:00
Misha Brukman faa6e51d6e This file is no longer used.
llvm-svn: 15893
2004-08-17 20:23:33 +00:00
Chris Lattner 2501f5852a Start using alignment output routines from AsmPrinter.
Changes to make this more similar to the X86 asmprinter

Fix overalignment of globals.

llvm-svn: 15891
2004-08-17 19:26:03 +00:00
Chris Lattner 866b58d2ef Start using alignment output routines from AsmPrinter.
Changes to make this more similar to the ppc asmprinter

llvm-svn: 15890
2004-08-17 19:25:42 +00:00
Chris Lattner 32ac814f29 Add an overload
llvm-svn: 15889
2004-08-17 19:17:10 +00:00
Chris Lattner 1d35c1673f Add support for alignment
llvm-svn: 15888
2004-08-17 19:14:29 +00:00
Chris Lattner 0c2ab8a9d4 Add a new helper method to get log2(type alignment)
llvm-svn: 15887
2004-08-17 19:13:00 +00:00
Chris Lattner 65066a40ea Add punctuation, add a new method
llvm-svn: 15886
2004-08-17 19:12:44 +00:00
Misha Brukman a9ed31a50b Add itostr(long) for our furry 64-bit friends.
llvm-svn: 15885
2004-08-17 18:08:52 +00:00
Misha Brukman 0f2e2f7e5b Ultra-doxygenify some function header comments.
llvm-svn: 15884
2004-08-17 17:52:36 +00:00
Chris Lattner caf3f3e970 Check constant expression validity more strictly
llvm-svn: 15883
2004-08-17 17:28:46 +00:00
Chris Lattner fca2833838 Work around PR424 for old c/c++ frontends.
llvm-svn: 15882
2004-08-17 17:26:41 +00:00
Chris Lattner cc21bfd809 Print comments with ;
llvm-svn: 15881
2004-08-17 16:27:26 +00:00
Chris Lattner da6beac0ff Use a designated comment character when printing comments.
llvm-svn: 15880
2004-08-17 16:27:05 +00:00
Chris Lattner db00f45936 Allow targets to specify a comment character
llvm-svn: 15879
2004-08-17 16:26:36 +00:00
Reid Spencer 9f093edf1a Added a *very* initial cut at a lexicon for LLVM. I don't plan to write
this whole thing. Just use the pattern in the file to add entries as you
think of them. This will be really helpful for newbies to advanced compiler
optimization techniques such as myself.

llvm-svn: 15878
2004-08-17 09:38:50 +00:00
Reid Spencer be6a243b9f Documented (Java properties file like) syntax of config file format
Added definitions for some of the configuration items.
Made the document HTML 4.01 Strict compliant.
Ran ispell on it.

llvm-svn: 15877
2004-08-17 09:18:37 +00:00
Reid Spencer cde8a13a1c Add a reference to the ComilerDriver documentation.
llvm-svn: 15876
2004-08-17 08:01:57 +00:00
Reid Spencer c3e436427b Bytecode File Format Changes:
- File format version number bumped to 4
- Writer will now align nothing
- Reader now only expects alignment for version 3 or earlier

llvm-svn: 15875
2004-08-17 07:45:14 +00:00
Reid Spencer 0b85d03b57 Documented the removal of alignment in version 4 bytecode files (version 3
was released with LLVM 1.3). Alignment of fields can add severe size to
certain kinds of functions (those with lots of long format instructions) so
we decided to do away with alignment altogether in this bc version.

llvm-svn: 15874
2004-08-17 07:43:43 +00:00
Nate Begeman 0818541631 Re-fix hiding the Frame Pointer from the register allocator in functions
that have a frame pointer.  This change fixes Burg.  In addition, make
the necessary changes to floating point code gen and constant loading after
Chris Lattner's fixes to the asm writer.  These changes fix MallocBench/gs

llvm-svn: 15873
2004-08-17 07:17:44 +00:00
Chris Lattner b3739ceb6e Use the AsmPrinter emitGlobalConstant.
llvm-svn: 15872
2004-08-17 06:48:55 +00:00
Chris Lattner 404bc3dcaf Add missing \t
llvm-svn: 15871
2004-08-17 06:48:34 +00:00
Chris Lattner 9fa0fc4d5e Add support for targets that have .quad, drop extra tab inserted
llvm-svn: 15870
2004-08-17 06:48:16 +00:00
Chris Lattner f97bce7214 Use the emitGlobalConstant defined in AsmPrinter
llvm-svn: 15869
2004-08-17 06:37:12 +00:00
Chris Lattner 8452a1f6df Implement emitGlobalConstant
llvm-svn: 15868
2004-08-17 06:36:49 +00:00
Chris Lattner 81e514b8a6 Add some hooks
llvm-svn: 15867
2004-08-17 06:36:27 +00:00
Chris Lattner ac253447d3 New, more general, interface.
llvm-svn: 15866
2004-08-17 06:07:43 +00:00
Chris Lattner 104bfb7576 Allow an arbitrary prefix
llvm-svn: 15865
2004-08-17 06:06:54 +00:00
Chris Lattner c16a4a7b55 Allow an arbitrary prefix.
llvm-svn: 15864
2004-08-17 06:06:37 +00:00
Chris Lattner 6d42cbd71a We now allow targets to use any prefix they want for global symbols. Lets
hear it for ".".

llvm-svn: 15863
2004-08-17 06:06:19 +00:00
Misha Brukman 9254441cdf Rewrite targets/rules to generate files for just PowerPC or PPC{32,64}
llvm-svn: 15862
2004-08-17 05:11:54 +00:00
Misha Brukman 4eab7f3d5b Register classes are target-dependent
llvm-svn: 15861
2004-08-17 05:10:31 +00:00
Misha Brukman 851a54656a #include <map> is not necessary here
llvm-svn: 15860
2004-08-17 05:09:39 +00:00
Misha Brukman fd2df5afab `PowerPC' is no longer a real target
llvm-svn: 15859
2004-08-17 05:09:10 +00:00
Misha Brukman 38c61506a8 Move variables and methods which need PPC{32,64}* distinction to subclasses
llvm-svn: 15858
2004-08-17 05:08:44 +00:00
Misha Brukman ba7fe16dbf No need for an `is64bit' flag
llvm-svn: 15857
2004-08-17 05:06:47 +00:00
Misha Brukman fe3e46a0b3 PowerPCInstrInfo and PowerPCRegisterInfo have gone away; they are replaced
by 32- and 64-bit customized files, named appropriately.

llvm-svn: 15856
2004-08-17 05:05:00 +00:00
Misha Brukman de4fc10733 Consistently name passed with 32 or 64 in their name
llvm-svn: 15855
2004-08-17 05:02:58 +00:00
Misha Brukman 68ede7e9ba PowerPCRegisterInfo no longer takes a bool to differentiate 32 vs 64 bits
llvm-svn: 15854
2004-08-17 05:02:18 +00:00
Misha Brukman d61283f347 The PowerPCInstrInfo class has gone away.
llvm-svn: 15853
2004-08-17 05:00:46 +00:00
Misha Brukman 0674182457 PowerPCInstrInfo has gone away, PPC32 and PPC64 share opcodes.
llvm-svn: 15852
2004-08-17 04:58:50 +00:00
Misha Brukman ac0ae7c215 PowerPC 32-/64-bit split: Part II, 64-bit customizations on PowerPC
llvm-svn: 15851
2004-08-17 04:57:37 +00:00
Misha Brukman 116f9277f6 PowerPC 32-/64-bit split: Part I, PPC32* bit files, adapted from former PowerPC*
llvm-svn: 15850
2004-08-17 04:55:41 +00:00
Chris Lattner c9d99efdd3 Do not #include files into the llvm namespace
llvm-svn: 15849
2004-08-17 03:08:28 +00:00
Reid Spencer f8a18099fb Correct the comments in the symbol table writer to reflect reality.
llvm-svn: 15848
2004-08-17 02:59:02 +00:00
Chris Lattner a8fbbc0ec3 Print float constants as 4 byte values.
Also, fix endianness problems when cross compiling from little-endian host.

llvm-svn: 15847
2004-08-17 02:48:44 +00:00
Chris Lattner bc9372bf77 Make sure to put an _ prefix on all identifiers!
Also, add some (currently disabled) code to print float's as 32-bits.

llvm-svn: 15846
2004-08-17 02:29:00 +00:00
Chris Lattner 07e78f177a Some asmwriters want an _ prefix
llvm-svn: 15845
2004-08-17 02:28:26 +00:00
Chris Lattner 278f1cb3d4 Some asmweriters want an _ prefix
llvm-svn: 15844
2004-08-17 02:28:12 +00:00
Reid Spencer 9a91081c51 Technical Corrections (thanks to Robert Mykland):
- Define the "opcode" data type and reference the Instruction.def file
- Clean up the definition of symtab by indicating that it is composed of
  two llists.
- Fix some broken links.

llvm-svn: 15843
2004-08-17 00:49:03 +00:00
Chris Lattner 5491774934 More changes to make PPC32 and X86 more similar
llvm-svn: 15842
2004-08-16 23:38:36 +00:00
Chris Lattner b4f1f71bf0 Minor changes to make the diff be nothing against the X86 version
llvm-svn: 15841
2004-08-16 23:30:16 +00:00
Chris Lattner 0ced90583d Finegrainify namespacification
Start using the AsmPrinter base class to factor out a bunch of code

llvm-svn: 15840
2004-08-16 23:25:21 +00:00
Chris Lattner 9cf46456cb Start using the AsmPrinter to emit our first class constants. This also
drops our half-assed support for cygwin, which noone uses and doesn't work
anyway.

llvm-svn: 15839
2004-08-16 23:16:06 +00:00
Chris Lattner 6a8e0f511b Initial implementation of the asmprinter base class
llvm-svn: 15838
2004-08-16 23:15:22 +00:00
Chris Lattner 7e3f28fcdf Moved this file out of lib/CodeGen
llvm-svn: 15837
2004-08-16 22:38:02 +00:00
Chris Lattner 2cb145ceb5 Hacks to make the MachineFunction class be able to delete the MFI object
without knowing anything about it.

llvm-svn: 15836
2004-08-16 22:37:18 +00:00
Chris Lattner 95de5ddbbd Code moved out of lib/CodeGen/MachineFunction.cpp
llvm-svn: 15835
2004-08-16 22:36:54 +00:00
Chris Lattner a1d7802e3c Move this code to lib/Target/SparcV9/MachineFunctionInfo.cpp
llvm-svn: 15834
2004-08-16 22:36:34 +00:00
Chris Lattner bb9aa25a52 This file is moving to lib/Target/SparcV9
llvm-svn: 15833
2004-08-16 22:36:10 +00:00
Chris Lattner 5217efc496 Fit into 80 lines, add a gross hack for MachineFunctionInfo
llvm-svn: 15832
2004-08-16 22:35:26 +00:00
Chris Lattner 359c83fb5a These files now live in lib/Target/SparcV9
llvm-svn: 15831
2004-08-16 21:56:15 +00:00
Chris Lattner 9fb30a4257 Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
llvm-svn: 15830
2004-08-16 21:55:02 +00:00
Chris Lattner 491a52cf22 Nuke this file
llvm-svn: 15829
2004-08-16 21:36:40 +00:00