Chris Lattner [Sat, 20 Nov 2004 03:43:27 +0000 (03:43 +0000)]
Allow targets to implement relocation support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18032
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 20 Nov 2004 03:32:12 +0000 (03:32 +0000)]
Implement vacopy and vanext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Nov 2004 03:11:07 +0000 (03:11 +0000)]
Add accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Nov 2004 03:05:50 +0000 (03:05 +0000)]
New file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18029
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 20 Nov 2004 02:20:27 +0000 (02:20 +0000)]
Allow constructor parameter to override aggregating args; fix spacing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18028
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Nov 2004 02:17:03 +0000 (02:17 +0000)]
Remove dead #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18027
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 20 Nov 2004 01:27:40 +0000 (01:27 +0000)]
If we're going to mention mv and cp, clearly, we also need `rm'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18026
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 20 Nov 2004 00:10:20 +0000 (00:10 +0000)]
Revert the patch that adds Function* for each 64-bit libc div/mul/rem that we
want to do; instead, we can use MachineInstr::addExternalSymbol(char*, bool) and
thus we don't have to modify the Module as we are code generating for it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18025
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 19 Nov 2004 23:34:33 +0000 (23:34 +0000)]
Made modsched hidden and changed so it matches the style of other options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18024
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 19 Nov 2004 23:09:40 +0000 (23:09 +0000)]
Fix grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18023
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 19 Nov 2004 23:00:19 +0000 (23:00 +0000)]
Forgot to join srcdir and subdir for complete path for input files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18022
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 19 Nov 2004 22:46:23 +0000 (22:46 +0000)]
Adding srcdir arg. Added ability to specify the path to an input file. This is needed for when srcdir != objdir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18021
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 19 Nov 2004 22:45:25 +0000 (22:45 +0000)]
Adding srcdir arg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18020
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 19 Nov 2004 22:14:35 +0000 (22:14 +0000)]
Add protoypes for 64-bit long/ulong div, mul, and rem functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18019
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 19 Nov 2004 22:09:21 +0000 (22:09 +0000)]
Fix file comment header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18018
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 19 Nov 2004 21:54:43 +0000 (21:54 +0000)]
Ignore files generated by pod2html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18017
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 19 Nov 2004 21:53:22 +0000 (21:53 +0000)]
* Remove disk space requirements, they vary wildly, depend on the number of
tools built, the build type, and we don't keep them up-to-date on all
platforms
* AIX, Linux on PowerPC aren't fully-supported systems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18016
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 19 Nov 2004 21:49:19 +0000 (21:49 +0000)]
Handle GhostLinkage case for completeness (should not be seen by the asm writer)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18015
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 21:30:15 +0000 (21:30 +0000)]
Test case for reading MacOSX archives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18014
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 21:29:45 +0000 (21:29 +0000)]
MacOSX test archive (buggy).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18013
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 21:08:18 +0000 (21:08 +0000)]
Add VANext and VAArg stubs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18012
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 20:57:24 +0000 (20:57 +0000)]
Implement va_start.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 20:57:07 +0000 (20:57 +0000)]
Dont' forget to switch back to decimal output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18010
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 20:56:46 +0000 (20:56 +0000)]
Match change in MachineCodeEmitter prototype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18009
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 20:56:22 +0000 (20:56 +0000)]
External symbols are const char*'s now, change this to match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18008
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 20:46:15 +0000 (20:46 +0000)]
Instead of storing std::string's for ExternalSymbol references, rely on the
fact that all ExternalSymbols are actually string literals with static storage.
Thus we don't have to do anything special to hold them and we certainly don't
have to copy string data around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18007
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 20:31:08 +0000 (20:31 +0000)]
First part of varargs support: getting all varargs which could possibly
be in registers into memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18006
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 19:45:44 +0000 (19:45 +0000)]
Fix a bug that caused stuff like this:
main at ./eh.cpp:1414 -> printf("a\n");
to be printed, instead of this:
main at ./eh.cpp:14
14 -> printf("a\n");
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18005
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 19:21:34 +0000 (19:21 +0000)]
va_end can safely be codegen'd to nothing on v8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18004
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 18:53:59 +0000 (18:53 +0000)]
A very sorry stub implementation of varargs intrinsics...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18003
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 18:48:29 +0000 (18:48 +0000)]
Update list of expected test failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18002
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 19 Nov 2004 18:48:10 +0000 (18:48 +0000)]
Fix bug in casting to long/ulong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18001
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 18:44:31 +0000 (18:44 +0000)]
Make sure we can read an archive after it has been ranlib'd
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18000
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 17:09:48 +0000 (17:09 +0000)]
Fix memory leaks, patch contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 17:08:15 +0000 (17:08 +0000)]
Patches to avoid "leaking" memory on process exit. Patch contributed by
Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17998
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 17:08:00 +0000 (17:08 +0000)]
Correct the computation of when to add the padding. It is not based on the
member's size. It is based on the oddness/evenness of the file pointer.
This fixes a bug with llvm-ar not being able to read archives produced by
llvm-ranlib when there are members with odd long file name lengths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17997
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:49:34 +0000 (16:49 +0000)]
Fix the exposed prototype for the lower packed pass, thanks to
Morten Ofstad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17996
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:39:44 +0000 (16:39 +0000)]
Add hooks to free all memory allocated by the singleton factories in these
files. Patch contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17995
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:39:04 +0000 (16:39 +0000)]
Add static functions to clear singleton maps. Patch contributed by
Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17994
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:25:42 +0000 (16:25 +0000)]
These methods are long gone, ConstantPointerRef is dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17993
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:24:57 +0000 (16:24 +0000)]
CPR is dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17992
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:24:05 +0000 (16:24 +0000)]
Add note that this is for old bytecode files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17991
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 16:22:24 +0000 (16:22 +0000)]
Mission accomplished!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17990
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 15:56:28 +0000 (15:56 +0000)]
Allow this to compile even on machines that HAVE the bzlib library but do
NOT have the bzlib.h header file. Go figure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 08:44:07 +0000 (08:44 +0000)]
This is a horrible hack to work around libstdc++ bugs :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17988
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 19 Nov 2004 08:01:16 +0000 (08:01 +0000)]
Eliminate another 6k register copies that the register allocator would just
coalesce out of hbd. Speeds up compilation by 2% (0.6s)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Nov 2004 07:09:40 +0000 (07:09 +0000)]
Fix a bug in the checkin where I adjusted this code to work when
LinkModules nukes the second module argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17986
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 04:59:07 +0000 (04:59 +0000)]
Undo last change as its unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17985
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 04:46:10 +0000 (04:46 +0000)]
Test case for xpg4 style archive files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17984
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 04:45:19 +0000 (04:45 +0000)]
Test reading of SVR4 style archives with llvm-ar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17983
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 04:33:13 +0000 (04:33 +0000)]
Test case for reading SVR4 style archives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17982
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:44:10 +0000 (03:44 +0000)]
Don't save an iterator, just use post-increment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17981
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:41:57 +0000 (03:41 +0000)]
Solaris built archives in SVR4 and XPG4 styles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17980
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:27:05 +0000 (03:27 +0000)]
Eliminate unsightly ;;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17979
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:24:02 +0000 (03:24 +0000)]
A test file that goes into the test archive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17978
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:20:09 +0000 (03:20 +0000)]
Make a cast explicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17977
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:18:22 +0000 (03:18 +0000)]
Make findModulesDefiningSymbols modify its symbols argument so we can \
eliminate symbols defined by the archive efficiently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17976
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 03:13:25 +0000 (03:13 +0000)]
Reduce the amount of work in LinkInArchive by not searching the archive for
symbols it has already identified as not defining.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17975
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 Nov 2004 02:26:35 +0000 (02:26 +0000)]
Obligatory DejaGnu/expect file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17974
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 19 Nov 2004 02:06:40 +0000 (02:06 +0000)]
Generate fewer reg-reg copies for the register allocator to deal with.
This eliminates over 2000 in hbd alone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17973
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 19 Nov 2004 01:26:37 +0000 (01:26 +0000)]
Fixed a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17972
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 19 Nov 2004 01:25:14 +0000 (01:25 +0000)]
Added link to information on Statistic which is in the Programmers Manual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17971
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 21:41:39 +0000 (21:41 +0000)]
Delete stoppoints that occur for the same source line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17970
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 21:41:16 +0000 (21:41 +0000)]
Add support for llvm.dbg.stoppoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17969
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 21:25:11 +0000 (21:25 +0000)]
Line numbers are go for 1.4! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 21:21:54 +0000 (21:21 +0000)]
libpng is not even used by povray3.1 in the current configuration, just
drop it completely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17966
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 21:04:21 +0000 (21:04 +0000)]
Add MMC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17965
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 20:04:39 +0000 (20:04 +0000)]
Duh, put tools in *bin* directory, not *tools* directory as per
PR456.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17964
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 19:42:50 +0000 (19:42 +0000)]
Remove debugging code, unneuter this functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 19:40:13 +0000 (19:40 +0000)]
remove debugging code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17962
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 18 Nov 2004 18:47:29 +0000 (18:47 +0000)]
Fixed to fit in 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17961
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 18:38:58 +0000 (18:38 +0000)]
Add notes about makefile changes and llvm-ar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17960
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 18 Nov 2004 18:38:01 +0000 (18:38 +0000)]
Adding option to llc for ModuloScheduling. By default it is turned off.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17959
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 17:47:13 +0000 (17:47 +0000)]
These methods are inlined
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17958
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 17:46:57 +0000 (17:46 +0000)]
Update comments, now that CPR's are gone, inline the methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17957
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 17:24:20 +0000 (17:24 +0000)]
Check in hook that I forgot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17956
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 10:03:46 +0000 (10:03 +0000)]
Fix PR456:\
Tools and libraries will be built into $(BUILD_OBJ_ROOT)/$(BuildMode)/bin and \
$(BUILD_OBJ_ROOT)/$(BuildMode)/lib, respectively. Furthermore, the example \
programs will go in $(BUILD_OBJ_ROOT)/$(BuildMode)/examples to keep them \
separate from the tools and hopefully out of the PATH. Install targets \
have not changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17953
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 09:50:00 +0000 (09:50 +0000)]
Include ltdl.h if we have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17952
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 09:49:13 +0000 (09:49 +0000)]
Add checks for HAVE_LTDL_H and HAVE_LT_DLOPEN
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17951
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 09:47:37 +0000 (09:47 +0000)]
Changes for testing presence of ltdl.h and lt_dlopen(), libtool functions
for cross-platform dynamic loading of shared objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17950
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 18 Nov 2004 07:43:33 +0000 (07:43 +0000)]
Rewrite LoadArgumentsToVirtualRegs, making it match almost exactly how
visitCallInst works. Support cast of byte/short/int to long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17949
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 18 Nov 2004 07:43:32 +0000 (07:43 +0000)]
Update current expected failures list - expand it to include all of
SingleSource. Update to-do list (open-coding refers to binary operations on
longs, not to passing them into functions, which we already support.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17948
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 18 Nov 2004 07:22:46 +0000 (07:22 +0000)]
Eliminate another common source of moves that the register allocator
shouldn't be forced to coalesce for us: folded GEP operations. This too
fires thousands of times across the testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17947
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 18 Nov 2004 06:51:29 +0000 (06:51 +0000)]
When accessing the base register for global variables, use the register
directly rather than making a copy for the register allocator to coalesce.
This kills thousands of live intervals across the testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17946
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 06:01:45 +0000 (06:01 +0000)]
* There is no reason for SpillWeights to be an instance var
* Do not put fixed registers into the unhandled set. This means they will
never find their way into the inactive, active, or handled sets, so we
can simplify a bunch of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17945
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 05:28:21 +0000 (05:28 +0000)]
There is no need to check to see if j overflowed in this loop as we're only
incrementing i.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17944
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 05:19:02 +0000 (05:19 +0000)]
Moderate head scratching reveals that this conditional is not needed. If
i->start == j->start, then certainly i->end > j->start.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17943
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 18 Nov 2004 04:56:53 +0000 (04:56 +0000)]
Clean up and fix cast codegen by removing cases that are handled elsewhere,
and properly emitting signed short to unsigned int. This fixes the last
regression vs. the CBE, MultiSource/Applications/hbd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17942
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 04:33:40 +0000 (04:33 +0000)]
Dynamic Library abstraction. This makes the abstraction of a single dynamic
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17941
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 Nov 2004 04:33:39 +0000 (04:33 +0000)]
Dynamic Library abstraction. This makes the abstraction of a single dynamic
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 04:33:31 +0000 (04:33 +0000)]
Fix a couple of bugs where we considered physregs past their range as possibly
intersecting an interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17939
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 04:31:10 +0000 (04:31 +0000)]
Fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 04:13:02 +0000 (04:13 +0000)]
Start using the iterators in the fixed_ intervals to avoid having to binary
search physreg intervals every time we access it. This takes another
half second off of linscan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 04:02:11 +0000 (04:02 +0000)]
Take another .7 seconds off of linear scan time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 03:49:30 +0000 (03:49 +0000)]
Add a counter for the number of times linscan has to backtrack. Start using
the iterator hints we have to speed up overlaps(). This speeds linscan up
by about .2s (out of 8.7) on 175.vpr for PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 03:47:34 +0000 (03:47 +0000)]
Add ability to give hints to the overlaps routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 02:42:27 +0000 (02:42 +0000)]
* Improve comments/documentation substantially
* Eliminate the releaseMemory method, this is not an analysis
* Change the fixed, active, and inactive lists of intervals to maintain an
iterator for the current position in the interval. This allows us to do
constant time increments of the iterator instead of having to do a binary
search to find our liverange in our liveinterval all of the time, which
substantially speeds up cases where LiveIntervals have many LiveRanges
- which is very common for physical registers. On targets with many
physregs, this can make a noticable difference.
With a release build of LLC for PPC, this halves the time in
processInactiveIntervals and processActiveIntervals, from 1.5s to .75s.
This also lays the ground for more to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 02:37:31 +0000 (02:37 +0000)]
Add new advanceTo method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 01:34:44 +0000 (01:34 +0000)]
Fix a minor bug in expiredAt. endNumber() is the first number that is not valid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17931
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Nov 2004 01:29:39 +0000 (01:29 +0000)]
Rename some methods, use 'begin' instead of 'start', add new LiveInterval
iterator/begin/end members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17930
91177308-0d34-0410-b5e6-
96231b3b80d8