Misha Brukman
349717934a
Fix doxygen comment
...
llvm-svn: 16542
2004-09-28 16:57:46 +00:00
Brian Gaeke
99d3deee1c
Touch output files before reading or writing them, so that they are
...
always guaranteed to exist. This fixes PR444. Thanks to Alkis
for reporting the bug and testing the patch.
AddRecord used to return a big list, but that return value was never
used. So now it doesn't return anything.
Create the WebDir if it does not exist.
Fix a typo in a comment.
llvm-svn: 16541
2004-09-28 16:04:00 +00:00
John Criswell
68146eb40a
Corrected spelling of Makefile variable, thereby re-enabling profile
...
builds for projects.
llvm-svn: 16540
2004-09-28 14:52:58 +00:00
Alkis Evlogimenos
20f1b0bafb
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
llvm-svn: 16539
2004-09-28 14:42:44 +00:00
Chris Lattner
a2bb624e35
Bug fixed
...
llvm-svn: 16538
2004-09-28 03:45:22 +00:00
Chris Lattner
7b30f27695
Testcase for LLVM PR445
...
llvm-svn: 16537
2004-09-28 03:36:39 +00:00
Alkis Evlogimenos
6280a7b716
Since we use alloca now make sure we include the proper headers for it.
...
llvm-svn: 16536
2004-09-28 02:53:15 +00:00
Alkis Evlogimenos
edbb20cf7f
Use alloca instead of a C99 style array. This should fix the
...
compilation problem in windows.
llvm-svn: 16535
2004-09-28 02:47:38 +00:00
Alkis Evlogimenos
3ce42ec7ee
Pull assignment out of for loop conditional in order for this to
...
compile under windows. Patch contributed by Paolo Invernizzi!
llvm-svn: 16534
2004-09-28 02:40:37 +00:00
Alkis Evlogimenos
fc59e0e8a3
Fix includes. Patch contributed by Paolo Invernizzi!
...
llvm-svn: 16533
2004-09-28 02:38:58 +00:00
Chris Lattner
02060ae68e
New testcase that crashes the C++ FE, encountered while working on PR445
...
llvm-svn: 16532
2004-09-28 02:29:40 +00:00
Alkis Evlogimenos
b1da2050a5
Use class instead of struct for defining classes. This unbreaks the
...
build on windows. Patch contributed by Paolo Invernizzi!
llvm-svn: 16531
2004-09-28 01:59:17 +00:00
Chris Lattner
6a4a0492f8
Patch contributed by Patrick Meredith:
...
added notes on the fact that the current implementation uses
sbyte* for va_list. Updated all occurances of valist to va_list (it was
inconsistant and find/replace is so easy ;-) ). Added <...> around all
occurances of va_list in the intrinsic functions to match the vaarg and
vanext instructions and to further show that va_list is a variable type.
llvm-svn: 16530
2004-09-27 21:51:25 +00:00
Misha Brukman
23f7ad07dc
Fix grammar.
...
llvm-svn: 16529
2004-09-27 20:35:59 +00:00
Chris Lattner
bfff18a869
Fix two bugs: one where a condition was mistakenly swapped, and another
...
where we folded (X & 254) -> X < 1 instead of X < 2. These problems were
latent problems exposed by the latest patch.
llvm-svn: 16528
2004-09-27 19:29:18 +00:00
Chris Lattner
5f9319a789
New testcase
...
llvm-svn: 16527
2004-09-27 19:25:20 +00:00
Misha Brukman
d409d38151
SparcV8 int regs are not only 32-bits in width, but they are 32-bit aligned!
...
llvm-svn: 16526
2004-09-27 18:22:18 +00:00
Chris Lattner
d7dc1ecd42
The system ranlib on darwin occasionally adds two extra newlines to the
...
end of files, breaking the CFE build. As a gross hack around this,
ignore any trailing garbage on bytecode files. Thanks to Brian for digging
in and identifying the problem.
llvm-svn: 16525
2004-09-27 16:59:06 +00:00
Chris Lattner
dbf0a56597
Hrm, if there is an error loading a file, try printing a message so the
...
user knows that...
llvm-svn: 16524
2004-09-27 16:41:01 +00:00
Chris Lattner
fbfb4d43c4
Testcases for rev 250 of InstructionCombining.cpp
...
llvm-svn: 16522
2004-09-27 16:21:26 +00:00
Chris Lattner
1023b8726e
Fold: (setcc (shr X, ShAmt), CI), where 'cc' is eq or ne. This xform
...
triggers often, for example:
6x in povray, 1x in gzip, 279x in gcc, 1x in crafty, 8x in eon, 11x in perlbmk,
362x in gap, 4x in vortex, 14 in m88ksim, 211x in 126.gcc, 1x in compress,
11x in ijpeg, and 4x in 147.vortex.
llvm-svn: 16521
2004-09-27 16:18:50 +00:00
Alkis Evlogimenos
2622728248
Improve warning
...
llvm-svn: 16520
2004-09-27 07:35:19 +00:00
Nate Begeman
8656a156cf
Correct some BuildMI arguments for the upcoming simple scheduler
...
llvm-svn: 16519
2004-09-27 05:08:17 +00:00
Misha Brukman
a68d76ebfa
Fix the copy-pasto that Brian noticed: V8 int regs are 32-bits wide, not 64.
...
llvm-svn: 16518
2004-09-26 21:07:43 +00:00
Reid Spencer
58ab77db8e
Add some missing #includes
...
llvm-svn: 16517
2004-09-25 16:00:07 +00:00
Reid Spencer
6c0c9424f6
Qualify Path with sys:: namespace so this file compiles.
...
llvm-svn: 16516
2004-09-25 15:59:41 +00:00
Reid Spencer
f71143c3e5
Updated to reflect changes in the interface of TimeValue::now().
...
llvm-svn: 16515
2004-09-25 08:32:37 +00:00
Reid Spencer
004ef2847b
Clean up the interface of TimeValue:
...
- get rid of unneeded constructors
- get rid of duplicate methods/constructors/operators
- normalize to LLVM coding standards
- wrap to 80 columns.
Many thanks to Alkis Evlogimenos for his suggestions.
llvm-svn: 16514
2004-09-25 08:29:54 +00:00
Reid Spencer
1cc1994edf
Added stub implementations of TimeValue concept for remaining platforms.
...
llvm-svn: 16513
2004-09-25 05:03:54 +00:00
Reid Spencer
8b2f9a298d
Wrap to 80 cols.
...
llvm-svn: 16512
2004-09-25 05:03:22 +00:00
Reid Spencer
ca141a5b28
Initial implementation of the TimeValue abstraction.
...
llvm-svn: 16511
2004-09-24 23:25:19 +00:00
John Criswell
71c8d5eae9
Updated the last two header files so that they are configured with
...
AC_CONFIG_HEADERS. This should prevent LLVM from needlessly re-compiling
on a re-configure.
llvm-svn: 16510
2004-09-24 21:19:06 +00:00
John Criswell
08e722647a
Modified hash_map and hash_set configuration so that they are not
...
regenerated on every run of configure.
llvm-svn: 16509
2004-09-24 18:28:00 +00:00
Chris Lattner
7e794273f5
Implement shift-and combinations, implementing InstCombine/and.ll:test19-21
...
These combinations trigger 4 times in povray, 7x in gcc, 4x in gap, and 2x in bzip2.
llvm-svn: 16508
2004-09-24 15:21:34 +00:00
Chris Lattner
8c1c691755
Add some tests for shr-and folding
...
llvm-svn: 16507
2004-09-24 15:18:43 +00:00
John Criswell
3ed86d7540
Configure Datatypes.h.in with AC_CONFIG_HEADERS. This should prevent it
...
from being re-generated if the new version is identical to the old version.
Hence, it should save us some recompiling after re-configures.
llvm-svn: 16506
2004-09-24 13:28:51 +00:00
Chris Lattner
e1b4d2a470
Move LHSI->hasOneUse() into the arms of the conditional, reindenting code.
...
No functionality changes here.
llvm-svn: 16505
2004-09-23 21:52:49 +00:00
Chris Lattner
8fc5af4da9
Implement Transforms/InstCombine/and.ll:test18, a case that occurs 20 times
...
in perlbmk
llvm-svn: 16504
2004-09-23 21:46:38 +00:00
Chris Lattner
45a5ace32e
New testcase for a pattern that occurs 20 times in perlbmk
...
llvm-svn: 16503
2004-09-23 21:42:49 +00:00
Reid Spencer
bf6439fd27
Add a blurb about the use of class vs. struct keyword in class decls.
...
llvm-svn: 16500
2004-09-23 16:03:48 +00:00
Chris Lattner
bdcf41a8a2
Implement select.ll:test16: fold load (select C, X, null) -> load X
...
llvm-svn: 16499
2004-09-23 15:46:00 +00:00
Chris Lattner
fb4735980b
load null is undefined behavior, this should fold
...
llvm-svn: 16498
2004-09-23 15:45:20 +00:00
Reid Spencer
3e95e7c99c
Change Value from a "struct" to a "class" so that VC 7.1 doesn't generate
...
missing symbols when its referenced as a class.
llvm-svn: 16496
2004-09-23 14:49:45 +00:00
Reid Spencer
9904928ea3
Patch for MINGW. Patch provided by Henrik Bach.
...
llvm-svn: 16495
2004-09-23 14:47:10 +00:00
Reid Spencer
898eca3260
Missed one $*.a -> $@ conversion for the Release build.
...
llvm-svn: 16494
2004-09-23 06:07:24 +00:00
Nate Begeman
49cf74b26c
Fix the last of the major PPC GEP folding deficiencies. This will allow
...
the ISel to use indexed and non-zero immediate offsets for GEPs that have
more than one use. This is common for instruction sequences such as a load
followed by a modify and store to the same address.
llvm-svn: 16493
2004-09-23 05:31:33 +00:00
Alkis Evlogimenos
04da4252c0
Update email address
...
llvm-svn: 16492
2004-09-23 04:39:30 +00:00
Chris Lattner
29cf9a32e2
Grrr... I shouldn't have to do this one :)
...
llvm-svn: 16491
2004-09-23 04:36:01 +00:00
Chris Lattner
9544766cd3
Update credits
...
llvm-svn: 16490
2004-09-23 04:30:05 +00:00
Reid Spencer
ef18cc48db
Correct the rules for making shared libraries per libtool 1.5.10
...
llvm-svn: 16489
2004-09-23 00:58:06 +00:00
Misha Brukman
379a05b52a
Use the V8/V9 shared register file description
...
llvm-svn: 16485
2004-09-22 21:48:50 +00:00
Misha Brukman
3c08658d56
Combine the F2 and F3 instruction classes into one file for simplicity
...
llvm-svn: 16484
2004-09-22 21:38:42 +00:00
Misha Brukman
efce1ef9c3
Fix file header path
...
llvm-svn: 16483
2004-09-22 21:29:12 +00:00
Misha Brukman
009aaf9968
Prettify formatting of the file, adjust paths to making V8 a subdir of Sparc
...
llvm-svn: 16482
2004-09-22 20:09:29 +00:00
Misha Brukman
d55f854a5d
V8 is now a subdirectory of Sparc; adjust paths accordingly
...
llvm-svn: 16481
2004-09-22 20:08:52 +00:00
Reid Spencer
3c20f4b59f
Update to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.
...
llvm-svn: 16480
2004-09-22 15:32:08 +00:00
Reid Spencer
c4eb57c525
The alloca function, strangely enough, is found in the malloc.h header file
...
on MINGW platform. Provide an #elseif case to #include malloc.h for this
platform if malloc.h is found.
Patch provided by Henrik Bach. Thanks Henrik!
llvm-svn: 16479
2004-09-22 15:28:32 +00:00
Nate Begeman
033b816171
add optimized code sequences for setcc x, 0
...
llvm-svn: 16478
2004-09-22 04:40:25 +00:00
Chris Lattner
b121ae1cec
Do not fold (X + C1 != C2) if there are other users of the add. Doing
...
this transformation used to take a loop like this:
int Array[1000];
void test(int X) {
int i;
for (i = 0; i < 1000; ++i)
Array[i] += X;
}
Compiled to LLVM is:
no_exit: ; preds = %entry, %no_exit
%indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=2]
%tmp.4 = getelementptr [1000 x int]* %Array, int 0, uint %indvar ; <int*> [#uses=2]
%tmp.7 = load int* %tmp.4 ; <int> [#uses=1]
%tmp.9 = add int %tmp.7, %X ; <int> [#uses=1]
store int %tmp.9, int* %tmp.4
*** %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2]
*** %exitcond = seteq uint %indvar.next, 1000 ; <bool> [#uses=1]
br bool %exitcond, label %return, label %no_exit
and turn it into a loop like this:
no_exit: ; preds = %entry, %no_exit
%indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=3]
%tmp.4 = getelementptr [1000 x int]* %Array, int 0, uint %indvar ; <int*> [#uses=2]
%tmp.7 = load int* %tmp.4 ; <int> [#uses=1]
%tmp.9 = add int %tmp.7, %X ; <int> [#uses=1]
store int %tmp.9, int* %tmp.4
*** %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1]
*** %exitcond = seteq uint %indvar, 999 ; <bool> [#uses=1]
br bool %exitcond, label %return, label %no_exit
Note that indvar.next and indvar can no longer be coallesced. In machine
code terms, this patch changes this code:
.LBBtest_1: # no_exit
mov %EDX, OFFSET Array
mov %ESI, %EAX
add %ESI, DWORD PTR [%EDX + 4*%ECX]
mov %EDX, OFFSET Array
mov DWORD PTR [%EDX + 4*%ECX], %ESI
mov %EDX, %ECX
inc %EDX
cmp %ECX, 999
mov %ECX, %EDX
jne .LBBtest_1 # no_exit
into this:
.LBBtest_1: # no_exit
mov %EDX, OFFSET Array
mov %ESI, %EAX
add %ESI, DWORD PTR [%EDX + 4*%ECX]
mov %EDX, OFFSET Array
mov DWORD PTR [%EDX + 4*%ECX], %ESI
inc %ECX
cmp %ECX, 1000
jne .LBBtest_1 # no_exit
We need better instruction selection to get this:
.LBBtest_1: # no_exit
add DWORD PTR [Array + 4*%ECX], EAX
inc %ECX
cmp %ECX, 1000
jne .LBBtest_1 # no_exit
... but at least there is less register juggling
llvm-svn: 16473
2004-09-21 21:35:23 +00:00
Alkis Evlogimenos
89dd63733a
The real x87 floating point registers should not be allocatable. They
...
are only used by the stackifier when transforming FPn register
allocations to the real stack file x87 registers.
llvm-svn: 16472
2004-09-21 21:22:11 +00:00
Misha Brukman
6b17bf7193
s/ISel/PPC64ISel/ to have unique class names for debugging via gdb because the
...
C++ front-end in gcc does not mangle classes in anonymous namespaces correctly.
llvm-svn: 16471
2004-09-21 18:22:33 +00:00
Misha Brukman
87201ce8f9
s/ISel/PPC32ISel/ to have unique class names for debugging via gdb because the
...
C++ front-end in gcc does not mangle classes in anonymous namespaces correctly.
llvm-svn: 16470
2004-09-21 18:22:19 +00:00
Misha Brukman
43bd39e04e
s/ISel/X86ISel/ to have unique class names for debugging via gdb because the C++
...
front-end in gcc does not mangle classes in anonymous namespaces correctly.
llvm-svn: 16469
2004-09-21 18:21:21 +00:00
Chris Lattner
0f28cce60c
Make sure to set the operand list
...
llvm-svn: 16466
2004-09-21 17:30:54 +00:00
Reid Spencer
5a6815d332
Fix a problem where the mmap_file test was generating an incorrect test
...
program that always failed (wouldn't compile).
llvm-svn: 16465
2004-09-21 17:14:44 +00:00
Reid Spencer
d057f2bc56
Change the warning text so that NO warnings are permitted. This is now the
...
case since the AC_CONFIG_SUBDIRS problem has been fixed.
llvm-svn: 16464
2004-09-21 17:13:23 +00:00
Reid Spencer
c6f9e0f512
Don't attempt to (illegally) configure a subdir if we don't recognize it.
...
Instead just create a warning message that says the directory cannot be
configured because it isn't recognized. This also gets rid of a bunch of
warning messages from the auto* tools.
llvm-svn: 16463
2004-09-21 17:12:35 +00:00
Reid Spencer
7c3d8c0af8
Fix the program passed to AC_LANG_PROGRAM to be only the BODY of the main
...
function, not the whole main function. This problem resulted during
conversion of scripts to the new autoconf standard. The effect was that
the mmap_file test would fail and if it does there is currently an
#ifdef'd #error that causes compilation to fail. Bad, bad, bad.
llvm-svn: 16462
2004-09-21 17:10:52 +00:00
Misha Brukman
62041800ed
Thanks to Brad Jones for packed type support!
...
llvm-svn: 16461
2004-09-21 16:54:37 +00:00
Misha Brukman
ca9062016e
Thanks to Brad for documentation on adding a DerivedType
...
llvm-svn: 16460
2004-09-21 16:53:29 +00:00
Chris Lattner
13d909c401
This is an empty directory
...
llvm-svn: 16459
2004-09-21 16:26:13 +00:00
Chris Lattner
6a229fcaca
This is a dead directory now
...
llvm-svn: 16458
2004-09-21 16:25:41 +00:00
Reid Spencer
efbe0ce909
Change the name of the "known" module for Java from llvm-java to Java.
...
llvm-svn: 16453
2004-09-20 22:14:56 +00:00
Alkis Evlogimenos
dc62cada7d
Use the right directory for the Java frontend
...
llvm-svn: 16448
2004-09-20 15:45:36 +00:00
Chris Lattner
42618551d5
Fix potential miscompilations: InstCombine/2004-09-20-BadLoadCombine*.llx
...
llvm-svn: 16447
2004-09-20 10:15:10 +00:00
Chris Lattner
803fb3c2c3
Two testcases for invalid transformations that instcombine is doing
...
llvm-svn: 16446
2004-09-20 10:14:27 +00:00
Reid Spencer
5ef171a5b1
Documentation upgrade.
...
llvm-svn: 16445
2004-09-20 08:09:36 +00:00
Reid Spencer
e380f931db
Finish the documentation.
...
llvm-svn: 16444
2004-09-20 08:04:13 +00:00
Reid Spencer
0889f95c02
Tighten up the specification of what counts as a code file. The previous
...
specification was too liberal in some areas and missing things in others.
This specification is based on the actual extensions found in the source
tree.
llvm-svn: 16443
2004-09-20 08:00:09 +00:00
Reid Spencer
08941821f3
Base the implementation on the llvmdo script so that we only have to
...
maintain the logic for "what counts as a source file" in one place.
llvm-svn: 16442
2004-09-20 07:22:23 +00:00
Reid Spencer
6707342ff6
Fixed to actually work correctly and be the basis for other tools by
...
allowing the set of directories searched to be specified either by the
LLVMDO_DIRS env var or by the -dirs "dirs..." command line option.
llvm-svn: 16441
2004-09-20 07:21:19 +00:00
Alkis Evlogimenos
d59cebf87a
Fix loop condition so that we don't decrement off the beginning of the
...
list.
llvm-svn: 16440
2004-09-20 06:42:58 +00:00
Chris Lattner
91006d8e2c
Don't count .lo files :)
...
llvm-svn: 16439
2004-09-20 05:01:04 +00:00
Chris Lattner
4f2cf030e8
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436
2004-09-20 04:48:05 +00:00
Chris Lattner
79e523de04
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
Also, fix some undefined behavior, expecting | on booleans to evaluate
left-to-right.
llvm-svn: 16435
2004-09-20 04:47:19 +00:00
Chris Lattner
135419193e
Finegrainify namespacification
...
'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16434
2004-09-20 04:44:31 +00:00
Chris Lattner
cd671065be
Prototype more accurately
...
llvm-svn: 16433
2004-09-20 04:43:57 +00:00
Chris Lattner
3e86084641
Prototype these functions more accurately
...
llvm-svn: 16432
2004-09-20 04:43:15 +00:00
Chris Lattner
1556b2722d
Do not prototype any of these passes as returning Pass*. Instead, be specific
...
llvm-svn: 16431
2004-09-20 04:41:39 +00:00
Chris Lattner
3c11c04d43
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16430
2004-09-20 04:36:29 +00:00
Reid Spencer
45101043ef
Put in a #error in the event that we don't have an mmap that can map a file
...
into memor. This is just a reminder that the ReadFileIntoAddressSpace
function needs to be properly converted to lib/System and implemented via
read/write if there's no mmap of file support.
llvm-svn: 16428
2004-09-20 04:13:43 +00:00
Reid Spencer
ac16ea98de
Fix problems with AC_FUNC_MMAP_FILE and AC_LINK_USE_R that caused problems
...
with correctly recognizing mmap of files and the linker's support of -r.
llvm-svn: 16427
2004-09-20 04:09:56 +00:00
Reid Spencer
57f1c0e0a6
Correct the use AC_RUN_IFELSE to ensure it builds programs correctly by
...
using the AC_LANG_PROGRAM macro.
llvm-svn: 16426
2004-09-20 04:08:22 +00:00
Reid Spencer
ef538ef635
Allow the suffix for shared libraries to be obtained correctly so we can
...
build them again.
llvm-svn: 16425
2004-09-20 03:06:28 +00:00
Reid Spencer
a9317d68b6
The problem with depending on the internal implementation of third party
...
tools is that you break when they change. This is a case in point.
llvm-svn: 16424
2004-09-20 03:05:46 +00:00
Reid Spencer
3f2f555690
libtool's name is now back to mklib.
...
llvm-svn: 16423
2004-09-20 01:43:00 +00:00
Reid Spencer
7bf145cb95
Change to support creation of "mklib" instead of "libtool" in builddir.
...
llvm-svn: 16422
2004-09-20 01:42:32 +00:00
Reid Spencer
3ed4d9f7e9
Update the script to generate mklib instead of libtool.
...
llvm-svn: 16421
2004-09-20 01:41:24 +00:00
Reid Spencer
f184a86f05
Adjust the libtool macros so that libtool's name is "mklib". Also, tidy up
...
the use of obsolete macros, hopefully making us more compliant on more sys.
llvm-svn: 16420
2004-09-19 23:53:36 +00:00
Reid Spencer
2024d0ed5a
Various minor cleanups and replacement of obsoleted macro names.
...
llvm-svn: 16419
2004-09-19 23:43:52 +00:00
Reid Spencer
200dcd9e68
Numerous fixes to convert ~ into ; that (probably) occurred during data
...
transmission.
llvm-svn: 16418
2004-09-19 23:42:55 +00:00
Chris Lattner
85927a6730
The lexicon doc is more of a user guide than programming dox
...
llvm-svn: 16417
2004-09-19 23:15:47 +00:00
Reid Spencer
70eca35170
Bring the script out of the dark ages and into modern autoconfness.
...
llvm-svn: 16415
2004-09-19 22:31:49 +00:00
Reid Spencer
eb61eb2e32
Make the "Warning" notice a LOT more prominent.
...
llvm-svn: 16414
2004-09-19 22:30:53 +00:00
Reid Spencer
2aeccd0f1c
Add in version dependency checks on all the tools we depend on. This is
...
necessary to ensure that a consistent configuration is created on each
platform. Certain definitions we use (like m4/libtool.m4) require certain
versions of the tools and we can no longer be slack about this or we'll
have problems with mis-configured builds.
llvm-svn: 16412
2004-09-19 22:14:24 +00:00
Reid Spencer
dc6f5680f3
Add our own version of libtool.m4 instead of relying on the installed one.
...
This is a potential version mismatch problem because this file came from
libtool 1.5.10. If you're running a different version of libtool, the
checks in this file may not be quite right. Having our own version of this
file violates the spirit of libtool and is only provided to change the name
of "libtool" to "mklib". This is done so that the name "libtool" does not
conflict with the "lib" directory when doing tab completion and your
$objdir == $srcdir.
llvm-svn: 16411
2004-09-19 21:47:47 +00:00
Chris Lattner
2249dd1c41
better code
...
Move other things to the right sections
llvm-svn: 16410
2004-09-19 19:21:26 +00:00
Chris Lattner
e6f13093e6
Make isSafeToLoadUnconditionally a bit smarter, implementing PR362 and
...
Regression/Transforms/InstCombine/CPP_min_max.llx
llvm-svn: 16409
2004-09-19 19:18:10 +00:00
Chris Lattner
75cf9f08cc
New testcase for PR362: Icky code generated for std::min/std::max
...
llvm-svn: 16408
2004-09-19 19:17:10 +00:00
Chris Lattner
d6d99dfa3f
Fix a nasty iterator invalidation problem I introduced yesterday. This
...
unfortunately is the cause of a bunch of failures from tonight, and the
reason the tester is running so slow :(
llvm-svn: 16407
2004-09-19 19:01:06 +00:00
Chris Lattner
855a4ff4dd
Remove a whole bunch of horrible hacky code that was used to promote allocas
...
whose addresses where used by trivial phi nodes and select instructions. This
is now performed by the instcombine pass, which is more powerful, is much
simpler, and is faster. This allows the deletion of a bunch of code, two
FIXME's and two gotos.
llvm-svn: 16406
2004-09-19 18:51:51 +00:00
Chris Lattner
2f7bb1be42
Instcombine now helps out with these
...
llvm-svn: 16405
2004-09-19 18:45:45 +00:00
Chris Lattner
f62ea8ef4b
Make instruction combining a bit more aggressive in the face of volatile
...
loads, and implement two new transforms: InstCombine/load.ll:test[56].
llvm-svn: 16404
2004-09-19 18:43:46 +00:00
Chris Lattner
29dd824a10
Add two new testcases that instcombine should handle
...
llvm-svn: 16403
2004-09-19 18:43:01 +00:00
Reid Spencer
1bdd0f0a08
Minor correction to Signals implementation.
...
Patch submitted by Jeff Cohen. Thanks Jeff!
llvm-svn: 16401
2004-09-19 05:37:39 +00:00
Chris Lattner
9864df96ba
Add comment
...
llvm-svn: 16400
2004-09-19 01:05:16 +00:00
Chris Lattner
6455c51ab6
Fix the inliner to always delete any edges from the external call node to
...
a function being deleted. Due to optimizations done while inlining, there
can be edges from the external call node to a function node that were not
apparent any longer.
This fixes the compiler crash while compiling 175.vpr
llvm-svn: 16399
2004-09-18 21:37:03 +00:00
Chris Lattner
824a21868b
Add CallGraphNode::removeAnyCallEdgeTo method
...
llvm-svn: 16398
2004-09-18 21:34:34 +00:00
Reid Spencer
91e6f5e975
Use the /dev/zero device as the device on which the pages are mapped.
...
Patch contributed by Henrik Bach. Thanks Henrik!
llvm-svn: 16397
2004-09-18 19:34:09 +00:00
Reid Spencer
0e86336edc
Porting of Unix implementation to Win32.
...
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16396
2004-09-18 19:29:16 +00:00
Reid Spencer
36e3cbfd3b
Get rid of file descriptor leak in create_file.
...
llvm-svn: 16395
2004-09-18 19:25:11 +00:00
Chris Lattner
9fb88200c4
Misha implemented the ModuleProvider interface back in 9/18/2003.
...
llvm-svn: 16394
2004-09-18 16:16:28 +00:00
Chris Lattner
9e4be6faed
Provide initial docs for CallGraphSCCPass's, and fix several grammar-o's and
...
other problems.
llvm-svn: 16393
2004-09-18 06:39:35 +00:00
Chris Lattner
a94619ddef
Make this HTML 4.01 strict
...
Update to reflect changes to the 'Register' tblgen class.
llvm-svn: 16392
2004-09-18 06:28:07 +00:00
Chris Lattner
24ba604c98
Don't include libtool "object" files
...
llvm-svn: 16391
2004-09-18 04:40:46 +00:00
Chris Lattner
37b6c4f2d2
Convert this pass to be a CallGraphSCCPass instead of a Pass, which eliminates
...
the worklist and makes it more efficient. This does not change functionality
at all.
llvm-svn: 16390
2004-09-18 00:34:13 +00:00
Chris Lattner
475dc2c93d
Make sure to remove the Select instruction as well
...
llvm-svn: 16389
2004-09-18 00:32:40 +00:00
Chris Lattner
85d5ccc006
When changing a function, make sure to update the CallGraphNode for the
...
function, not just the CallGraph.
llvm-svn: 16388
2004-09-18 00:27:20 +00:00
Chris Lattner
d4f3238c12
Implement new changeFunction method, nuke a never implemented one.
...
Add comments and doxygenify others.
llvm-svn: 16387
2004-09-18 00:22:43 +00:00
Chris Lattner
e81c2aa42a
Implement new changeFunction method, nuke a never implemented one.
...
llvm-svn: 16386
2004-09-18 00:22:13 +00:00
John Criswell
db981ab5cc
Changed the distclean target to handle the new location of config.h.
...
llvm-svn: 16385
2004-09-17 15:08:25 +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
7cd7aeee9a
Adjust the license files based on the actual content of llvm and llvm-test
...
after llvm-test was split out of llvm.
llvm-svn: 16382
2004-09-16 16:41:31 +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
John Criswell
30a0c10269
Add dependencies so that project tools are recompiled if LLVM libraries
...
are updated.
llvm-svn: 16378
2004-09-16 14:11:25 +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
f38ee63423
Make sure to update the list end when an element is removed from it. This
...
fixes a crash in LICM when processing povray.
llvm-svn: 16367
2004-09-15 17:00:41 +00:00
Chris Lattner
6fa9665095
Add some assertions
...
llvm-svn: 16366
2004-09-15 16:59:47 +00:00
Reid Spencer
d684790778
Stacker compiler library doesn't need to be shared and it can cause
...
problems on some platforms (like Solaris).
llvm-svn: 16365
2004-09-15 06:22:54 +00:00
Reid Spencer
90a3303af7
Attempt to solve the libtool problem on Solaris.
...
llvm-svn: 16364
2004-09-15 06:19:53 +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
59d448f15e
Bug fixed
...
llvm-svn: 16349
2004-09-15 01:09: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
38be945b54
Add an optional argument to PromoteMemToReg
...
llvm-svn: 16346
2004-09-15 01:02:30 +00:00
Chris Lattner
b69831d8dd
New testcase for PR420
...
llvm-svn: 16345
2004-09-15 00:58:49 +00:00
Chris Lattner
ab64481f1d
Implement an AliasSetTracker::copyValue method
...
llvm-svn: 16344
2004-09-14 19:15:32 +00:00
Chris Lattner
8a40b8d8e0
Add an AliasSetTracker::copyValue method
...
llvm-svn: 16343
2004-09-14 19:15:12 +00:00
Misha Brukman
c1f7bb0238
The Sparc linking .so problem extends to the sample project as well
...
llvm-svn: 16342
2004-09-14 18:21:03 +00:00
Chris Lattner
09f3ac9297
Add notes about some buggy passes
...
llvm-svn: 16339
2004-09-14 16:43:13 +00:00
Chris Lattner
dd457079fa
Remove unused pass
...
llvm-svn: 16338
2004-09-14 16:34:08 +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
4bc165e9c1
Fix compilation warning.
...
llvm-svn: 16336
2004-09-14 15:46:13 +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
b8dcf1cb7c
Update to reflect stkrc's new optimization capabilities.
...
llvm-svn: 16327
2004-09-14 02:00:24 +00:00
Reid Spencer
86343e43dc
Support substitution options for the W, M, and f options.
...
llvm-svn: 16326
2004-09-14 01:59:31 +00:00
Reid Spencer
4de872f623
Support the -WX, -f -M options as pass throughs
...
Change force option from -f to -F
Support the -strip option
Make changes to reflect different interface in sys::Program
llvm-svn: 16325
2004-09-14 01:58:45 +00:00
Reid Spencer
df05ec7e0d
Implement the GetLibraryPath function.
...
llvm-svn: 16323
2004-09-14 00:16:39 +00:00
Reid Spencer
41c5e9f2fc
Add the GetLibraryPath method.
...
llvm-svn: 16322
2004-09-13 23:46:23 +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
Misha Brukman
77aedd18c7
Sparc cannot link shared objects (libtool issue) which affects Stacker.
...
llvm-svn: 16320
2004-09-13 22:42:54 +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
Reid Spencer
cdbb9d246c
Change banner name to reflect actual program this Makefile is for.
...
llvm-svn: 16311
2004-09-13 21:15:19 +00:00
Reid Spencer
eafdda000c
Get rid of compile warning by having llvmExecve return the result of its
...
call to executeProgram.
llvm-svn: 16306
2004-09-13 15:37:33 +00:00
Reid Spencer
56d4b17288
Initial implementation of llvm-ld: stolen from gccld.
...
llvm-svn: 16305
2004-09-13 01:27:53 +00:00
Misha Brukman
01592c2a53
Add LLEE into compilation, but not for Sparc
...
llvm-svn: 16304
2004-09-13 01:18:30 +00:00
Reid Spencer
b956fc1138
Excise the -L option since llvm-link should not do library searches. It
...
just links bytecode files together.
llvm-svn: 16303
2004-09-12 23:39:42 +00:00
Reid Spencer
1a8e15e356
Excise dependent library linking at Chris' request. llvm-link is intended
...
to provide only the simplest linking of LLVM modules without trying to be
complete. Dependent library linking will be added to gccld or its successor
llvm-svn: 16302
2004-09-12 23:08:29 +00:00
Misha Brukman
c3ba6e2f4b
Squelch compilation warnings on Sparc
...
llvm-svn: 16301
2004-09-12 23:01:24 +00:00
Misha Brukman
afab5f9091
* Fix grammar
...
* Convert tabs to spaces
llvm-svn: 16300
2004-09-12 22:40:40 +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
746dbfebc8
Fix the replace method to assert if an item was erased from the set but not
...
found in the vector. Previously, it just ignored this condition.
llvm-svn: 16296
2004-09-11 20:38:25 +00:00
Reid Spencer
987319d3a7
Correct the file header to reflect the new "examples" home for the file.
...
llvm-svn: 16295
2004-09-11 20:30:11 +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