Chris Lattner
83025b214b
This header is dead
...
llvm-svn: 10470
2003-12-15 06:39:18 +00:00
Alkis Evlogimenos
8870674da7
Change preserve all claim to just preserve live variables and phielimination.
...
llvm-svn: 10469
2003-12-15 04:55:38 +00:00
Chris Lattner
ab475b85f7
New testcase
...
llvm-svn: 10468
2003-12-15 00:03:53 +00:00
Chris Lattner
884e824534
Refactor code just a little bit, allowing us to implement TailCallElim/return_constant.ll
...
llvm-svn: 10467
2003-12-14 23:57:39 +00:00
Chris Lattner
0fcc74f1df
new test
...
llvm-svn: 10466
2003-12-14 23:39:34 +00:00
Chris Lattner
1809966189
Finegrainify namespacification
...
llvm-svn: 10465
2003-12-14 23:25:48 +00:00
Chris Lattner
c9499b6a20
Finegrainify namespacification
...
llvm-svn: 10464
2003-12-14 21:35:53 +00:00
Chris Lattner
dd978ce8c5
Finegrainify namespacification
...
Make the Timer code give correct user/system/user+system times when -track-memory is enabled
llvm-svn: 10463
2003-12-14 21:27:33 +00:00
Alkis Evlogimenos
fc2234ff4b
I wonder how this didn't cause any tests to fail...
...
llvm-svn: 10462
2003-12-14 13:30:19 +00:00
Alkis Evlogimenos
aaba4639f8
Change interface of MachineOperand as follows:
...
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
b) add isUse(), isDef()
c) rename opHiBits32() to isHiBits32(),
opLoBits32() to isLoBits32(),
opHiBits64() to isHiBits64(),
opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
llvm-svn: 10461
2003-12-14 13:24:17 +00:00
Alkis Evlogimenos
fbeb3b02c3
Change preserve all claim to just preserve live variables and phielimination.
...
llvm-svn: 10460
2003-12-14 10:14:23 +00:00
Chris Lattner
5a8a7282dc
Rev the release notes to 1.2
...
llvm-svn: 10459
2003-12-14 05:03:43 +00:00
Chris Lattner
d1c371c32c
Do not promote volatile alias sets into registers
...
llvm-svn: 10458
2003-12-14 04:52:31 +00:00
Chris Lattner
0a14060ce2
Finegrainify namespacification
...
Add capability to represent volatile AliasSet's
Propagate this information from loads&stores into the aliassets
llvm-svn: 10457
2003-12-14 04:52:11 +00:00
Chris Lattner
310da97240
Add capability to represent volatile AliasSet's
...
llvm-svn: 10456
2003-12-14 04:51:34 +00:00
Chris Lattner
29da20f96c
Testcase for PR179
...
llvm-svn: 10455
2003-12-14 04:46:07 +00:00
Alkis Evlogimenos
4f7f017ab5
When reserving a preallocated register spill the aliases of this
...
register too.
llvm-svn: 10450
2003-12-13 11:58:10 +00:00
Alkis Evlogimenos
7dbdf3839c
Ignore non-allocatable physical registers in live interval analysis.
...
llvm-svn: 10449
2003-12-13 11:11:02 +00:00
Alkis Evlogimenos
ed53b35076
Expire any active intervals left when register allocation is done.
...
llvm-svn: 10448
2003-12-13 05:50:19 +00:00
Alkis Evlogimenos
e6dc614c3c
Add instruction numbers to debugging output.
...
llvm-svn: 10447
2003-12-13 05:48:57 +00:00
Alkis Evlogimenos
904cd6d48c
Add a floating point killer pass. This pass runs before register
...
allocaton on the X86 to add information to the machine code denoting
that our floating point stackifier cannot handle virtual point
register that are alive across basic blocks. This pass adds an
implicit def of all virtual floating point register at the end of each
basic block.
llvm-svn: 10446
2003-12-13 05:36:22 +00:00
Alkis Evlogimenos
06f379a278
Handle explicit physical register defs.
...
llvm-svn: 10445
2003-12-13 05:26:39 +00:00
Alkis Evlogimenos
9bced9455a
Remove unecessary if statements when looping on ImplicitDefs.
...
llvm-svn: 10444
2003-12-13 01:20:58 +00:00
Chris Lattner
6f9e65ef7a
Try rewording stuff talking about unwinding. Hopefully it will make llvm sound less bad, and still make John happy. :)
...
llvm-svn: 10439
2003-12-12 21:33:08 +00:00
Chris Lattner
b84f3323f7
Link to lists, incorporate feedback from Tanya
...
llvm-svn: 10438
2003-12-12 21:22:16 +00:00
John Criswell
8cc89ca6bc
Updated configure script so that it does not configure llvm/project
...
directories that do not contain a configure script.
llvm-svn: 10437
2003-12-12 20:15:23 +00:00
John Criswell
6f73d28adf
Don't configure directories that don't have a configure script (i.e Stacker).
...
llvm-svn: 10436
2003-12-12 20:09:33 +00:00
John Criswell
c6efb11f02
Modified cast so that it converts the int to a long before casting to
...
a pointer. This evades a warning emitted by GCC when we cast from
unsigned int (32 bit) to void * (64 bit) on SparcV9.
llvm-svn: 10435
2003-12-12 19:57:48 +00:00
John Criswell
604cd3c85f
Fixed some minor typos.
...
Moved the new gccld feature to be in the list of enhancements.
Re-worded information on SPEC 2000 and Sparc support to try to make them
more accurate and precise.
llvm-svn: 10434
2003-12-12 19:54:20 +00:00
Brian Gaeke
13a2e54e0c
Dynamically get the right-sized member of a GenericValue to hold a size_t, and
...
use it to return the result of strlen.
llvm-svn: 10433
2003-12-12 15:38:06 +00:00
Chris Lattner
542d24f530
PR177 is no longer among the open
...
llvm-svn: 10432
2003-12-12 07:26:25 +00:00
Chris Lattner
89af2d5a36
Implement the ExecutionEngine::getPointerToFunctionOrStub by forwarding the
...
request on to the TargetMachine if it supports the getJITStubForFunction method
llvm-svn: 10431
2003-12-12 07:12:02 +00:00
Chris Lattner
2e7416cb04
Implement the TargetMachine::getJITStubForFunction method for X86, finegrainify
...
namespacification.
llvm-svn: 10430
2003-12-12 07:11:18 +00:00
Chris Lattner
538dffd9fa
Add new getJITStubForFunction method, which may optionally be implemented by
...
targets for better performance.
llvm-svn: 10429
2003-12-12 07:10:32 +00:00
Chris Lattner
fa41ea3397
Doxygenify comments, remove extraneous #include
...
llvm-svn: 10428
2003-12-12 06:31:42 +00:00
Chris Lattner
4b34b35549
Note about bytecode format
...
llvm-svn: 10427
2003-12-12 05:52:39 +00:00
Brian Gaeke
8657acc07e
Since we are using a gep_type_iterator, we apparently must get the type
...
index by using I.getOperand() here. This was failing an assertion on
basically every struct access.
llvm-svn: 10426
2003-12-12 05:13:05 +00:00
Brian Gaeke
e60a0289d4
Use uintptr_t for pointer values in the ExecutionEngine.
...
llvm-svn: 10425
2003-12-12 05:06:09 +00:00
Brian Gaeke
1fe9f83b52
Fix typo in comment
...
llvm-svn: 10424
2003-12-12 04:58:13 +00:00
Chris Lattner
eb8b184825
These aren't bugs, don't phrase them like they are.
...
llvm-svn: 10423
2003-12-12 04:56:02 +00:00
Chris Lattner
88e24cffe6
I'm a spaz
...
llvm-svn: 10422
2003-12-12 04:51:00 +00:00
Chris Lattner
d25f26fce8
Add note about Stacker, duh!
...
llvm-svn: 10421
2003-12-12 04:45:09 +00:00
Misha Brukman
8395d737f2
Break lines and add space after ':' to be consistent in layout.
...
llvm-svn: 10420
2003-12-12 04:37:31 +00:00
Chris Lattner
e76e9abeab
More updates for the release
...
llvm-svn: 10419
2003-12-12 04:25:33 +00:00
Brian Gaeke
d24cfed317
Throw better error messages, by calling strerror(errno) when we
...
get an error inside the bytecode reader.
llvm-svn: 10415
2003-12-12 00:47:44 +00:00
Brian Gaeke
1f147379b7
Add an assertion to make sure we are at least getting argv[0] right.
...
Use a clearer error message when we fail to load a program.
llvm-svn: 10414
2003-12-12 00:47:19 +00:00
Chris Lattner
e4151eba68
Update release notes for PR86 and C++ support
...
llvm-svn: 10413
2003-12-11 23:31:21 +00:00
Chris Lattner
1eed55d6b9
Factor out some duplicated code, implement the rest of the cases in
...
BasicAA/2003-12-11-ConstExprGEP.ll
llvm-svn: 10412
2003-12-11 23:20:16 +00:00
Chris Lattner
ace41617c7
Rename variable to avoid confusing it with the global G
...
llvm-svn: 10411
2003-12-11 22:49:32 +00:00
Chris Lattner
6ea17f77f8
Fix PR86. This makes basicaa _SIGNIFICANLY_ more aggressive with getelementptr's
...
llvm-svn: 10410
2003-12-11 22:44:13 +00:00
Chris Lattner
34399dda2d
Fix LICM/2003-12-11-SinkingToPHI.ll, and quite possibly all of the other known problems in the universe.
...
llvm-svn: 10409
2003-12-11 22:23:32 +00:00
Chris Lattner
99146bb2a7
New testcase that LICM is breaking crafty on
...
llvm-svn: 10408
2003-12-11 22:15:11 +00:00
Chris Lattner
62aff8412a
Finegrainify namespacification
...
Add new -print-cfg-only pass
llvm-svn: 10407
2003-12-11 21:48:18 +00:00
Chris Lattner
027253b0d5
verifyFunction depends on dominator info, which levelraise does not declare
...
that it needs. This is pretty scary code! This fixes
Regression.Transforms.LevelRaise.2002-07-16-SourceAndDestCrash
Regression.Transforms.LevelRaise.2002-07-31-AssertionFailure
llvm-svn: 10406
2003-12-11 21:47:37 +00:00
Chris Lattner
15b2e377ae
Fix test that was failing because we were optimizing the program better than expected :)
...
llvm-svn: 10404
2003-12-11 21:06:43 +00:00
Chris Lattner
659a500e57
New testcase for PR86
...
llvm-svn: 10403
2003-12-11 19:16:30 +00:00
Chris Lattner
ed9fc4baad
Run tailcall elimination in a more logical place
...
llvm-svn: 10402
2003-12-11 17:50:32 +00:00
Chris Lattner
17790fbb5b
Fix a glaring bug
...
llvm-svn: 10400
2003-12-11 06:06:28 +00:00
Chris Lattner
bc1197f292
Realize the gep P, <zeros> must aliases P.
...
This is a partial fix for PR 86
llvm-svn: 10399
2003-12-11 06:02:00 +00:00
Chris Lattner
abb3bea6ce
With Brian's change to AA.h we can now clean out this uglyness
...
llvm-svn: 10398
2003-12-11 05:44:59 +00:00
Brian Gaeke
b453bc5957
IncludeFile hack to pull in BasicValueNumbering whenever ValueNumbering.h
...
is included.
llvm-svn: 10397
2003-12-11 05:05:56 +00:00
Brian Gaeke
b06e7b1766
IncludeFile hack to pull in BasicAliasAnalysis whenever AliasAnalysis.h
...
is included.
llvm-svn: 10396
2003-12-11 05:05:02 +00:00
Brian Gaeke
a03eeb0b7d
Separate out target for cleaning up qmtest garbage.
...
llvm-svn: 10395
2003-12-11 04:48:38 +00:00
Brian Gaeke
4c563b8af1
Add more fixed bugs. Keep llvm core section sorted by pr#. (Is that ok?)
...
llvm-svn: 10394
2003-12-11 04:40:58 +00:00
Chris Lattner
95c13c92ff
Stop laughing Misha
...
llvm-svn: 10393
2003-12-11 00:58:34 +00:00
Brian Gaeke
36fb4f19cd
In getObjectType(), doxygenify comment, and take a pointer to the
...
beginning of the archive member data as an argument.
Get rid of ParseLongFilenameSection(), which is dead.
In ReadArchiveBuffer(), implement support for 4.4BSD/MacOSX long filenames.
This is kind of invasive, because they prepend the long filename to the archive
member data, and then lie about the size. So we have to keep track of the real
size.
llvm-svn: 10392
2003-12-11 00:38:04 +00:00
Brian Gaeke
e869e0cfa8
Turn off "attribute weak" to pacify Mac OS X's system compiler, which prints a
...
warning whenever it sees it.
llvm-svn: 10391
2003-12-11 00:24:36 +00:00
Brian Gaeke
2bba152fb8
Fix typo in comment. Add prototype for getConstantExprValue().
...
llvm-svn: 10390
2003-12-11 00:23:28 +00:00
Brian Gaeke
5a8ec7d5f6
Add support for --debug-only=interpreter, to print out instrs before
...
interpreting them.
Move support for getting the value of a ConstantExpr into
getConstantExprValue(), and add support for the rest of the different
kinds of ConstantExprs. (I don't think I like ConstantExprs!)
This requires separate procedures executeShlInst() and executeShrInst().
Reduce the number of references to TheEE.
Get rid of an old comment mentioning annotations.
Fix exitCalled(), which was crashing the Interpreter. This was a
leftover from the return-value code refactoring.
llvm-svn: 10389
2003-12-11 00:22:59 +00:00
John Criswell
fb55ac24ec
This appears to fix Bug 172 and does not break any other feature tests or
...
regression tests.
llvm-svn: 10388
2003-12-10 22:51:41 +00:00
Chris Lattner
6281fd3ead
Fix bug: LICM/sink_multiple_exits.ll
...
Thanks for pointing this out John :)
llvm-svn: 10387
2003-12-10 22:35:56 +00:00
Chris Lattner
55c2113b7b
Don't allow dead instructions to stop sinking early.
...
llvm-svn: 10386
2003-12-10 20:43:29 +00:00
Chris Lattner
713907e2b8
Fix bug: IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx
...
llvm-svn: 10385
2003-12-10 20:43:04 +00:00
Chris Lattner
a8953e38d2
A new testcase, reduced by bugpoint
...
llvm-svn: 10384
2003-12-10 20:39:53 +00:00
Chris Lattner
7e5bd59da2
Finegrainify namespacification
...
Fix bug: LowerInvoke/2003-12-10-Crash.llx
llvm-svn: 10382
2003-12-10 20:22:42 +00:00
Chris Lattner
02f7e71d35
new testcase
...
llvm-svn: 10381
2003-12-10 20:18:09 +00:00
John Criswell
3c721a8b15
Fixed a comma error.
...
Added the --disable-threads option to GCC configure (to avoid pthread errors
when building code with LLVM).
llvm-svn: 10380
2003-12-10 20:04:13 +00:00
Brian Gaeke
f2484742b7
Support 'make install' for LLVM include files.
...
llvm-svn: 10378
2003-12-10 18:41:20 +00:00
John Criswell
65b3acdd5b
Upon Chris's suggestion, moved the #ifdef's to the generated C code.
...
This makes LLVM and the generated C code more portable.
llvm-svn: 10377
2003-12-10 18:17:57 +00:00
Chris Lattner
ccd9f3c1f8
Finegrainify namespacification
...
Reorder #includes
Implement: IndVarsSimplify/2003-12-10-IndVarDeadCode.ll
llvm-svn: 10376
2003-12-10 18:06:47 +00:00
John Criswell
83fb097ed0
Fixed the CBE on Solaris/Sparc. We need to define the return value of
...
the write() system call because it returns 64 bits on Solaris 64 bit,
and an implicit return value of int says it returns 32 bits.
Admittedly, this is a bit of a hack.
llvm-svn: 10375
2003-12-10 18:06:34 +00:00
Chris Lattner
ae974caa05
New testcase
...
llvm-svn: 10374
2003-12-10 17:57:38 +00:00
Chris Lattner
7710f2f49e
Finegrainify namespacification
...
Fix bug: LoopSimplify/2003-12-10-ExitBlocksProblem.ll
llvm-svn: 10373
2003-12-10 17:20:35 +00:00
Chris Lattner
679b49d7f5
New testcase which caused a bunch of tests to break last night with more
...
aggressive LICM
llvm-svn: 10372
2003-12-10 17:09:35 +00:00
Chris Lattner
6364314a6e
Simplify code
...
llvm-svn: 10371
2003-12-10 16:58:24 +00:00
Chris Lattner
48b4b852b4
Avoid performing two identical lookups when one will suffice
...
llvm-svn: 10370
2003-12-10 16:57:24 +00:00
Chris Lattner
edda1af35a
Make LICM itself a bit more efficient, and make the generated code more efficient too: don't insert a store in every exit block, because a particular block may be exited to more than once by a loop
...
llvm-svn: 10369
2003-12-10 15:56:24 +00:00
John Criswell
cf657689bb
Removed the pthread_once() function because it doesn't actually do
...
what it's supposed to do.
Just leave this library as a dummy library for now until we have time to
port a real pthread library (or get glibc working).
llvm-svn: 10368
2003-12-10 15:43:07 +00:00
Chris Lattner
bff5116da6
Finegrainify namespacification
...
llvm-svn: 10367
2003-12-10 15:34:03 +00:00
Chris Lattner
8dee84159f
Finegrainify namespacification
...
Provide a context module to WriteAsOperand
llvm-svn: 10366
2003-12-10 15:33:59 +00:00
John Criswell
c619c3cd14
Added the --host= option to the Sparc configuration directions.
...
llvm-svn: 10364
2003-12-10 15:27:29 +00:00
John Criswell
eaf4835c65
Dummy implementation of the pthread library.
...
This is needed since libstdc++ uses pthread_once().
llvm-svn: 10360
2003-12-10 14:46:36 +00:00
Chris Lattner
98cd4bf06f
Make 'opt -o -' work correctly instead of creating a file named './-'
...
llvm-svn: 10359
2003-12-10 14:41:33 +00:00
Chris Lattner
aaaea51090
Implement instruction sinking out of loops. This still can do a little bit
...
better job, but this is the majority of the work. This implements
LICM/sink*.ll
llvm-svn: 10358
2003-12-10 06:41:05 +00:00
Chris Lattner
289df6b3de
new testcase, checking to ensure we handle yet-another spiffy case correctly
...
llvm-svn: 10357
2003-12-10 05:42:23 +00:00
Brian Gaeke
e545345131
Don't assume that system headers define 'uint' or 'ulong' as types.
...
llvm-svn: 10356
2003-12-10 05:06:38 +00:00
Brian Gaeke
09db53be57
Fix apparent copy-and-paste-o.
...
Get rid of %debug - Mac OS X bison doesn't have it. sigh.
llvm-svn: 10352
2003-12-10 04:33:07 +00:00
Brian Gaeke
0f148bcbc0
Add support for installing tool executables.
...
llvm-svn: 10351
2003-12-10 00:26:28 +00:00
Brian Gaeke
a3664d9d18
Add installation directories and commands, standardly provided by configure.
...
llvm-svn: 10350
2003-12-10 00:25:32 +00:00
Chris Lattner
9c450fc665
Yet another hard testcase
...
llvm-svn: 10349
2003-12-09 23:29:25 +00:00
Chris Lattner
6c237bcdf2
Do not insert one entry PHI nodes in split exit blocks!
...
llvm-svn: 10348
2003-12-09 23:12:55 +00:00
Brian Gaeke
ddc088a9e4
Check in the llvm-native-gcc script, which I use in the process of
...
debugging front-end miscompilations.
llvm-svn: 10347
2003-12-09 22:23:24 +00:00
Chris Lattner
720348331c
Add a new testcase which breaks the sinker because the loop canonnicalization
...
pass does not do a canonnicalization that the sinker wants.
llvm-svn: 10346
2003-12-09 22:05:08 +00:00
Chris Lattner
b7924b166a
Fix buggy test
...
llvm-svn: 10345
2003-12-09 21:45:23 +00:00
Chris Lattner
88ca84b809
New testcase for sinking operations from loops with multiple exits
...
llvm-svn: 10344
2003-12-09 21:40:36 +00:00
Chris Lattner
eea64fd916
Make the test a bit harder so that we test to ensure that _both_ instructions
...
are sunk
llvm-svn: 10343
2003-12-09 20:50:20 +00:00
Chris Lattner
65c1193d55
Refactor code a little bit, eliminating the gratuitous InstVisitor, which
...
should make subsequent changes simpler. This also allows us to hoist vaarg
and vanext instructions
llvm-svn: 10342
2003-12-09 19:32:44 +00:00
Chris Lattner
c05176843e
Fine grainify namespacification
...
Code cleanups
Make LICM::SafeToHoist marginally more efficient
llvm-svn: 10341
2003-12-09 17:18:00 +00:00
Chris Lattner
d719cd1e5b
New testcases for LICM improvement: code sinking.
...
llvm-svn: 10339
2003-12-09 16:56:51 +00:00
Chris Lattner
9056881d76
Improve portability with Mac OS/X
...
llvm-svn: 10338
2003-12-09 16:49:12 +00:00
Chris Lattner
9c9240447b
Improve testcase portability on OS/X
...
llvm-svn: 10337
2003-12-09 16:48:24 +00:00
Chris Lattner
db677331f2
New testcase that is not actually handled yet, but should be in the future.
...
This is here to remind me to get back to this after a while.
llvm-svn: 10336
2003-12-09 16:26:42 +00:00
John Criswell
7dd715180d
Added the -h option for compatibility with other linkers.
...
llvm-svn: 10335
2003-12-09 15:39:11 +00:00
Chris Lattner
18b6f0f46d
Whoops, forgot to check this in. :)
...
llvm-svn: 10334
2003-12-08 23:41:09 +00:00
Chris Lattner
50663a1a78
Implement: TailCallElim/accum_recursion_constant_arg.ll
...
Also make sure to clean up any PHI nodes that are inserted which are pointless.
llvm-svn: 10333
2003-12-08 23:37:35 +00:00
Chris Lattner
198e620752
Implement: test/Regression/Transforms/TailCallElim/accum_recursion.ll
...
We now insert accumulator variables as necessary to eliminate tail recursion
more aggressively. This is still fairly limited, but allows us to transform
fib/factorial, and other functions into nice happy loops. :)
llvm-svn: 10332
2003-12-08 23:19:26 +00:00
Chris Lattner
3c31f8c5c3
New testcase for automatic insertion of accumulator variables to eliminate
...
tail recursion
llvm-svn: 10331
2003-12-08 23:16:25 +00:00
Chris Lattner
b662b064f6
Add a missing semi colon, which breaks bison 1.5
...
llvm-svn: 10325
2003-12-08 20:15:33 +00:00
Chris Lattner
102779e12a
Simplify makefiles by just explicitly listing directories
...
llvm-svn: 10324
2003-12-08 20:12:46 +00:00
John Criswell
ffc722a7f3
Updated build instructions for Sparc.
...
llvm-svn: 10323
2003-12-08 19:59:14 +00:00
John Criswell
beb0b29871
Fixed the dynamic generation of the list of subdirectories to compile.
...
llvm-svn: 10322
2003-12-08 17:52:32 +00:00
Chris Lattner
86ad4c05d0
implement method
...
llvm-svn: 10321
2003-12-08 08:23:04 +00:00
Chris Lattner
e6492f1057
Use the new method, though noone currently implements it any better than before
...
llvm-svn: 10320
2003-12-08 08:22:48 +00:00
Chris Lattner
d71a033370
add two new virtual functions:
...
The first returns a function pointer or a stub if it's not already generated
The second exposes what was previously JIT specific state to general clients
llvm-svn: 10319
2003-12-08 08:22:01 +00:00
Chris Lattner
c0e1b071b9
Finegrainify namespacification
...
llvm-svn: 10318
2003-12-08 08:06:28 +00:00
Chris Lattner
bd7356a5d3
Makefile updates contributed by Reid
...
llvm-svn: 10317
2003-12-08 07:08:00 +00:00
Chris Lattner
d2a55f3041
New bug
...
llvm-svn: 10316
2003-12-08 06:33:19 +00:00
Misha Brukman
d899432617
`effect' is the noun, `affect' is the verb.
...
llvm-svn: 10315
2003-12-08 06:22:05 +00:00
Chris Lattner
b8d989e055
New testcase for PR165
...
llvm-svn: 10314
2003-12-08 06:18:37 +00:00
Chris Lattner
408916bc32
Add note about sucky suse compiler
...
llvm-svn: 10313
2003-12-08 05:43:19 +00:00
Chris Lattner
a7b6f3ab9c
Cleanup and restructure the code to make it easier to read and maintain.
...
The only functionality change is that we now implement:
Regression/Transforms/TailCallElim/intervening-inst.ll
Which is really kinda pointless, because it means that trivially dead code
does not interfere with -tce, but trivially dead code probably wouldn't be
around anytime when this pass is run anyway.
The point of including this change it to support other more aggressive
transformations when we have the analysis capabilities to do so.
llvm-svn: 10312
2003-12-08 05:34:54 +00:00
Chris Lattner
82ac26c8ba
New testcase, this should be -tailcallelim'inated
...
llvm-svn: 10311
2003-12-08 05:32:48 +00:00
Chris Lattner
16f1a8f761
Since ssaification of the varargs builtings, the vaarg instruction no longer
...
can write to memory.
llvm-svn: 10310
2003-12-08 05:29:33 +00:00
Brian Gaeke
ed16349810
Regenerated using autoheader-2.57
...
llvm-svn: 10309
2003-12-08 00:57:01 +00:00
Chris Lattner
69d47e7314
Bugpoint had appalingly bad grammar. Fix some of it.
...
llvm-svn: 10308
2003-12-07 02:43:09 +00:00
Chris Lattner
233b069113
Do not leave a bunch of crud lying around
...
llvm-svn: 10307
2003-12-07 02:31:03 +00:00
Chris Lattner
b762ddbdf1
It is now after pldi. This issue has been fixed, so remove the hack
...
llvm-svn: 10306
2003-12-07 01:44:18 +00:00
Chris Lattner
771804b541
Implement RaiseAllocations/FreeCastConstantExpr.ll
...
llvm-svn: 10305
2003-12-07 01:42:08 +00:00
Chris Lattner
ffb2d08c4a
New testcase that the raiseallocations pass should be able to handle.
...
llvm-svn: 10304
2003-12-07 01:25:36 +00:00
Chris Lattner
8427bffb9a
* Finegrainify namespacification
...
* Transform: free <ty>* (cast <ty2>* X to <ty>*) into free <ty2>* X
llvm-svn: 10303
2003-12-07 01:24:23 +00:00
Chris Lattner
d1ea9cd345
The recalclulate method was a nasty hack that was once used by the -cee pass,
...
which never worked itself. The cee pass still doesn't work, but it doesn't use
this method anymore anyway, so eliminate the method.
llvm-svn: 10302
2003-12-07 00:55:32 +00:00
Chris Lattner
00f5167693
Completely rewrite domset, idom, and domtree implementation. Now it is based
...
on the algorithm for directly computing immediate dominators presented in this
paper:
A Fast Algorithm for Finding Dominators in a Flowgraph
T. Lengauer & R. Tarjan, ACM TOPLAS July 1979, pgs 121-141.
This _substantially_ speeds up construction of all dominator related information.
Post-dominators to follow.
llvm-svn: 10301
2003-12-07 00:38:08 +00:00
Chris Lattner
31b77bbf7e
Rewrite dominators implementation. Now domset is constructed from immdom,
...
instead of the other way around.
llvm-svn: 10300
2003-12-07 00:36:16 +00:00
Chris Lattner
f9f7c2d302
Finegrainify namespacification
...
Move method out of generic dominators construction code
llvm-svn: 10299
2003-12-07 00:35:42 +00:00
Chris Lattner
d48220fabe
Move this method out of the generic dominators calculation code
...
llvm-svn: 10298
2003-12-07 00:35:19 +00:00
Tanya Lattner
c970a38824
New command line parsing. This isn't as perfect as I would have liked. The CommandLine Library needs to be extended, in order to parse the options and allow for optional dashes. In addition, the help option isn't correct since I do the parsing mostly myself. But this is in the ocorrect ar format.
...
llvm-svn: 10297
2003-12-06 23:01:25 +00:00
Chris Lattner
dca8b84bde
Stop using the -fshort-enum compile option
...
llvm-svn: 10296
2003-12-06 20:59:45 +00:00
Chris Lattner
d98fecb76e
Fix awkward wording
...
llvm-svn: 10295
2003-12-06 20:24:46 +00:00
Chris Lattner
ba7bd4720d
Cleanup the release notes in preparation for the release.
...
llvm-svn: 10294
2003-12-06 20:22:41 +00:00
Brian Gaeke
7ee7b40af5
Add check for pthread_mutex_lock() in -lpthread (or otherwise).
...
Regenerated configure w/ autoconf-2.57.
llvm-svn: 10293
2003-12-05 19:29:01 +00:00
Alkis Evlogimenos
e59ad4b441
Make assertion stricter. Since the source operands are allocated at
...
this point, the second operand must be a physical register (it cannot
be a virtual one).
llvm-svn: 10292
2003-12-05 11:31:39 +00:00
Alkis Evlogimenos
f8fe176204
Fix bug in register spilling when a preallocated live range overlaps a
...
potential register assignment.
llvm-svn: 10291
2003-12-05 11:17:55 +00:00
Alkis Evlogimenos
2de099e54f
Move operator<<(std::ostream&, const LiveInterval&) out of the header file.
...
llvm-svn: 10290
2003-12-05 10:38:28 +00:00
Alkis Evlogimenos
ed28ca93ef
Sort live intervals by increasing start point.
...
llvm-svn: 10289
2003-12-05 10:32:01 +00:00
Alkis Evlogimenos
5fe0031c68
Improve debugging output and clean up some code.
...
llvm-svn: 10288
2003-12-04 03:57:28 +00:00
Chris Lattner
40d2aeb28f
Finegrainify namespacification
...
Fix regressions ScalarRepl/basictest.ll & arraytest.ll
llvm-svn: 10287
2003-12-02 17:43:55 +00:00
Brian Gaeke
93823ed30c
Lock abstraction, introduced with a view toward making the JIT thread-safe.
...
Eventually.
llvm-svn: 10284
2003-12-01 21:33:31 +00:00
Chris Lattner
e0da6ec8b6
Make stripped-bytecode a recursive target
...
llvm-svn: 10283
2003-12-01 07:28:25 +00:00
Chris Lattner
9b0eb852c7
Add new block number
...
llvm-svn: 10281
2003-12-01 07:08:06 +00:00
Chris Lattner
d9cf9b30eb
Emit & read more compressed bytecode by not emitting a bytecodeblock for
...
each basic block in function. Instead, just emit a stream of instructions,
chopping up basic blocks based on when we find terminator instructions. This
saves a fairly substantial chunk of bytecode space. In stripped, sample
cases, for example, we get this reduction in size:
197.parser: 163036 -> 137180: 18.8% reduction
254.gap : 844936 -> 689392: 22.6%
255.vortex: 621724 -> 528444: 17.7%
...
Not bad for something this simple. :) Note that this doesn't require a new
bytecode version number at all, though version 1.1 should not need to support
the old format.
llvm-svn: 10280
2003-12-01 07:05:31 +00:00
Chris Lattner
7c290ed25a
Remove unused enum value
...
llvm-svn: 10279
2003-12-01 05:40:37 +00:00
Brian Gaeke
fed9ed96a4
This may fix the "0 dirs" stuff we get in the nightly tests when they are
...
checking out over remote cvs connections.
llvm-svn: 10278
2003-12-01 05:31:12 +00:00
Chris Lattner
cc04614ee5
Add some "useful" methods
...
llvm-svn: 10277
2003-12-01 05:30:29 +00:00
Chris Lattner
6d760d7cb3
Add an option to enable the SSA based peephole optimizer.
...
Eventually this pass will provide substantially better code in the interim between when we
have a crappy isel and nice isel. Unfortunately doing so requires fixing the backend to
actually SUPPORT all of the fancy addressing modes that we now generate, and writing a DCE
pass for machine code. Each of these is a fairly substantial job, so this will remain disabled
for the immediate future. :(
llvm-svn: 10276
2003-12-01 05:18:30 +00:00
Chris Lattner
a913723309
Add a new SSA-based peephole optimizer which includes copy propagation and
...
folding of instructions into addressing modes. This creates lots of dead
instructions, which are currently not deleted. It also creates a lot of
instructions that the X86 backend currently cannot handle. :(
llvm-svn: 10275
2003-12-01 05:15:28 +00:00
Chris Lattner
128937bbe2
generalize the instruction types permitted a bit
...
llvm-svn: 10274
2003-12-01 05:13:56 +00:00
Chris Lattner
6cf03df531
fix broken link
...
llvm-svn: 10273
2003-12-01 05:12:09 +00:00
Alkis Evlogimenos
26f17e73eb
Print instructions before register allocation is performed. Also fix
...
bug where spill instructions were added to the next basic block
instead of the end of the current one if the instruction that required
the spill was the last in the block.
llvm-svn: 10272
2003-11-30 23:40:39 +00:00
Chris Lattner
0fcba7f6b3
add missing dependency
...
llvm-svn: 10271
2003-11-30 09:22:42 +00:00
Chris Lattner
d8218923ae
Finegrainify namespacification
...
llvm-svn: 10270
2003-11-30 06:13:25 +00:00
Chris Lattner
121d04d1ae
A line was missing
...
llvm-svn: 10269
2003-11-30 05:46:14 +00:00
Alkis Evlogimenos
0aa40f8db0
Remove "numReloaded" statistic.
...
llvm-svn: 10268
2003-11-30 05:15:36 +00:00
Chris Lattner
98e72b4bb3
Emit constants to one contiguous block, but this time, respect alignment constraints.
...
If this doesn't work Misha, feel free to revert it.
llvm-svn: 10267
2003-11-30 04:23:21 +00:00
Misha Brukman
873cf93b6e
Go back to allocating memory for each constant separately. Since SPARCs do not
...
allow unaligned loads, that is probably the problem I've been seeing in numerous
SPARC test cases failing. X86, on the other hand, just slows down unaligned
accesses, since it must make 2 aligned accesses for each unaligned one.
llvm-svn: 10266
2003-11-30 00:50:53 +00:00
Chris Lattner
58efc9e0fe
be 3.4 happy
...
llvm-svn: 10265
2003-11-29 20:04:13 +00:00
Chris Lattner
839030b3a8
be GCC 3.4 clean
...
llvm-svn: 10264
2003-11-29 19:55:12 +00:00
Chris Lattner
594654f17d
Hrm, how could this compile?
...
llvm-svn: 10263
2003-11-29 19:55:02 +00:00
Chris Lattner
982b285232
Fix compatibility with gcc 3.4
...
llvm-svn: 10262
2003-11-29 19:45:47 +00:00
Chris Lattner
3edb8478a4
Build _lib_crtend.a, not crtend.a
...
llvm-svn: 10260
2003-11-29 10:24:57 +00:00
Chris Lattner
d52319f54e
Don't print out tons of crap
...
llvm-svn: 10259
2003-11-29 10:14:17 +00:00
Chris Lattner
910c8d834e
Rewrite makefile logic to build an archive instead of a .o file. This is
...
intended to address PR142
llvm-svn: 10257
2003-11-29 10:05:30 +00:00
Chris Lattner
fe8f8b4947
Simplify some rules
...
Move LGCCLDPROG from test/Makefile.tests
llvm-svn: 10256
2003-11-29 09:50:15 +00:00
Chris Lattner
462444e1ea
Move rule to top-level makefile
...
llvm-svn: 10255
2003-11-29 09:49:14 +00:00
Chris Lattner
46c6693781
Add readme and spiff up makefile header
...
llvm-svn: 10254
2003-11-29 09:22:53 +00:00
Chris Lattner
212e596ede
Testcase for duplicated cleanup work (PR11). Note that this testcase is not actually
...
tested automatically, so it is practically useless. However, it seemed silly to throw
away my testcase, so here it is.
llvm-svn: 10253
2003-11-29 09:10:50 +00:00
Chris Lattner
8384f97ee4
Fix test: Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll
...
Some gep generalization changes
llvm-svn: 10252
2003-11-29 05:31:25 +00:00
Chris Lattner
6d94d10377
new testcase for problem causing 2003-10-12-GlobalVarInitializers failures
...
llvm-svn: 10251
2003-11-29 05:19:15 +00:00
Chris Lattner
8abd7dca76
The function resolving pass must be run, even if -disable-opt is specified
...
llvm-svn: 10250
2003-11-28 09:44:03 +00:00
Chris Lattner
fcaa6fbbd8
* The return value of LinkLibraries is ignored, so remove it.
...
* Finegrainify namespacification of Linker.cpp
* If linking a library in fails, do not STOP LINKING IN LIBRARIES AND
CONTINUE ANYWAY! Instead, just output the warning, and keep going. :)
llvm-svn: 10249
2003-11-28 07:44:09 +00:00
Chris Lattner
1fdd8a45c3
fix gcc 3.4 compatibility problem
...
llvm-svn: 10248
2003-11-28 01:46:06 +00:00
Chris Lattner
68ac670086
Testcase for PR160
...
llvm-svn: 10247
2003-11-28 01:32:03 +00:00
Chris Lattner
9201586a98
New testcase for PR158
...
llvm-svn: 10246
2003-11-27 21:25:07 +00:00
Chris Lattner
40487e450b
Fix grammaro
...
llvm-svn: 10245
2003-11-27 21:17:48 +00:00
Chris Lattner
ff4aa6dbe2
testcase for PR159
...
llvm-svn: 10244
2003-11-27 20:47:16 +00:00
Chris Lattner
8139b78c03
PR11 is now fixed for 1.1
...
llvm-svn: 10242
2003-11-27 09:51:54 +00:00
Chris Lattner
2a7033255e
* Squelch warning on Sun
...
* stdlib and friends are system headers
* 'long long' is the type that consistently turns into the LLVM 'long' type.
llvm-svn: 10241
2003-11-27 07:48:45 +00:00
John Criswell
f1387a59bf
Makefiles are now copies over to the object root directory dynamically.
...
llvm-svn: 10240
2003-11-26 20:09:49 +00:00
John Criswell
96be650984
Renamed intermediate values that used the same type and name as previous
...
values. All of these files should assemble now.
llvm-svn: 10239
2003-11-26 14:45:37 +00:00
Chris Lattner
0548bc2472
Bugz die!
...
llvm-svn: 10238
2003-11-26 08:20:34 +00:00
Chris Lattner
9192f90865
Testcase for PR157
...
llvm-svn: 10237
2003-11-26 07:35:52 +00:00