1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
Commit Graph

8191 Commits

Author SHA1 Message Date
Chris Lattner
583ea4764c There is no reason to try to materialize the function from bytecode if it
already has been.  This may be a small speedup.

llvm-svn: 17863
2004-11-15 23:18:09 +00:00
Chris Lattner
3ed3e8669f Add debug-only=jit printout, so we see when lazily resolved symbols are
set up.

llvm-svn: 17862
2004-11-15 23:16:55 +00:00
Chris Lattner
9ef34d44e1 Simplify and rearrange long shift code
llvm-svn: 17861
2004-11-15 23:16:34 +00:00
Chris Lattner
10b5a5c0da Do not emit FunctionBlock blocks for external functions. This shrinks
bytecode files by about 8 bytes per external function

llvm-svn: 17859
2004-11-15 22:39:49 +00:00
Chris Lattner
558ce75905 Use a per-function flag bit to indicate whether or not there is a function
body for the function.

llvm-svn: 17858
2004-11-15 22:38:52 +00:00
Chris Lattner
c199d448e9 Disable this change, it was premature
llvm-svn: 17857
2004-11-15 21:56:33 +00:00
Chris Lattner
704cad0375 Make *SURE* to null out the pointer before throwing an exception, otherwise
the dtor for the BytecodeReader class will try to free it again!

llvm-svn: 17856
2004-11-15 21:55:33 +00:00
Chris Lattner
4a2ae87435 Cleanups. Null out pointer after freeing it for paranoia
llvm-svn: 17855
2004-11-15 21:55:06 +00:00
Chris Lattner
571b490404 If a function is external, do not output a FunctionBlock for the function
AT ALL.  This saves 11 bytes per external function from the bytecode file,
and is also required to make GhostLinkage work.

llvm-svn: 17854
2004-11-15 21:46:40 +00:00
Chris Lattner
d1e621acc6 Make functions default to having external linkage if they have no
FunctionBlock.

llvm-svn: 17853
2004-11-15 21:43:03 +00:00
Misha Brukman
757502af07 Add BCTR and LWZU instruction opcodes
llvm-svn: 17851
2004-11-15 21:20:09 +00:00
Misha Brukman
a3b5e5f569 Remove extra space char
llvm-svn: 17834
2004-11-15 19:30:05 +00:00
Reid Spencer
e986ef23d7 Remove unused variable for compilation by VC++.
Patch contributed by Morten Ofstad.

llvm-svn: 17830
2004-11-15 17:29:41 +00:00
Reid Spencer
247d690431 Provide the ThrowErrno utility.
Patch contributed by Morten Ofstad

llvm-svn: 17827
2004-11-15 17:21:57 +00:00
Reid Spencer
238e966215 Adjust implementation to match new interface.
Patch provided by Morten Ofstad

llvm-svn: 17826
2004-11-15 17:20:28 +00:00
Chris Lattner
f95f7e05a5 Minor cleanups. There is no reason for SCCP to derive from instvisitor anymore.
llvm-svn: 17825
2004-11-15 07:15:04 +00:00
Chris Lattner
4aa7dc02bf Count more accurately
llvm-svn: 17824
2004-11-15 07:02:42 +00:00
Brian Gaeke
56da74bd11 Update list of failing Benchmarks.
llvm-svn: 17823
2004-11-15 05:57:26 +00:00
Brian Gaeke
075be51e61 Expand Defs to encompass all the possibly-call-clobbered regs.
llvm-svn: 17822
2004-11-15 05:56:53 +00:00
Chris Lattner
20a9efa189 Quiet warnings on the persephone tester
llvm-svn: 17821
2004-11-15 05:54:07 +00:00
Chris Lattner
e87a1360b3 Two minor improvements:
1. Speedup getValueState by having it not consider Arguments.  It's better
    to just add them before we start SCCP'ing.
 2. SCCP can delete the contents of dead blocks.  No really, it's ok!  This
    reduces the size of the IR for subsequent passes, even though
    simplifycfg would do the same job.  In practice, simplifycfg does not
    run until much later than sccp in gccas

llvm-svn: 17820
2004-11-15 05:45:33 +00:00
Chris Lattner
4ad574191b rename InstValue to LatticeValue, as it holds for more than instructions.
llvm-svn: 17818
2004-11-15 05:03:30 +00:00
Reid Spencer
5fc587b13e Actually get the #include correct so it compiles .. duh.
llvm-svn: 17817
2004-11-15 04:47:22 +00:00
Chris Lattner
bde8da9e43 Substantially refactor the SCCP class into an SCCP pass and an SCCPSolver
class.  The only changes are minor:

 * Do not try to SCCP instructions that return void in the rewrite loop.
   This is silly and fool hardy, wasting a map lookup and adding an entry
   to the map which is never used.
 * If we decide something has an undefined value, rewrite it to undef,
   potentially leading to further simplications.

