Reid Spencer [Thu, 2 Dec 2004 09:58:09 +0000 (09:58 +0000)]
Standardize the makefiles with space around = to match the rest of LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18429
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:52:10 +0000 (09:52 +0000)]
PR466:
* Make the linker find lib*.bca files now instead of lib*.bc since those
are what the makefiles now generate for bytecode archives.
* Make sure the linker only links archives when LinkLibraries is called.
Previously if it found a lib*.bc file and that file was a bytecode file,
it would link in the entire bytecode. This could make -lc -lc fail with
duplicate symbols error but it shouldn't as searching multiple libraries,
even the same one more than once, is permitted.
* Now that the above problems are corrected, implement the dependent libs
feature. After the module is linked with all specified libraries, the
LinkLibraries function will obtain the set of dependent libraries from
the linked modules and attemp to find and link against those libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18428
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:31:40 +0000 (09:31 +0000)]
Standardize the format of the runtime libraries makefiles.
* Don't have lines longer than 80 cols
* Blank line after the header
* Reduce spaces in var definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18427
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:29:49 +0000 (09:29 +0000)]
For PR466:
Much of what this Makefile did to make a libcrtend.a file is now supported
by Makefile.rules when BYTECODE_LIBRARY=1 is specified. So, we've
simplified the make rules for building this library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18426
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:28:21 +0000 (09:28 +0000)]
For PR466:
Change construction of bytecode libraries from producing a single bytecode
file to producing a library containing bytecode files. This gets around the
problem of multiple symbol definitions in the linker if something like
-lc -lc is attempted on the command line. Previously this happened because
the linker would find libc.bc as a "library". It will now find libc.a which
it can simply search for missing symbols instead of linking in wholesale.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18425
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:23:51 +0000 (09:23 +0000)]
Remove this left-over crud from the automake experiment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18424
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:21:55 +0000 (09:21 +0000)]
Implement file replacement correctly even with the f (TruncateNames) flag
set. The member name comparison was failing for truncated names. This patch
fixes that. Truncated names are now properly replaced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18423
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 09:09:48 +0000 (09:09 +0000)]
Fix seriously broken implementation of GetMagicNumber.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18422
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 07:31:22 +0000 (07:31 +0000)]
Search for tclsh last so we don't find the FreeBSD warning script too early
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18421
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 07:29:17 +0000 (07:29 +0000)]
Search for tclsh last so we don't find the FreeBSD warning script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18420
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 2 Dec 2004 07:22:15 +0000 (07:22 +0000)]
Reworked branch adding in prologue. Added check for infinite loops which are not modulo scheduled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18419
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Dec 2004 07:11:07 +0000 (07:11 +0000)]
Implement a FIXME by checking to make sure that a malloc is not being used
in scary and unknown ways before we promote it. This fixes the miscompilation
of 188.ammp that has been plauging us since a globalopt patch went in.
Thanks a ton to Tanya for helping me diagnose the problem!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18418
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Dec 2004 06:25:58 +0000 (06:25 +0000)]
Fix a minor bug where we set a var to initialized on malloc, not on store.
This doesn't fix anything that I'm aware of, just noticed it by inspection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18417
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 04:17:20 +0000 (04:17 +0000)]
Fix the tclsh test to find tclsh8.[34] and tclsh8.[34].X as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18415
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Dec 2004 04:15:24 +0000 (04:15 +0000)]
* Make sure the cache variable gets cached
* Don't search a bunch of .. directories for something we'd never find,
because we don't imbed tclsh into LLVM.
* Look for various tclsh versions because some platforms don't install the
tclsh link but just have tclsh8.3 or tclsh8.4 or some such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18414
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Dec 2004 02:35:38 +0000 (02:35 +0000)]
Remove dead field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Dec 2004 02:26:18 +0000 (02:26 +0000)]
This program doesn't break anything anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18411
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 1 Dec 2004 21:07:40 +0000 (21:07 +0000)]
Reid has implemented llvm-ranlib. Thanks, Reid!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18410
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 1 Dec 2004 20:58:54 +0000 (20:58 +0000)]
* Hyphenate ``constant-propagate''
* Add testing notes to the instruction section similar as for intrinsics
* Mention adding codegen support for new instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18409
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 1 Dec 2004 19:12:27 +0000 (19:12 +0000)]
Remove duplicated link to "Machine backend"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18408
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 1 Dec 2004 18:27:03 +0000 (18:27 +0000)]
Reverting this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20041122/021428.html
It broke Mutlisource/Applications/obsequi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Dec 2004 17:14:28 +0000 (17:14 +0000)]
Initial support for packed types, contributed by Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18406
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Dec 2004 17:13:05 +0000 (17:13 +0000)]
Remove unneeded cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Dec 2004 17:12:16 +0000 (17:12 +0000)]
Get GEP's working with packed types. Contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18404
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Dec 2004 17:10:36 +0000 (17:10 +0000)]
Add line # info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18403
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 1 Dec 2004 14:12:30 +0000 (14:12 +0000)]
Fixed pathname to LLVM tools.
Thanks to Vladimir Merzliakov for finding this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18402
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Dec 2004 05:15:44 +0000 (05:15 +0000)]
Be a little more explicit about how to configure LLVM with the --prefix
option so that permissions errors don't occur if the default, /usr/local,
is taken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18401
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Dec 2004 04:16:29 +0000 (04:16 +0000)]
Fix typeo, thanks to Duraid for pointing it out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18400
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 30 Nov 2004 22:54:48 +0000 (22:54 +0000)]
Revert version 1.39. It breaks the ordering of the library processing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 21:33:58 +0000 (21:33 +0000)]
Do not let GCC emit a warning for INT64_MIN
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18398
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 30 Nov 2004 21:27:01 +0000 (21:27 +0000)]
Sparcs behave better if we use <alloca.h> and avoid messing with __builtin_alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18397
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 30 Nov 2004 19:13:06 +0000 (19:13 +0000)]
Added TCLSH var to site.exp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18396
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 18:25:12 +0000 (18:25 +0000)]
Move this from the C test suite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18395
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 18:25:05 +0000 (18:25 +0000)]
This is a c++ test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18394
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:47:13 +0000 (17:47 +0000)]
Add back -e, which apparently works in sh's echo but not tcsh's, which does
not need it. Also, grep some output so we know that this command does something.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18393
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:45:08 +0000 (17:45 +0000)]
If TESTSUITE is set, we obviously want to run dejagnu
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18392
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:41:49 +0000 (17:41 +0000)]
Fix the JIT when being used from llvm-db
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:13:13 +0000 (17:13 +0000)]
do not pass -e into llvm-db as a command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18390
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:12:00 +0000 (17:12 +0000)]
Put the output in the temporary location
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18389
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:10:47 +0000 (17:10 +0000)]
This is a cross platform fail, failing on freebsd as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18388
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 17:09:06 +0000 (17:09 +0000)]
This pass is completely broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18387
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 16:58:18 +0000 (16:58 +0000)]
RevisionNum is read by error(), initialize it early.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18386
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 16:48:26 +0000 (16:48 +0000)]
This was fixed with the recent tester changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18385
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 30 Nov 2004 08:15:44 +0000 (08:15 +0000)]
Update list of failing benchmarks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18384
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 30 Nov 2004 08:15:15 +0000 (08:15 +0000)]
If we're about to emit something like:
%f0 = fmovs %f0
%f1 = fmovs %f1
then just delete the FpMOVD pseudo-instruction instead. Also, add
statistics and debug printouts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18383
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 30 Nov 2004 08:11:54 +0000 (08:11 +0000)]
Add a check for the tclsh program needed by dejagnu. This can have weird
names that have version numbers in it so this macro, DJ_AC_PATH_TCLSH will
make the necessary checks. The makefile variable TCLSH is set to the path
found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18382
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 07:47:34 +0000 (07:47 +0000)]
Squelch warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18381
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 07:38:41 +0000 (07:38 +0000)]
This passes on darwin now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18380
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 07:30:20 +0000 (07:30 +0000)]
Fix several bugs in 'op x, imm' handling. Foremost is that we now emit
addi r3, r3, -1
instead of
addi r3, r3, 1
for 'sub int X, 1'.
Secondarily, this fixes several cases where we could crash given an unsigned
constant. And fixes a couple of minor missed optimization cases, such as
xor X, ~0U -> not X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18379
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 30 Nov 2004 07:13:34 +0000 (07:13 +0000)]
Up the compression threshold to 64K so we avoid it for all but the largest
bytecode files. This should help linking substantially.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18378
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 07:01:15 +0000 (07:01 +0000)]
Fix test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx
This only fails on darwin or on X86 under valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 06:40:04 +0000 (06:40 +0000)]
Fix CodeGen/PowerPC/2004-11-30-shr-var-crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 06:39:45 +0000 (06:39 +0000)]
New testcase that crashes the PPC BE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18375
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 06:36:11 +0000 (06:36 +0000)]
Fix test/Regression/CodeGen/PowerPC/2004-11-29-ShrCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 06:35:52 +0000 (06:35 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18373
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 30 Nov 2004 06:29:45 +0000 (06:29 +0000)]
Adding timeout for a test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18372
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 06:29:10 +0000 (06:29 +0000)]
Fix test/Regression/CodeGen/PowerPC/2004-11-30-shift-crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18371
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 06:28:53 +0000 (06:28 +0000)]
New testcase that crashes the PPC backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18370
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 04:01:44 +0000 (04:01 +0000)]
Alkis noticed that this variable is dead. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18369
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 02:51:53 +0000 (02:51 +0000)]
Add method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18368
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 00:31:16 +0000 (00:31 +0000)]
New testcase for simplifycfg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18367
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 00:29:14 +0000 (00:29 +0000)]
If we have something like this:
if (x) {
code
...
} else {
code
...
}
Turn it into:
code
if (x) {
...
} else {
...
}
This reduces code size and in some common cases allows us to completely
eliminate the conditional. This turns several if/then/else blocks in loops
into straightline code in 179.art, turning the loops into single basic blocks
(good for modsched even!).
Maybe now brg will leave me alone ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18366
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2004 00:22:59 +0000 (00:22 +0000)]
Remove extraneous namespacification. In particular, don't define llvm::llvm::createInternalGlobalMapperPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18365
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 29 Nov 2004 21:46:29 +0000 (21:46 +0000)]
Fix a typo.
Corrected a potential grammary issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 29 Nov 2004 21:26:12 +0000 (21:26 +0000)]
Allow hoisting loads of globals and alloca's in conditionals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18363
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 29 Nov 2004 19:47:58 +0000 (19:47 +0000)]
Make built bytecode libraries depend on gccas/gccld as appropriate. This
should fix the stale runtime libraries problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18361
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 14:46:29 +0000 (14:46 +0000)]
Fix two bugs:
1. Nothing should happen on "make all". Doc generation is quick, but we
don't want to do it unless we're installing.
2. Correct a dependency for the *.ps files .. didn't notice this before
because of cruft in my directory. It failed on a clean build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18359
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 14:11:41 +0000 (14:11 +0000)]
Functionality moved to portable lib/System/DynamicLibrary.cpp
implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18358
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 14:11:29 +0000 (14:11 +0000)]
Use System/DynamicLibrary instead of Support/DynamicLinker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18357
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 14:07:46 +0000 (14:07 +0000)]
Use System/DynamicLibrary instead of Support/DynamicLinker to implement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18356
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 13:33:28 +0000 (13:33 +0000)]
Implement two new functions: LoadLibraryPermanently and
SearchForAddressOfSymbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18355
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 13:27:56 +0000 (13:27 +0000)]
Add in some methods for use by the JIT. LoadLibraryPermanently brings the
library into the address space permanently. SearchForAddressOfSymbol looks
in all previously permanently loaded libraries and any currently open
libraries for a symbol, instead of just one library like GetAddressOfSymbol
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18354
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:40:21 +0000 (12:40 +0000)]
Shared library extension is now in LTDL_SHLIB_EXT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18353
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:39:10 +0000 (12:39 +0000)]
We just use ltdl's implementation for this abstraction now. Its portable to
more platforms than LLVM supports.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18352
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:37:44 +0000 (12:37 +0000)]
Allow reconfig from any directory, not just the top build directory, by
changing directory first. Also make sure that we don't attempt to run
config.status if the recheck didn't work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18351
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:36:16 +0000 (12:36 +0000)]
Changes resulting from AC_LIB_LTDL usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18350
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:29:58 +0000 (12:29 +0000)]
* Implement embedding libltdl into LLVM which required some rearranging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18349
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:28:47 +0000 (12:28 +0000)]
* Update instructions about upgrading libtool
* Add instructions about upgrading autoconf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18348
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:12:11 +0000 (12:12 +0000)]
Don't include ltdl.h any more. Its nested in lib/System now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18347
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:04:27 +0000 (12:04 +0000)]
Mods for compilation with llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18346
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:02:48 +0000 (12:02 +0000)]
Original version of ltdl.h from libtool 1.5.10
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18345
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 12:02:25 +0000 (12:02 +0000)]
Original version of ltdl.c from libtool 1.5.10
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18344
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 11:27:12 +0000 (11:27 +0000)]
Converted with autoupdate for autoconf 2.50 -> 2.59 differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18343
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 10:56:45 +0000 (10:56 +0000)]
This file contains macros that allow us to incorporate the ltdl source into
our own library so that it is magically hidden and we don't have to depend
on linking with -lltdl option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18342
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 10:39:46 +0000 (10:39 +0000)]
Implement the default constructor which causes the current program to be
opened as if it was a dynamic library so its symbols can be searched too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18341
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 10:38:54 +0000 (10:38 +0000)]
Make the default constructor cause the program's symbols to be loaded as
if it was a dynamic library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18340
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 07:47:16 +0000 (07:47 +0000)]
Make it HTML 4.01 Strict compliant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18339
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 07:44:51 +0000 (07:44 +0000)]
* Document how to turn on doxygen documentation generation
* Document the new "LLVMLIBS=JIT" feature to make building JIT programs
super easy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18338
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 07:17:31 +0000 (07:17 +0000)]
No longer necessary, moved Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18337
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 07:17:18 +0000 (07:17 +0000)]
Use LLVMLIBS=JIT to get JIT libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18333
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 07:17:07 +0000 (07:17 +0000)]
Incorporate tools/Makefile.JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18332
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 06:23:19 +0000 (06:23 +0000)]
Make sure the program's symbols can be dlsym'd as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18331
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 29 Nov 2004 05:55:24 +0000 (05:55 +0000)]
Revamp long/ulong comparisons to use a much more efficient sequence (thanks
to Brian and the Sun compiler for pointing out that the obvious works :)
This also enables folding all long comparisons into setcc and branch
instructions: before we could only do == and !=
For example, for:
void test(unsigned long long A, unsigned long long B) {
if (A < B) foo();
}
We now generate:
test:
subl $4, %esp
movl %esi, (%esp)
movl 8(%esp), %eax
movl 12(%esp), %ecx
movl 16(%esp), %edx
movl 20(%esp), %esi
subl %edx, %eax
sbbl %esi, %ecx
jae .LBBtest_2 # UnifiedReturnBlock
.LBBtest_1: # then
call foo
movl (%esp), %esi
addl $4, %esp
ret
.LBBtest_2: # UnifiedReturnBlock
movl (%esp), %esi
addl $4, %esp
ret
Instead of:
test:
subl $12, %esp
movl %esi, 8(%esp)
movl %ebx, 4(%esp)
movl 16(%esp), %eax
movl 20(%esp), %ecx
movl 24(%esp), %edx
movl 28(%esp), %esi
cmpl %edx, %eax
setb %al
cmpl %esi, %ecx
setb %bl
cmove %ax, %bx
testb %bl, %bl
je .LBBtest_2 # UnifiedReturnBlock
.LBBtest_1: # then
call foo
movl 4(%esp), %ebx
movl 8(%esp), %esi
addl $12, %esp
ret
.LBBtest_2: # UnifiedReturnBlock
movl 4(%esp), %ebx
movl 8(%esp), %esi
addl $12, %esp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18330
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 05:00:33 +0000 (05:00 +0000)]
* Allow date command to be printed in verbose mode
* Get rid of appending -lbz2 and -lz to ExtraLibs now that we don't need
them any more.
* Fix the dist-check target so that EXTRA_DIST can be defined AFTER the
include of Makefile.common. This is needed because Makefile.common
provides variable definitions that may need to be used in computing the
value of EXTRA_DIST.
* Clean up some "distdir" target output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18329
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 04:57:55 +0000 (04:57 +0000)]
Add "docs" as a descendable directory (at the end)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18328
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 04:56:35 +0000 (04:56 +0000)]
* allow doxygen documentation to be enabled/disabled (default off)
* organize programs we test for properly
* add new programs needed for documentation generation
* Adjust install paths so llvm stuff doesn't muck up /usr/local or /usr if
$prefix is set to those.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18327
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 04:53:50 +0000 (04:53 +0000)]
* Get additional configured values into the makefiles
* Provide support for ENABLE_DOXYGEN
* New tools that documentation generation requires
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18326
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 04:51:58 +0000 (04:51 +0000)]
Make the check a little quieter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18325
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 04:47:35 +0000 (04:47 +0000)]
* Make this makefile compliant with LLVM makefile standards
* Implement optional doxygen doc generation
* Implement HTML and doxygen installation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18324
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 29 Nov 2004 04:46:12 +0000 (04:46 +0000)]
Moved --> doxygen.cfg.in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18323
91177308-0d34-0410-b5e6-
96231b3b80d8