Commit Graph

15883 Commits

Author SHA1 Message Date
Reid Spencer 0e6a4fc448 Implement two new functions: LoadLibraryPermanently and
SearchForAddressOfSymbol.

llvm-svn: 18355
2004-11-29 13:33:28 +00:00
Reid Spencer c4c3f5a980 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

llvm-svn: 18354
2004-11-29 13:27:56 +00:00
Reid Spencer d1697bf2f7 Shared library extension is now in LTDL_SHLIB_EXT
llvm-svn: 18353
2004-11-29 12:40:21 +00:00
Reid Spencer 3468ae1a87 We just use ltdl's implementation for this abstraction now. Its portable to
more platforms than LLVM supports.

llvm-svn: 18352
2004-11-29 12:39:10 +00:00
Reid Spencer 50f3487fad 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.

llvm-svn: 18351
2004-11-29 12:37:44 +00:00
Reid Spencer c680f05aeb Changes resulting from AC_LIB_LTDL usage.
llvm-svn: 18350
2004-11-29 12:36:16 +00:00
Reid Spencer a40c687fe8 * Implement embedding libltdl into LLVM which required some rearranging.
llvm-svn: 18349
2004-11-29 12:29:58 +00:00
Reid Spencer 7905a70840 * Update instructions about upgrading libtool
* Add instructions about upgrading autoconf

llvm-svn: 18348
2004-11-29 12:28:47 +00:00
Reid Spencer 54f36c677f Don't include ltdl.h any more. Its nested in lib/System now.
llvm-svn: 18347
2004-11-29 12:12:11 +00:00
Reid Spencer 47430cf2a5 Mods for compilation with llvm.
llvm-svn: 18346
2004-11-29 12:04:27 +00:00
Reid Spencer 11ba920d55 Original version of ltdl.h from libtool 1.5.10
llvm-svn: 18345
2004-11-29 12:02:48 +00:00
Reid Spencer 6717b80ba2 Original version of ltdl.c from libtool 1.5.10
llvm-svn: 18344
2004-11-29 12:02:25 +00:00
Reid Spencer 2c7c2a0774 Converted with autoupdate for autoconf 2.50 -> 2.59 differences.
llvm-svn: 18343
2004-11-29 11:27:12 +00:00
Reid Spencer 8b3fd7639e 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.

llvm-svn: 18342
2004-11-29 10:56:45 +00:00
Reid Spencer 72a7457a90 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.

llvm-svn: 18341
2004-11-29 10:39:46 +00:00
Reid Spencer 073173568d Make the default constructor cause the program's symbols to be loaded as
if it was a dynamic library.

llvm-svn: 18340
2004-11-29 10:38:54 +00:00
Reid Spencer 1a8b379d84 Make it HTML 4.01 Strict compliant.
llvm-svn: 18339
2004-11-29 07:47:16 +00:00
Reid Spencer 6bc24e4e65 * Document how to turn on doxygen documentation generation
* Document the new "LLVMLIBS=JIT" feature to make building JIT programs
  super easy.

llvm-svn: 18338
2004-11-29 07:44:51 +00:00
Reid Spencer 5686dc714d No longer necessary, moved Makefile.rules
llvm-svn: 18337
2004-11-29 07:17:31 +00:00
Reid Spencer bb9932c96a Use LLVMLIBS=JIT to get JIT libraries
llvm-svn: 18333
2004-11-29 07:17:18 +00:00
Reid Spencer af4495a8c4 Incorporate tools/Makefile.JIT
llvm-svn: 18332
2004-11-29 07:17:07 +00:00
Reid Spencer 3ec3fc9870 Make sure the program's symbols can be dlsym'd as well.
llvm-svn: 18331
2004-11-29 06:23:19 +00:00
Chris Lattner f9c5dc9fb4 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

llvm-svn: 18330
2004-11-29 05:55:24 +00:00
Reid Spencer fc66af4476 * 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.

llvm-svn: 18329
2004-11-29 05:00:33 +00:00
Reid Spencer 51877c95d3 Add "docs" as a descendable directory (at the end)
llvm-svn: 18328
2004-11-29 04:57:55 +00:00
Reid Spencer 0194c9a64c * 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.

llvm-svn: 18327
2004-11-29 04:56:35 +00:00
Reid Spencer 2c22f50c38 * Get additional configured values into the makefiles
* Provide support for ENABLE_DOXYGEN
* New tools that documentation generation requires

