Chris Lattner [Wed, 22 Oct 2003 16:41:21 +0000 (16:41 +0000)]
Do not add unreachable code to a natural loop!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 16:30:58 +0000 (16:30 +0000)]
Make sure to print labels on nodes without names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 16:22:42 +0000 (16:22 +0000)]
If the basic block has no name, make sure to print the % number of it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9375
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 16:03:49 +0000 (16:03 +0000)]
Implement the Function::viewCFG* methods, for use in a debugger. Also, the
-print-cfg pass now lives here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 16:03:20 +0000 (16:03 +0000)]
Add two new function stubs for viewing the CFG of a function inside of the
debugger
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 16:02:58 +0000 (16:02 +0000)]
Delete the -print-cfg pass from this file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9372
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 22 Oct 2003 15:06:11 +0000 (15:06 +0000)]
Added information on using Bugzilla.
Removed information on using llvm-bugs to report bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9371
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Oct 2003 05:50:40 +0000 (05:50 +0000)]
Add comments to describe what these functions actually do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9370
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Oct 2003 05:09:56 +0000 (05:09 +0000)]
* Use <cmath> instead of <math.h>
* Order #includes according to LLVM coding standards
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9369
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Oct 2003 04:55:09 +0000 (04:55 +0000)]
Removed completely duplicated function comment (an identical one appears later).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9368
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Oct 2003 04:51:36 +0000 (04:51 +0000)]
No, really, order the #includes correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9367
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 04:43:18 +0000 (04:43 +0000)]
Update the 'used' flag correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9366
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 04:42:20 +0000 (04:42 +0000)]
Loop over the module, not the symbol table. This makes the code handle
unused external functions again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9365
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 03:40:33 +0000 (03:40 +0000)]
New library needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 03:35:34 +0000 (03:35 +0000)]
Implement FunctionResolve/2003-10-21-GlobalResolveHack.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9363
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Oct 2003 03:35:18 +0000 (03:35 +0000)]
New testcase for fun hack that is absolutely necessary for the C++ stdlib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9362
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Oct 2003 03:27:45 +0000 (03:27 +0000)]
* Fix order of #includes to follow style guide
* It's no longer a BasicBlock pass: update comment on run() method
* Fix placement of braces to be consistent
* Delete extraneous whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9361
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Oct 2003 03:10:26 +0000 (03:10 +0000)]
Converted tabs to spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 23:17:56 +0000 (23:17 +0000)]
Fix bug: FunctionResolve/2003-10-21-GlobalTypeDifference.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9359
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 23:17:45 +0000 (23:17 +0000)]
New testcase: globals should be linked if they are the wrong type. We should
just moan loudly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 22:46:38 +0000 (22:46 +0000)]
Fix bug: Linker/2003-10-21-ConflictingTypesTolerance.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9357
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 22:46:22 +0000 (22:46 +0000)]
New testcase. The linker should not consider it an error if two types
disagree. It should grumble, then go ahead and do it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9356
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 21 Oct 2003 21:58:38 +0000 (21:58 +0000)]
Add C/C++ build instructions, first draft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 21:52:20 +0000 (21:52 +0000)]
Fix message to make more sense and confuse Chris less
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 21:33:18 +0000 (21:33 +0000)]
New testcase, fixed in the C++ frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9353
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 21:24:38 +0000 (21:24 +0000)]
Added the name of the public CVS repository.
Removed the use of CVSROOTDIR as it is no longer used.
Fixed some word wrapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9352
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 21 Oct 2003 21:07:12 +0000 (21:07 +0000)]
Fix off-by-one error in processing of libraries named on command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9351
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 19:35:06 +0000 (19:35 +0000)]
Adding information on what testing support is provided by the LLVM build
system. Currently, it is not much.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9348
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Oct 2003 18:26:07 +0000 (18:26 +0000)]
Add dummy content for libgdbm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9344
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Oct 2003 18:25:37 +0000 (18:25 +0000)]
Fix libm's name to be `libm'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9343
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Oct 2003 18:22:34 +0000 (18:22 +0000)]
Fix library name and fix line to fit within 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9342
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 21 Oct 2003 18:08:10 +0000 (18:08 +0000)]
Add tools-only target, for bootstrapping the C/C++ front end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 18:02:17 +0000 (18:02 +0000)]
This was not a lower-switch bug, it was a preselection bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 18:00:37 +0000 (18:00 +0000)]
When linking the runtime libraries, do not link -lc and -lgcc into the libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 17:53:16 +0000 (17:53 +0000)]
Fix strcpy implementation and trie
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9338
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 21 Oct 2003 17:41:35 +0000 (17:41 +0000)]
Fix the first FIXME in this file: automatically pick a "good"
interpreter by default, by picking the first one that works
from a hard-coded list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 17:40:54 +0000 (17:40 +0000)]
Make sure to add a type for va_next operands, which may not other wise
occur in the module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 17:39:59 +0000 (17:39 +0000)]
Fix problem which effected linking apache
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 17:22:23 +0000 (17:22 +0000)]
Hrm, unbreak stuph :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 16:29:23 +0000 (16:29 +0000)]
Fix preselection/lowerswitches bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 16:09:23 +0000 (16:09 +0000)]
Pull the PHI special case into it's own visit* method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 16:06:07 +0000 (16:06 +0000)]
The lastOp operand is never used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9331
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 15:47:31 +0000 (15:47 +0000)]
Add more space!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9330
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 15:43:55 +0000 (15:43 +0000)]
Hrm, for some reason, my fingers like typing va_begin. Weird
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9329
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 15:37:09 +0000 (15:37 +0000)]
Syntax highlight the new operators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 15:36:21 +0000 (15:36 +0000)]
Update test to new style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9327
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 15:33:12 +0000 (15:33 +0000)]
Removed LLVM copyright from sample Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9326
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 15:31:36 +0000 (15:31 +0000)]
Removed LLVM copyright notice from sample Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9325
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 15:29:18 +0000 (15:29 +0000)]
Added LLVM copyright notice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9324
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 15:17:13 +0000 (15:17 +0000)]
Added LLVM copyright header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Oct 2003 14:49:19 +0000 (14:49 +0000)]
Preselection is _not_ a basicblock pass, because it adds global variables to
the module. This change converts it from being a basic block pass to being
a simple pass. This allows elimination of the annotation and simplification
of the logic for moving constants into global variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9320
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 21 Oct 2003 14:33:46 +0000 (14:33 +0000)]
Added LLVM copyright notice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9319
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 21 Oct 2003 12:29:45 +0000 (12:29 +0000)]
When opcodes like ADD were split into reg. and immed. versions (ADDi and ADDr),
this code wasn't fixed correctly so it missed copy operations that used ADDi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9318
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 21 Oct 2003 12:28:27 +0000 (12:28 +0000)]
Why does g++ not even generate a warning when you miss a break statement?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9317
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 21 Oct 2003 11:25:09 +0000 (11:25 +0000)]
Implement the new varargs instructions and intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9316
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Oct 2003 04:13:37 +0000 (04:13 +0000)]
Only fails on the Sparc, only when run via the JIT.
And yet, it's a failure in the ``LowerSwitch'' pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9315
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 22:29:16 +0000 (22:29 +0000)]
Added LLVM copyright to Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9314
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 22:28:01 +0000 (22:28 +0000)]
Added LLVM copyrights to Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9313
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 22:26:57 +0000 (22:26 +0000)]
Added LLVM copyright notice to Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 20:55:13 +0000 (20:55 +0000)]
Add a new map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9311
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 20:52:23 +0000 (20:52 +0000)]
Convert this code from using annotations to using a local map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9310
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 20 Oct 2003 20:44:03 +0000 (20:44 +0000)]
Goodbye, AddRegNumToValues
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9309
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 20:40:30 +0000 (20:40 +0000)]
Removed extraneous comment line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9308
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 20:38:17 +0000 (20:38 +0000)]
Remove using declaration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9307
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 20:29:44 +0000 (20:29 +0000)]
This #include is no longer necessary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9306
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 20:20:30 +0000 (20:20 +0000)]
Added LLVM copyright header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9305
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 20:19:47 +0000 (20:19 +0000)]
Added LLVM copyright header (for lack of a better term).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 20:16:14 +0000 (20:16 +0000)]
Oops. Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9303
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 20:11:43 +0000 (20:11 +0000)]
Added LLVM header notice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9302
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 20 Oct 2003 19:47:25 +0000 (19:47 +0000)]
Fixed the documentation to coincide with the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9301
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 19:46:57 +0000 (19:46 +0000)]
Added LLVM notice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9300
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 20 Oct 2003 19:43:47 +0000 (19:43 +0000)]
Made error message more comprehensible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9299
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 19:43:21 +0000 (19:43 +0000)]
Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 19:10:06 +0000 (19:10 +0000)]
"Function"[0] == 'F', not 'M'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9297
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 19:05:03 +0000 (19:05 +0000)]
Update release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9296
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 20 Oct 2003 17:59:09 +0000 (17:59 +0000)]
Minor leftover fixups from replaceMachineCodeForFunction () change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9295
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 17:58:43 +0000 (17:58 +0000)]
fix file header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9294
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 17:57:13 +0000 (17:57 +0000)]
fix file headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9293
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 17:52:11 +0000 (17:52 +0000)]
Fix file header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9292
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 17:47:21 +0000 (17:47 +0000)]
Added copyright header to all C++ source files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Oct 2003 16:39:52 +0000 (16:39 +0000)]
Made the Requirements information its own major section and moved it
between the "Getting Started Quickly" and "Getting Started Slowly" sections.
:)
Removed some of the nit-picky requirements information (i.e. GNU tar and
GNU zip).
Attempted to compact the requirements information so that it is less scary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9290
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 20 Oct 2003 15:17:12 +0000 (15:17 +0000)]
Make replaceMachineCodeForFunction() return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9289
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 20 Oct 2003 15:15:17 +0000 (15:15 +0000)]
Make replaceMachineCodeForFunction return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9288
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 20 Oct 2003 15:14:33 +0000 (15:14 +0000)]
Make replaceMachineCodeForFunction return void.
Make it assert by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9287
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 14:12:52 +0000 (14:12 +0000)]
Apparently the dependencies are wrong for this file, so it didn't rebuild it
when changing Instruction.def. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9286
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 05:54:26 +0000 (05:54 +0000)]
Reorder for minor efficiency gain
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9285
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 05:53:31 +0000 (05:53 +0000)]
Emit x86 instructions for: A = B op C, where A and B are 16-bit registers,
C is a constant which can be sign-extended from 8 bits without value loss,
and op is one of: add, sub, imul, and, or, xor.
This allows the JIT to emit the one byte version of the constant instead of
the two or 4 byte version. Because these instructions are very common, this
can save a LOT of code space. For example, I sampled two benchmarks, 176.gcc
and 254.gap.
BM Old New Reduction
176.gcc
2673621 2548962 4.89%
254.gap 498261 475104 4.87%
Note that while the percentage is not spectacular, this did eliminate
124.6 _KILOBYTES_ of codespace from gcc. Not bad.
Note that this doesn't effect the llc version at all, because the assembler
already does this optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9284
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 05:45:49 +0000 (05:45 +0000)]
Hrm, a relic from the past. How cute :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9283
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 04:48:06 +0000 (04:48 +0000)]
Further cleanups and simplifications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9282
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 04:11:23 +0000 (04:11 +0000)]
Eliminate code for pointer size and endianness emulation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9281
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 20 Oct 2003 04:03:10 +0000 (04:03 +0000)]
The Grammar Police was here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9280
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 20 Oct 2003 03:59:05 +0000 (03:59 +0000)]
* Fixed grammar in header
* Added description of `mem2reg'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9279
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Oct 2003 03:42:58 +0000 (03:42 +0000)]
* Rename X86::IMULr16 -> X86::IMULrr16
* Implement R1 = R2 * C where R1 and R2 are 32 or 16 bits. This avoids an
extra copy into a register, reducing register pressure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9278
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 23:32:50 +0000 (23:32 +0000)]
Don't bother forwarding function references which are external to the program entirely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 21:54:13 +0000 (21:54 +0000)]
Ok, return an explicit path to the shared object, unbreaking code generator
debugging with the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 21:48:27 +0000 (21:48 +0000)]
Fix iterator invalidation problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9272
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 21:39:41 +0000 (21:39 +0000)]
Eliminate unused class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9270
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 21:34:28 +0000 (21:34 +0000)]
Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 21:34:11 +0000 (21:34 +0000)]
Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
This allows removal of a special case from the instvisitor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9268
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Oct 2003 21:09:10 +0000 (21:09 +0000)]
* Multiplications by 2^X are turned into shifts. This factors code out of the
getelementptr code path for use by other code paths (like malloc and alloca).
* Optimize comparisons with zero
* Generate neg, not, inc, and dec instructions, when possible.
This gives some code size wins, which might translate into performance. We'll
see tommorow in the nightly tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9267
91177308-0d34-0410-b5e6-
96231b3b80d8