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