1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

15429 Commits

Author SHA1 Message Date
Chris Lattner
40539fe637 Add an accessor
llvm-svn: 17865
2004-11-15 23:20:19 +00:00
Chris Lattner
89536fedee Now that we have ghost linkage, we can force resolution of external symbols
immediately instead of lazily.

In this program, for example:

int main() {
  printf("hello world\n");
  printf("hello world\n");
  printf("hello world\n");
  printf("hello world\n");
}

We used to have to go through compilation callback 4 times (once for each
call to printf), now we don't go to it at all.

Thanks to Misha for noticing this, and for adding the initial ghost linkage
patches.

llvm-svn: 17864
2004-11-15 23:20:04 +00:00
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
b7ffbb51bf Update to reflect recent change
llvm-svn: 17860
2004-11-15 22:54:50 +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
Reid Spencer
625a480806 Remove useless/confusing namespace qualifier.
llvm-svn: 17852
2004-11-15 21:27:05 +00:00
Misha Brukman
757502af07 Add BCTR and LWZU instruction opcodes
llvm-svn: 17851
2004-11-15 21:20:09 +00:00
Reid Spencer
ebb0c09755 Merge content of RequiredSoftware.html into GettingStarted.html
Remove now defunct RequiredSoftware.html.

llvm-svn: 17850
2004-11-15 21:15:12 +00:00
Misha Brukman
754b6473e2 * Add entry for Linux/PowerPC
* Mark MacOS X/PPC support as 32-bit-only
* Fix FreeBSD space usage -- it's in MB, not GB

llvm-svn: 17848
2004-11-15 21:05:08 +00:00
Misha Brukman
7eb3b2d72a Be less verbose when The' and command' just aren't necessary
llvm-svn: 17846
2004-11-15 20:39:30 +00:00
Misha Brukman
3ad57c6887 No need for the verbose the llvm-link command' when simply llvm-link' will do
llvm-svn: 17845
2004-11-15 20:36:39 +00:00
Misha Brukman
79bb41ba1d Force a short link to gccld's man page
llvm-svn: 17844
2004-11-15 20:32:58 +00:00
Misha Brukman
ef41478bf9 Fix syntax within a B<> tag
llvm-svn: 17843
2004-11-15 20:30:19 +00:00
Reid Spencer
dfbe8f8203 Remove personal email address.
llvm-svn: 17842
2004-11-15 20:25:08 +00:00
Misha Brukman
3268b90e1a Add the PowerPC 32-bit ABI output option
llvm-svn: 17840
2004-11-15 20:22:49 +00:00
Chris Lattner
999ecb98cf Bump version. Shouldn't this come from somewhere else??
llvm-svn: 17839
2004-11-15 20:06:11 +00:00
Misha Brukman
9e89fb02cc * Add an entry for llvm-ranlib
* Add missing dashes

llvm-svn: 17838
2004-11-15 19:53:43 +00:00
Misha Brukman
6b49ace534 This is llvm-ar, not llvm-as.
llvm-svn: 17837
2004-11-15 19:50:15 +00:00
Reid Spencer
1258a2bd20 Remove reference to llvm-ld.
llvm-svn: 17836
2004-11-15 19:47:20 +00:00
Reid Spencer
24feec5a49 Terminate a list.
Remove reference to llvm-ld

llvm-svn: 17835
2004-11-15 19:45:29 +00:00
Misha Brukman
a3b5e5f569 Remove extra space char
llvm-svn: 17834
2004-11-15 19:30:05 +00:00
Tanya Lattner
c92390c9a9 This file was originally developed by the LLVM research group so this comment should stay. I also do NOT want my name explicity listed on src files. I am already mentioned in the credits.
llvm-svn: 17833
2004-11-15 19:21:49 +00:00
Reid Spencer
2af85416b0 Changes/corrections suggested from Chris Lattner's review.
llvm-svn: 17832
2004-11-15 19:12:06 +00:00
Chris Lattner
60e159a806 Warning fixes for VC++, contributed by Morten Ofstad!
llvm-svn: 17831
2004-11-15 19:02:35 +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
2292b174db Updates to Visual C++ project files for building on win32.
Patch contributed by Morten Ofstad.

llvm-svn: 17829
2004-11-15 17:28:08 +00:00
Reid Spencer
8d590bf3ee Update relative files.
Patch contributed by Morten Ofstad.

llvm-svn: 17828
2004-11-15 17:27:00 +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
Misha Brukman
2504c15db2 Replace the textual description with table specifying disk space requirements
llvm-svn: 17819
2004-11-15 05:19:53 +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