1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 06:22:56 +02:00
Commit Graph

15884 Commits

Author SHA1 Message Date
Reid Spencer
e4efcbf807 Use System/DynamicLibrary instead of Support/DynamicLinker to implement.
llvm-svn: 18356
2004-11-29 14:07:46 +00:00
Reid Spencer
66b4a250cf Implement two new functions: LoadLibraryPermanently and
SearchForAddressOfSymbol.

llvm-svn: 18355
2004-11-29 13:33:28 +00:00
Reid Spencer
fea77c07f6 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
e76c012f3a Shared library extension is now in LTDL_SHLIB_EXT
llvm-svn: 18353
2004-11-29 12:40:21 +00:00
Reid Spencer
c0b0d036b3 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
e4b484789d 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
71ebca79cb Changes resulting from AC_LIB_LTDL usage.
llvm-svn: 18350
2004-11-29 12:36:16 +00:00
Reid Spencer
a4b17dc498 * Implement embedding libltdl into LLVM which required some rearranging.
llvm-svn: 18349
2004-11-29 12:29:58 +00:00
Reid Spencer
abfada9855 * Update instructions about upgrading libtool
* Add instructions about upgrading autoconf

llvm-svn: 18348
2004-11-29 12:28:47 +00:00
Reid Spencer
dba402cd23 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
e498308615 Mods for compilation with llvm.
llvm-svn: 18346
2004-11-29 12:04:27 +00:00
Reid Spencer
42ceb789ad Original version of ltdl.h from libtool 1.5.10
llvm-svn: 18345
2004-11-29 12:02:48 +00:00
Reid Spencer
93069daab2 Original version of ltdl.c from libtool 1.5.10
llvm-svn: 18344
2004-11-29 12:02:25 +00:00
Reid Spencer
2e8d329bdf Converted with autoupdate for autoconf 2.50 -> 2.59 differences.
llvm-svn: 18343
2004-11-29 11:27:12 +00:00
Reid Spencer
fe2de15061 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
9e369115fc 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
19f0bd4d59 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
df47d9540f Make it HTML 4.01 Strict compliant.
llvm-svn: 18339
2004-11-29 07:47:16 +00:00
Reid Spencer
86b80570a4 * 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
c21038f9d3 No longer necessary, moved Makefile.rules
llvm-svn: 18337
2004-11-29 07:17:31 +00:00
Reid Spencer
317a49efa2 Use LLVMLIBS=JIT to get JIT libraries
llvm-svn: 18333
2004-11-29 07:17:18 +00:00
Reid Spencer
134b5c37af Incorporate tools/Makefile.JIT
llvm-svn: 18332
2004-11-29 07:17:07 +00:00
Reid Spencer
26e97d7235 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
9c400f3b28 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
327f10f795 * 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
673bdf9679 Add "docs" as a descendable directory (at the end)
llvm-svn: 18328
2004-11-29 04:57:55 +00:00
Reid Spencer
d1b9824b3d * 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
b7979585f7 * 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
307abddd22 Make the check a little quieter.
llvm-svn: 18325
2004-11-29 04:51:58 +00:00
Reid Spencer
5d11b8b5a8 * 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
ed6988a792 Moved --> doxygen.cfg.in
llvm-svn: 18323
2004-11-29 04:46:12 +00:00
Tanya Lattner
4b705a5897 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
43aa71404f * 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
d30849be4d * 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
561010bb7f Adjust this so that doxygen doesn't barf on it.
llvm-svn: 18319
2004-11-29 03:47:37 +00:00
Reid Spencer
02c45c1b81 * 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
fa10df0bb3 * 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
7a59355895 Add a link.
llvm-svn: 18316
2004-11-29 03:37:54 +00:00
Reid Spencer
6478ac3a10 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
819de3ccd4 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
2a44307376 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
dd287f7758 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
1de5cd0fd0 The LLVM bool type shall have 1 byte alignment on PPC.
llvm-svn: 18311
2004-11-28 21:16:45 +00:00
Chris Lattner
7301399232 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
e65724d6eb Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
llvm-svn: 18308
2004-11-28 20:30:15 +00:00
Chris Lattner
cb327ac66a New testcase. The store is not dead here.
llvm-svn: 18307
2004-11-28 19:54:02 +00:00
Chris Lattner
c3750aa2a3 Fix SingleSource/UnitTests/2004-11-28-GlobalBoolLayout.c, and hopefully
PR449

llvm-svn: 18306
2004-11-28 17:56:47 +00:00
Chris Lattner
771cb4fb14 new testcase for PR463
llvm-svn: 18304
2004-11-28 16:47:46 +00:00
Chris Lattner
bf49c461ef Fix PR463
llvm-svn: 18303
2004-11-28 16:45:45 +00:00
Reid Spencer
170cb867c5 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