llvm-svn: 17816
2004-11-15 04:44:20 +00:00
Reid Spencer
8d0de0688c Make it actually compile on Solaris.
llvm-svn: 17815
2004-11-15 04:42:44 +00:00
Reid Spencer
2638dac5e9 Consolidate the implementation of TimeValue::now() for Unix to use the
seemingly ubiquitous gettimeofday(3) call.

llvm-svn: 17813
2004-11-15 04:36:35 +00:00
Reid Spencer
52da956231 * Make sure the string table gets read even if there isn't a foreign
symbol table.
* Make sure we update the file pointer for each member when rebuilding the
  symbol table.

llvm-svn: 17812
2004-11-15 01:40:20 +00:00
Reid Spencer
bfc924424d Changes necessary to enable linking of archives without LLVM symbol tables.
llvm-svn: 17811
2004-11-15 01:20:11 +00:00
Reid Spencer
29eb55846f Remove a forgotten debug output line.
llvm-svn: 17810
2004-11-14 23:49:55 +00:00
Reid Spencer
2012d091b2 Implement functionality suggested from code review: getStatusInfo should
returnn false if the file doesn't exist rather than throw ane exception.

llvm-svn: 17809
2004-11-14 23:30:38 +00:00
Reid Spencer
7850852268 Linker.h moved to include/llvm from include/llvm/Support.
llvm-svn: 17807
2004-11-14 23:27:04 +00:00
Reid Spencer
7de5984452 Make sure IdentifyFileType is in the sys namespace.
llvm-svn: 17806
2004-11-14 23:26:18 +00:00
Reid Spencer
7a004d2749 Linker.h has a new home.
llvm-svn: 17801
2004-11-14 23:00:08 +00:00
Reid Spencer
85698d2435 Moved to lib/Bytecode/Archive.
llvm-svn: 17800
2004-11-14 22:38:32 +00:00
Alkis Evlogimenos
a29bf44bde Add missing include.
llvm-svn: 17799
2004-11-14 22:37:42 +00:00
Reid Spencer
e51435be09 Moved to lib/Linker
llvm-svn: 17786
2004-11-14 22:15:31 +00:00
Reid Spencer
542b5216bf Forget strerror_r, it causes problems. Fix later when threading matters
llvm-svn: 17783
2004-11-14 22:10:54 +00:00
Reid Spencer
bd1d413e4e Implement the toString method
llvm-svn: 17782
2004-11-14 22:10:08 +00:00
Reid Spencer
3dfb002523 Update for prototype changes
llvm-svn: 17781
2004-11-14 22:09:22 +00:00
Reid Spencer
b73d75e4ff * Implement getDirectoryContents * Implement getStatusInfo * Implement setStatusInfo * Implement renameFile
llvm-svn: 17780
2004-11-14 22:08:36 +00:00
Reid Spencer
59872e60ef Fix bugs in class invariant
llvm-svn: 17779
2004-11-14 22:07:50 +00:00
Reid Spencer
a6b803539a Include the correct implementation file
llvm-svn: 17778
2004-11-14 22:07:04 +00:00
Reid Spencer
85b6b57c5e Don't exceed 80 columns.
llvm-svn: 17777
2004-11-14 22:06:18 +00:00
Reid Spencer
381c80ec88 Implement IdentifyFileType function
llvm-svn: 17776
2004-11-14 22:05:32 +00:00
Reid Spencer
f3923a1cf7 Implement the high level interface to make (de)compression easier.
llvm-svn: 17775
2004-11-14 22:04:46 +00:00
Reid Spencer
8bf3328ca7 Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null.
llvm-svn: 17774
2004-11-14 22:04:00 +00:00
Reid Spencer
292678447a Don't bother with a re-linked library, ensure archive library is built.
llvm-svn: 17773
2004-11-14 22:03:14 +00:00
Reid Spencer
8a2a29e286 *Adjust prototypes for public interface. *Rewrite LinkInArchive to use symbol tables.
llvm-svn: 17772
2004-11-14 22:02:27 +00:00
Reid Spencer
5c112bc910 Simplify compression code by using the high level interface to the Compressor
llvm-svn: 17771
2004-11-14 22:01:41 +00:00
Reid Spencer
cc354b445d Add wrappers to get defined symbols from bytecode
llvm-svn: 17770
2004-11-14 22:00:48 +00:00