llvm-svn: 18326
2004-11-29 04:53:50 +00:00
Reid Spencer da2a9e6b0c Make the check a little quieter.
llvm-svn: 18325
2004-11-29 04:51:58 +00:00
Reid Spencer 1c2aaab680 * Make this makefile compliant with LLVM makefile standards
* Implement optional doxygen doc generation
* Implement HTML and doxygen installation

llvm-svn: 18324
2004-11-29 04:47:35 +00:00
Reid Spencer dc8f4286c6 Moved --> doxygen.cfg.in
llvm-svn: 18323
2004-11-29 04:46:12 +00:00
Tanya Lattner d8cc4facd0 Reworked branching so we don't handle BAs specially. It just updates the branchTO regardless of what type of branch it is.
llvm-svn: 18322
2004-11-29 04:39:47 +00:00
Reid Spencer 9d3b50038d * Get rid of extraneous directories
* Ensure things installed to same place are all getting there by using a
  variable to name that place.
* Make sure missing index.html, images and *.css files get installed.

llvm-svn: 18321
2004-11-29 04:34:05 +00:00
Reid Spencer f8685399eb * add llvmc and llvm-ld
* fix the links to not be in an html subdir as that's not how this gets
  installed (anymore).

llvm-svn: 18320
2004-11-29 04:32:37 +00:00
Reid Spencer 3776794cc5 Adjust this so that doxygen doesn't barf on it.
llvm-svn: 18319
2004-11-29 03:47:37 +00:00
Reid Spencer 94ade72d66 * Adjust so this falls in line with LLVM Makefile standards.
* Implement installation of doxygen and html documentation
* Fix it so it works with objdir != srcdir.

llvm-svn: 18318
2004-11-29 03:45:02 +00:00
Reid Spencer 7d42417cc5 * Fix an item list.
* Add an ENVIRONMENT section to describe LLVM_LIB_SEARCH_PATH

llvm-svn: 18317
2004-11-29 03:43:29 +00:00
Reid Spencer 0f9dabd0f8 Add a link.
llvm-svn: 18316
2004-11-29 03:37:54 +00:00
Reid Spencer ad60af2874 For PR393:
This file was originally doxygen.cfg, but it needs to be configured to get
the right srcdir/objdir paths for things. This is needed because building
the doxygen will now be part of the install and dist-check targets.

llvm-svn: 18315
2004-11-29 03:33:22 +00:00
Tanya Lattner 341828ee64 Fixed bug where instructions in the kernel were not ordered right to preserve dependencies in a cycle.
llvm-svn: 18314
2004-11-28 23:36:15 +00:00
Reid Spencer f8085812d9 Update the test to match the optimization. The optimization can let some
casts through, but they will only be sbyte -> ubyte in this test case so
make sure we don't let any other kinds through.

llvm-svn: 18313
2004-11-28 21:36:52 +00:00
Reid Spencer 279fa256a2 Fix for PR454:
* Make sure we handle signed to unsigned conversion correctly
* Move this visitSetCondInst case to its own method.

llvm-svn: 18312
2004-11-28 21:31:15 +00:00
Chris Lattner c0f8a1c721 The LLVM bool type shall have 1 byte alignment on PPC.
llvm-svn: 18311
2004-11-28 21:16:45 +00:00
Chris Lattner 6ea2888832 Make DSE potentially more aggressive by being more specific about alloca sizes.
llvm-svn: 18309
2004-11-28 20:44:37 +00:00
Chris Lattner 1b784b117d Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
llvm-svn: 18308
2004-11-28 20:30:15 +00:00
Chris Lattner 1222964f2a New testcase. The store is not dead here.
llvm-svn: 18307
2004-11-28 19:54:02 +00:00
Chris Lattner ebb54c55e1 Fix SingleSource/UnitTests/2004-11-28-GlobalBoolLayout.c, and hopefully
PR449

llvm-svn: 18306
2004-11-28 17:56:47 +00:00
Chris Lattner 9d313cfa1c new testcase for PR463
llvm-svn: 18304
2004-11-28 16:47:46 +00:00
Chris Lattner aef74b55de Fix PR463
llvm-svn: 18303
2004-11-28 16:45:45 +00:00
Reid Spencer ad3016a273 Correct the RUN line to remove unneeded parameters and make sure the test
case is testing the right thing.

llvm-svn: 18302
2004-11-28 08:15:33 +00:00
Reid Spencer 2530e82275 Test case for PR454
llvm-svn: 18301
2004-11-28 04:29:29 +00:00