Chris Lattner
e81c2aa42a
Implement new changeFunction method, nuke a never implemented one.
...
llvm-svn: 16386
2004-09-18 00:22:13 +00:00
Chris Lattner
5065b240c8
Fix typo in comment
...
llvm-svn: 16384
2004-09-17 03:58:39 +00:00
Reid Spencer
90debc5e2e
Make sure critical sections are entered before trying to leave them.
...
Add some additional commentary about the workings of this module.
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16383
2004-09-17 03:02:27 +00:00
Reid Spencer
16b7bad55e
Allow "bc" as suffix for bytecode files.
...
llvm-svn: 16381
2004-09-16 16:36:10 +00:00
Reid Spencer
4aff78acbb
Implement the signals interface for Win32.
...
Patch provided by Jeff Cohen. Thanks Jeff!
llvm-svn: 16380
2004-09-16 15:53:16 +00:00
Chris Lattner
9face5eb1f
Add a newline
...
llvm-svn: 16369
2004-09-15 17:53:52 +00:00
Reid Spencer
6614946443
Convert code to compile with vc7.1.
...
Patch contributed by Paolo Invernizzi. Thanks Paolo!
llvm-svn: 16368
2004-09-15 17:06:42 +00:00
Chris Lattner
6fa9665095
Add some assertions
...
llvm-svn: 16366
2004-09-15 16:59:47 +00:00
Reid Spencer
b88212ee1b
Patches to make this file actually compile under windows.
...
Patches submitted by Jeff Cohen. Thanks Jeff!
llvm-svn: 16362
2004-09-15 05:49:50 +00:00
Reid Spencer
7e2c236fcd
Initial version of the SysConfig abstraction for Win32.
...
llvm-svn: 16361
2004-09-15 05:48:49 +00:00
Reid Spencer
0f0c5cfb19
First version of a common header file for Win32 implementations.
...
llvm-svn: 16360
2004-09-15 05:48:11 +00:00
Reid Spencer
91886b791f
Initial implementation of the Process abstraction for Win32.
...
llvm-svn: 16359
2004-09-15 05:47:40 +00:00
Reid Spencer
0de7bc1c3d
Fix the interface to ReleaseRWX to take MemoryBlock& not Memory&
...
llvm-svn: 16356
2004-09-15 03:55:45 +00:00
Chris Lattner
f11216d24f
Fix a bug in the previous checkin that broke 255.vortex
...
llvm-svn: 16355
2004-09-15 02:34:40 +00:00
Alkis Evlogimenos
0507ffebb1
When creating constant arrays check that the initializer vector is the
...
same size as the one in the array type.
llvm-svn: 16354
2004-09-15 02:32:15 +00:00
Misha Brukman
4bf01357e1
Fit long lines into 80 cols via creative space elimination
...
llvm-svn: 16353
2004-09-15 01:40:18 +00:00
Misha Brukman
9511910e11
Wrap long line
...
llvm-svn: 16352
2004-09-15 01:34:42 +00:00
Misha Brukman
2d01db846b
Targets are independent of each other, so compile them in parallel
...
llvm-svn: 16351
2004-09-15 01:34:25 +00:00
Chris Lattner
a346578d92
Make sure to update alias analysis information as we transform the function.
...
This fixes PR420 and Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx
llvm-svn: 16348
2004-09-15 01:04:07 +00:00
Chris Lattner
9b9932bd94
If given an AliasSetTracker object to update, update it.
...
llvm-svn: 16347
2004-09-15 01:02:54 +00:00
Chris Lattner
ab64481f1d
Implement an AliasSetTracker::copyValue method
...
llvm-svn: 16344
2004-09-14 19:15:32 +00:00
Chris Lattner
f41b80a05f
Remove a long-dead pass. Actually, this pass was never used at all.
...
llvm-svn: 16337
2004-09-14 16:33:01 +00:00
Reid Spencer
853d250b0a
Fix a compilation error.
...
llvm-svn: 16335
2004-09-14 15:42:11 +00:00
Reid Spencer
f27c4cde06
Okay, the list of link-time passes wasn't such a hot idea. Its prone to
...
error. We'll strategize on this when we have multiple front ends to deal
with. For now llvm-ld just runs a standard set of transforms.
llvm-svn: 16333
2004-09-14 05:43:23 +00:00
Chris Lattner
2cdd49de2a
Don't print newlines between passes in the pass list.
...
Note to self: sentences end with ".", not "...".
Note to reid: sentences end with ".", not "". :)
llvm-svn: 16332
2004-09-14 05:06:58 +00:00
Chris Lattner
730cfe431a
Don't print newlines between each library in the deplibs list.
...
llvm-svn: 16331
2004-09-14 04:51:44 +00:00
Chris Lattner
e8e81a2941
Revamp the Register class, and allow the use of the RegisterGroup class to
...
specify aliases directly in register definitions.
Patch contributed by Jason Eckhardt!
llvm-svn: 16330
2004-09-14 04:17:02 +00:00
Reid Spencer
df05ec7e0d
Implement the GetLibraryPath function.
...
llvm-svn: 16323
2004-09-14 00:16:39 +00:00
Reid Spencer
b9e0877223
Add support for the link-time pass list to Modules.
...
llvm-svn: 16321
2004-09-13 23:44:23 +00:00
Reid Spencer
f7948483d2
Simplify the sys::Memory interface per Chris' request.
...
llvm-svn: 16318
2004-09-13 22:38:11 +00:00
Reid Spencer
07369430c4
Clean up the interface and implementation of sys::Program so that it is
...
cleanly dissociated from the sys::Path class.
llvm-svn: 16315
2004-09-13 21:48:44 +00:00
Chris Lattner
247c29e4b0
Changes to make this work with Jason's patch. I checked this by hand, but
...
would appreciate if others would also look at this to make sure I didn't
botch something obvious
llvm-svn: 16312
2004-09-13 21:32:03 +00:00
Misha Brukman
72be9ae024
Fix filename: Printer.cpp has become X86AsmPrinter.cpp
...
llvm-svn: 16299
2004-09-12 21:26:04 +00:00
Misha Brukman
14756e8e1c
Unbreak doxygen, according to Reid.
...
llvm-svn: 16298
2004-09-12 20:56:38 +00:00
Misha Brukman
dbcd4fda49
Fix code spacing/alignment
...
llvm-svn: 16297
2004-09-12 20:47:33 +00:00
Reid Spencer
55a96ee8f5
Fix typo: sterror -> strerror
...
llvm-svn: 16294
2004-09-11 20:18:08 +00:00
Reid Spencer
fda2fe9f1e
Correct the dynamic lib suffix on Darwin.
...
llvm-svn: 16293
2004-09-11 07:35:01 +00:00
Reid Spencer
566ac28f35
Provide initial implementations of Memory and Process concepts for various
...
platforms.
Implement GetLLVMSuffix function for the Path concept.
llvm-svn: 16292
2004-09-11 04:59:30 +00:00
Reid Spencer
2896c95bca
Provide a generic Unix implementation of the Memory concept.
...
llvm-svn: 16291
2004-09-11 04:57:25 +00:00
Reid Spencer
33b9d77b89
Provide a generic unix implementation of the Process abstraction.
...
llvm-svn: 16290
2004-09-11 04:56:56 +00:00
Reid Spencer
ae9bbda50a
Implemented support for detecting file types by magic number, stripping
...
path and suffix to leave basename, and getting the DLL suffix.
llvm-svn: 16289
2004-09-11 04:55:08 +00:00
Reid Spencer
2d20d765d8
Implementation of Process concept for SUSv2 platforms.
...
llvm-svn: 16288
2004-09-11 04:54:06 +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
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
c90a765368
Print the dependent libraries when dumping bytecode.
...
llvm-svn: 16275
2004-09-11 04:14:07 +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
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
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
Nate Begeman
54bcf2db01
Add 64 bit divide instructions, and use them
...
llvm-svn: 16198
2004-09-06 18:46:59 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Reid Spencer
023637eb38
Add a declaration of environ global for Darwin
...
llvm-svn: 16100
2004-08-29 20:10:07 +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
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
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
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