Chris Lattner [Mon, 8 Sep 2003 17:58:37 +0000 (17:58 +0000)]
Add support for writing volatile load/stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8394
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Sep 2003 17:45:59 +0000 (17:45 +0000)]
Add support for volatile loads/stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8393
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Sep 2003 17:45:18 +0000 (17:45 +0000)]
Fix grammar-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8392
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Sep 2003 17:43:36 +0000 (17:43 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Sep 2003 16:29:02 +0000 (16:29 +0000)]
Fix old style test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8390
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 8 Sep 2003 15:32:47 +0000 (15:32 +0000)]
Fix syntax error when makellvm is run in an invalid directory.
Add debugging support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8389
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 8 Sep 2003 03:08:43 +0000 (03:08 +0000)]
Spell `occurrence' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8388
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sun, 7 Sep 2003 20:12:52 +0000 (20:12 +0000)]
Fixed spelling of `intentionally'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8387
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Sep 2003 05:09:32 +0000 (05:09 +0000)]
Remove unneeded #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8386
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 15:20:15 +0000 (15:20 +0000)]
Checkin of autoconf-style object root.
Updated Makefile for new autoconf-style object root.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8385
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 15:17:13 +0000 (15:17 +0000)]
Checkin of autoconf-style object root.
Copies Makefiles into the new object root directory from the source directory.
Removed the --with-objroot option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8384
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 15:15:04 +0000 (15:15 +0000)]
Checkin of autoconf-style object root.
Updated TestRunner tests so that they work correctly in a separate object root
directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8383
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 15:12:21 +0000 (15:12 +0000)]
Checkin of autoconf-style object root.
Use QMTest for the feature and Regression tests.
Continue using the Makefile system for the Programs tests.
Adjusted the Makefile rules to handle building outside the source directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8381
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 15:03:24 +0000 (15:03 +0000)]
Checkin of autoconf-style object root.
Modified Makefiles to use the new Makefile setup in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8380
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 14:50:22 +0000 (14:50 +0000)]
Checkin of autoconf-style object root.
Adjusted Makefile to work with new autoconf-style object root.
Specifically, use the new -I option of tblgen to find include files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8379
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 14:46:19 +0000 (14:46 +0000)]
Checkin of autoconf-style object root.
Added the AC_CONFIG_MAKEFILE macro to configure akefiles which don't need .in
templates.
Removed the --with-objroot option.
Added commands to configure.ac to configure all of the LLVM Makefiles. Oof.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8378
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 6 Sep 2003 14:44:17 +0000 (14:44 +0000)]
Checkin of autoconf-style object root.
Moved Makefile.common to Makefile.rules. This makes project Makefiles easier
to support, and allows for easier overriding of default configuration values
that used to be in Makefile.common.
Modified Makefile.config.in to determine paths for directories (like
LLVM_SRC_ROOT) and to use the pwd binary as opposed to the shell builtin (this
works better for symbolic links).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8377
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 5 Sep 2003 22:59:31 +0000 (22:59 +0000)]
Added some optimizations:
* Generate a single BA instead of 6-instruction JUMP if possible
(this occurs both in the creation and overwriting of the stub code)
* If possible, rewrite the ORIGINAL call to call the generated function
directly, thus bypassing the stub entirely
Also added some statistics on how often calls are overwritten and how often the
CompilationCallback is invoked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 20:08:15 +0000 (20:08 +0000)]
Reorder #includes to follow LLVM conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8375
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 19:43:45 +0000 (19:43 +0000)]
No longer used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8374
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 19:43:19 +0000 (19:43 +0000)]
Correct comments
Don't include InstLoops.h
Don't export factory functions for these passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8373
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 19:42:34 +0000 (19:42 +0000)]
Interpreter, JIT moved to lib/ExecutionEngine (includes -> llvm/ExecutionEngine)
Build lli using executionengine library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8372
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 19:39:49 +0000 (19:39 +0000)]
Add ExecutionEngine directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8371
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 19:39:22 +0000 (19:39 +0000)]
ExecutionEngine.h, GenericValue.h --> include/llvm/ExecutionEngine/
Build ExecutionEngine as library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8370
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 19:23:03 +0000 (19:23 +0000)]
-abort-on-exception is gone. Rebuild your gccld shell scripts, folks! :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8368
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 18:55:03 +0000 (18:55 +0000)]
Make getOperandValue and executeCastOperation methods of Interpreter.
This lets us protect a few more ExecutionEngine methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8367
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 18:42:01 +0000 (18:42 +0000)]
Make CreateArgv part of lli rather than part of ExecutionEngine.
Switch Interpreter and JIT's "run" methods to take a Function and a vector of
GenericValues.
Move (almost all of) the stuff that constructs a canonical call to main()
into lli (new methods "callAsMain", "makeStringVector").
Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(),
isStopped(), and many dead decls from interpreter.
Add linux strdup() support to interpreter.
Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look
more alike, in preparation for refactoring.
atexit() is spelled "atexit", not "at_exit".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 18:25:29 +0000 (18:25 +0000)]
Fix reading of invoke instrs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8365
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 06:10:50 +0000 (06:10 +0000)]
Zap some more unused static method decls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 05:27:58 +0000 (05:27 +0000)]
Whoa, we were misreading invoke instructions "normal" destinations quite badly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8363
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 05:22:08 +0000 (05:22 +0000)]
Remove printOperandInfo(), and simplify run().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8362
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 05:10:04 +0000 (05:10 +0000)]
Add asserts, move code around. This gets the dropAllTypeUses partially implemented
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8361
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 05:04:32 +0000 (05:04 +0000)]
Remove support for printing values from a module by name, only used
w/ interactive keyboard entry of names.
With that, Support.cpp is history.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8360
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 5 Sep 2003 04:46:26 +0000 (04:46 +0000)]
Remove support for interactive (step finish next) instructions.
Remove printCurrentInstruction, printStackFrame and infoValue
(only used interactively) and other unused methods of Interpreter.
Fold UserInput.cpp containing only callMainFunction() into Interpreter.cpp.
Remove unused Profile flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8359
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 02:39:52 +0000 (02:39 +0000)]
Move functionality preserving changes.
Inline containsEquivalent
Remove some //'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 02:30:47 +0000 (02:30 +0000)]
Refactor what has effectively become copy-and-pasted code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8357
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 02:30:18 +0000 (02:30 +0000)]
Get friendly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 02:21:39 +0000 (02:21 +0000)]
Check in a bunch of minor fixes, plus a whole lot of #if 0'd out code, which will hopefully be enabled in the near future
This does not make any functionality changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Sep 2003 02:15:36 +0000 (02:15 +0000)]
Reshuffling of APIs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:49:53 +0000 (23:49 +0000)]
containsEquivalent never returns its argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:47:07 +0000 (23:47 +0000)]
Non-functional change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:46:03 +0000 (23:46 +0000)]
Remove needless usage of getDescription()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:43:40 +0000 (23:43 +0000)]
Inline method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:43:35 +0000 (23:43 +0000)]
Remove method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:41:03 +0000 (23:41 +0000)]
Don't try to be sneaky, breaking recursive types in the process
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Sep 2003 23:38:22 +0000 (23:38 +0000)]
This is now unnecessary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8347
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 4 Sep 2003 23:15:40 +0000 (23:15 +0000)]
Remove support for breakpoints (not used).
Remove some dead code and whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8346
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 4 Sep 2003 22:57:27 +0000 (22:57 +0000)]
Move EE dtor where it belongs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8345
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 4 Sep 2003 22:21:24 +0000 (22:21 +0000)]
Interpreter cleanups:
Get rid of support for DebugMode (make it always off).
Mung some comments.
Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff
which have been disabled forever.
Get rid of -abort-on-exception (make it always on).
Get rid of user interaction stuff (debug mode innards).
Simplify Interpreter's callMainFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8344
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 3 Sep 2003 20:34:19 +0000 (20:34 +0000)]
ExecutionEngine.cpp: Move execution engine creation stuff into a new
static method here.
Remove some extra blank lines.
ExecutionEngine.h: Add its prototype.
lli.cpp: Call it.
Make creation method for each type of EE into a static method of its
own subclass.
Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter -->
Interpreter::create
Interpreter/Interpreter.h: Likewise.
JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create
JIT/VM.h: Likewise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Sep 2003 20:25:27 +0000 (20:25 +0000)]
Avoid printing meaningless numbers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Sep 2003 17:56:43 +0000 (17:56 +0000)]
Fix bug where we couldn't print a function without a name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Sep 2003 16:01:54 +0000 (16:01 +0000)]
Follow the pattern of all other atu's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Sep 2003 14:44:53 +0000 (14:44 +0000)]
No need to rescan types when they are created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Sep 2003 04:20:13 +0000 (04:20 +0000)]
Final cleanups, document is good to go
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Sep 2003 00:41:47 +0000 (00:41 +0000)]
Add a WHOLE lot of updates clarifications and fixes. This is not done but getting closer. I changed the docs to reflect the goal of making unwind an instruction, not an intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 23:38:41 +0000 (23:38 +0000)]
hyphenation police visited here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 22:52:49 +0000 (22:52 +0000)]
Another small speedup, this one to: 2.42s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 22:50:02 +0000 (22:50 +0000)]
Don't return bogus references, and don't add an entry to the Concrete map
unless it's not empty!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 22:15:15 +0000 (22:15 +0000)]
Another optimization, speed up the testcase to 2.7s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 21:56:34 +0000 (21:56 +0000)]
Removal of explicit stack, which requires the method to be a member (so it can
call setAbstract). Now that we just compute abstractness we can also return
the computed value by value instead of as an argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 21:54:56 +0000 (21:54 +0000)]
New method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8331
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 21:41:05 +0000 (21:41 +0000)]
Remove the "recursive bit", not only is it unused by anyone, it was also
not correctly calculated, and calculating it wrong for fun seems rather
pointless. This also speeds up my favorite testcase by .25 seconds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8330
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 21:40:33 +0000 (21:40 +0000)]
Remove the "recursive bit", not only is it unused by anyone, it was also
not correctly calculated, and calculating it wrong for fun seems rather
pointless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8329
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 2 Sep 2003 21:11:22 +0000 (21:11 +0000)]
Added code that makes the bytecode file readable (needed by the generated shell
script).
Removed the use of sys/types.h and sys/stat.h.
Modified FileExists() so that it uses the access() system call to check for
file existance. This requires less header files and might even be a tad bit
faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8328
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 2 Sep 2003 21:09:30 +0000 (21:09 +0000)]
Added the MakeFileReadable() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8327
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 2 Sep 2003 20:30:16 +0000 (20:30 +0000)]
Added a description of the algorithm.
Return failure if the chmod() fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8326
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 2 Sep 2003 20:17:20 +0000 (20:17 +0000)]
Modified the code so that it uses the MakeFileExecutable() method. The new
library code now adds all execute bits that are allowed by the umask value to
the file's current permission bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8325
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 2 Sep 2003 20:14:57 +0000 (20:14 +0000)]
Added the MakeFileExecutable() method. This method takes a filename and
gives it execute access while respecting the user's umask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8324
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 20:06:29 +0000 (20:06 +0000)]
Don't bother doing an exhaustive recursive walk if we are at the limit of what
we need to know anyway. This reduces the 2002-07-08-HugePerformanceProblem.llx
down to 3.210u:0.010s, which is back in the acceptable range again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8323
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 19:14:12 +0000 (19:14 +0000)]
Ugh, fix bugs. Ok, so the last fix wasn't as great as I thought it was.
Now we're back to: 131.730u, 0.330s, which is still quite an improvement,
but still quite unacceptable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 16:46:41 +0000 (16:46 +0000)]
Further simplifications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 16:35:17 +0000 (16:35 +0000)]
Change the code to no longer compute the "type description" immediately when
the type is analyzed. Instead, only compute it when requested (with
getDescription), and cached for reuse later.
This dramatically speeds up LLVM in general because these descriptions almost
_never_ need to be constructed. The only time they are used is when a type is
<<'d. Printing of modules by themselves uses other code to print symbolic
types when possible, so these descriptions are really only used for debugging.
Also, this fixes the particularly bad case when lots of types get resolved to
each other, such as during linking of large programs. In these cases, the type
descriptions would be repeatedly recomputed and discarded even though: A. noone
reads the description before it gets resolved, and B. many many resolutions
happen at intermediate steps, causing a HUGE waste of time.
Overall, this makes the getTypeDesc function much more light-weight, and fixes
bug: Assembler/2002-07-08-HugePerformanceProblem.llx, which went from taking
1048.770u/19.150s (which is 17.5 MINUTES, on apoc), to taking 0.020u/0.000s,
which is a nice little speedup. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8320
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 2 Sep 2003 16:28:03 +0000 (16:28 +0000)]
The description is no longer stored directly in the type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8319
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 2 Sep 2003 06:45:34 +0000 (06:45 +0000)]
Remove assertion which is never reached.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8318
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:46:08 +0000 (20:46 +0000)]
Dead header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8317
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:45:46 +0000 (20:45 +0000)]
#include is unnecessary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8316
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:45:33 +0000 (20:45 +0000)]
Prototype for creator function got moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8315
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:44:42 +0000 (20:44 +0000)]
Add RPR prototype here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8314
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:41:21 +0000 (20:41 +0000)]
Remove dead file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8313
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:41:07 +0000 (20:41 +0000)]
OptInfo is no longer required
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8312
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:40:59 +0000 (20:40 +0000)]
No longer provide an optinfo, noone uses it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8311
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:40:43 +0000 (20:40 +0000)]
No longer require an OptInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8310
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:38:03 +0000 (20:38 +0000)]
Inline simple comparison which is sparc specific anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8309
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:34:15 +0000 (20:34 +0000)]
Don't build dead directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8308
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:33:38 +0000 (20:33 +0000)]
Remove header files that were privatized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8307
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:33:07 +0000 (20:33 +0000)]
Move private interfaces into private .h file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8306
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:30:17 +0000 (20:30 +0000)]
Preselection is now integrated into the Sparc target library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8305
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:29:43 +0000 (20:29 +0000)]
Remove dead library makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8304
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:26:52 +0000 (20:26 +0000)]
Remove makefile for dead library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8303
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:26:14 +0000 (20:26 +0000)]
Sparc peephole optimizer moved out of post-opts library into Sparc target library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8302
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:24:06 +0000 (20:24 +0000)]
Simplify code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8301
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:19:31 +0000 (20:19 +0000)]
This file is never #included
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8300
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:17:13 +0000 (20:17 +0000)]
LiveRange.h is now in lib/CodeGen/RegAlloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8299
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:14:00 +0000 (20:14 +0000)]
This file is hopelessly out of date
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8298
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:12:17 +0000 (20:12 +0000)]
LiveRangeInfo got moved into the lib/CodeGen/RegAlloc directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8297
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:09:04 +0000 (20:09 +0000)]
PhyRegAlloc.h got moved to lib/CodeGen/RegAlloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8296
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:05:47 +0000 (20:05 +0000)]
Move IGNode from public include directory to here. Minor cleanups like adding std:: namespace qualifiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8295
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 20:00:08 +0000 (20:00 +0000)]
IGNode got moved to lib/CodeGen/RegAlloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8294
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 1 Sep 2003 19:58:02 +0000 (19:58 +0000)]
This file just needs LiveRange.h not IGNode.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8293
91177308-0d34-0410-b5e6-
96231b3b80d8