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
Reid Spencer
b9baef5ca8
Simplify handling of decompression
...
llvm-svn: 17769
2004-11-14 22:00:09 +00:00
Reid Spencer
115f252d2a
Simplify decompression code by using the high level interface to the Compressor
...
llvm-svn: 17768
2004-11-14 21:59:21 +00:00
Reid Spencer
2917639a35
Completely rewritten to allow reading of archives and symbol table lookup in a more efficient manner.
...
llvm-svn: 17767
2004-11-14 21:58:33 +00:00
Reid Spencer
0a3e3a41c3
Implementation declarations for Archive
...
llvm-svn: 17766
2004-11-14 21:57:46 +00:00
Reid Spencer
131f129398
First working version
...
llvm-svn: 17765
2004-11-14 21:56:59 +00:00
Reid Spencer
0a3ec41881
Add the Archive library
...
llvm-svn: 17764
2004-11-14 21:55:27 +00:00
Reid Spencer
08a949d512
Add the Linker library
...
llvm-svn: 17763
2004-11-14 21:54:41 +00:00
Reid Spencer
e902694309
*Make naming convention consistent.*Add convertion to/from Unix Epoch time.*Add ability to convert to readable string.
...
llvm-svn: 17762
2004-11-14 21:53:55 +00:00
Reid Spencer
73e4677779
Make the remove*OnSignal functions deal with Paths not strings
...
llvm-svn: 17761
2004-11-14 21:53:09 +00:00
Reid Spencer
63a08a4cef
*Put the StatusInfo type in the right section. *Provide the ability to rename a file.*Provide the ability to get/set stat(2) information.*Provide the ability to identify LLVM file types.
...
llvm-svn: 17760
2004-11-14 21:52:22 +00:00
Reid Spencer
858bc78223
Allow explicit closing of the MappedFile, before destruction
...
llvm-svn: 17759
2004-11-14 21:51:36 +00:00
Reid Spencer
df6952563a
Linker is its own module now. Moved to include/llvm/Linker.h
...
llvm-svn: 17758
2004-11-14 21:50:50 +00:00
Reid Spencer
7622437947
Add higher level interface to simplify use of Compressor
...
llvm-svn: 17757
2004-11-14 21:50:00 +00:00
Reid Spencer
2505c4beff
Add the MoreHelp function pointer. If non-null, this specifies a function to be called to print out additional help information
...
llvm-svn: 17756
2004-11-14 21:49:13 +00:00
Reid Spencer
0635c876ce
Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate form for GetBytecodeSymbols.
...
llvm-svn: 17755
2004-11-14 21:48:27 +00:00
Reid Spencer
760e7993c4
Complete rewrite to get first working version.
...
llvm-svn: 17754
2004-11-14 21:47:41 +00:00
Reid Spencer
d0d63d8617
Add a command for using llvm-ar correctly.
...
llvm-svn: 17753
2004-11-14 21:46:55 +00:00
Reid Spencer
9008154865
Interface to Linker (revised/expanded from Support/Linker.h)
...
llvm-svn: 17752
2004-11-14 21:46:08 +00:00
Misha Brukman
8d4e1d62dd
GhostLinkage not allowed in LLVM AsmWriter, either
...
llvm-svn: 17751
2004-11-14 21:04:34 +00:00
Misha Brukman
8c1b4a5b9d
GhostLinkage should not reach asm printing stage
...
llvm-svn: 17750
2004-11-14 21:03:49 +00:00
Misha Brukman
0d900050be
Handle GhostLinkage (should not ever reach the assembly printing stage!)
...
llvm-svn: 17749
2004-11-14 21:03:30 +00:00
Misha Brukman
6da7a2e054
Mark an unmaterialized function as having GhostLinkage
...
llvm-svn: 17748
2004-11-14 21:02:55 +00:00
Misha Brukman
c7cdc44158
Add GhostLinkage for marking functions before they're fully materialized
...
llvm-svn: 17747
2004-11-14 21:02:28 +00:00
Chris Lattner
e4a97f4bee
If a global is just loaded and restored, realize that it is not changing
...
value. This allows us to turn more globals into constants and eliminate them.
This patch implements GlobalOpt/load-store-global.llx.
Note that this patch speeds up 255.vortex from:
Output/255.vortex.out-cbe.time:program 7.640000
Output/255.vortex.out-llc.time:program 9.810000
to:
Output/255.vortex.out-cbe.time:program 7.250000
Output/255.vortex.out-llc.time:program 9.490000
Which isn't bad at all!
llvm-svn: 17746
2004-11-14 20:50:30 +00:00
Chris Lattner
dd453fb3ce
New testcase. Believe it or not, this happens a LOT in vortex
...
llvm-svn: 17745
2004-11-14 20:41:39 +00:00
Misha Brukman
c98cd22aae
Fix build on Linux/PowerPC64 using SuSE GCC (#undef PPC)
...
llvm-svn: 17744
2004-11-14 20:34:01 +00:00
Reid Spencer
2f680d5cfd
Moved from include/llvm/Support/Linker.h
...
llvm-svn: 17743
2004-11-14 20:21:58 +00:00
Reid Spencer
9534caa3bb
Moved to lib/Bytecode/Archive in preparation for re-write.
...
llvm-svn: 17742
2004-11-14 19:59:40 +00:00
Chris Lattner
3d61b688a9
This optimization makes MANY phi nodes that all have the same incoming value.
...
If this happens, detect it early instead of relying on instcombine to notice
it later. This can be a big speedup, because PHI nodes can have many
incoming values.
llvm-svn: 17741
2004-11-14 19:29:34 +00:00
Chris Lattner
1e4cad9176
Implement instcombine/phi.ll:test6 - pulling operations through PHI nodes.
...
This exposes subsequent optimization possiblities and reduces code size.
This triggers 1423 times in spec.
llvm-svn: 17740
2004-11-14 19:13:23 +00:00
Chris Lattner
fe6c85da57
New testcase: the phi can be eliminated if the casts are sucked into it.
...
Note that this reduces code size anyway (as well as making further
optimizations simpler) so it's always a win.
llvm-svn: 17739
2004-11-14 19:12:17 +00:00
Chris Lattner
2c4f762b42
Fix typo
...
llvm-svn: 17738
2004-11-14 17:54:58 +00:00
Chris Lattner
95cc0ed9dd
add a testcase, which we already handle
...
llvm-svn: 17737
2004-11-14 17:54:27 +00:00
Chris Lattner
fdd41995d8
Transform this:
...
%X = alloca ...
%Y = alloca ...
X == Y
into false. This allows us to simplify some stuff in eon (and probably
many other C++ programs) where operator= was checking for self assignment.
Folding this allows us to SROA several additional structs.
llvm-svn: 17735
2004-11-14 07:33:16 +00:00
Chris Lattner
d6d9a04344
Remove note to self
...
llvm-svn: 17734
2004-11-14 06:57:47 +00:00
Brian Gaeke
f9ec4c8ee2
Fix problem with insertion point for ADJCALLSTACKDOWN.
...
llvm-svn: 17733
2004-11-14 06:32:08 +00:00
Brian Gaeke
0e77dab4e8
Update lists of failing unit tests.
...
Exclude bigfib, so that we effectively exclude all C++ benchmarks.
Update to-do list: mention va_start.
llvm-svn: 17732
2004-11-14 06:32:07 +00:00
Chris Lattner
8418e06978
Oops, make this test the right thing.
...
llvm-svn: 17731
2004-11-14 06:11:41 +00:00
Chris Lattner
363e78c357
If a function always returns a constant, replace all calls sites with that
...
constant value. This makes the return value dead and allows for
simplification in the caller.
This implements IPConstantProp/return-constant.ll
This triggers several dozen times throughout SPEC.
llvm-svn: 17730
2004-11-14 06:10:11 +00:00
Chris Lattner
c654682042
New testcase
...
llvm-svn: 17729
2004-11-14 06:02:46 +00:00
Brian Gaeke
ab60855423
Fix NotTest - round up extraStack to the nearest doubleword, if it is
...
not zero.
llvm-svn: 17728
2004-11-14 05:19:00 +00:00
Chris Lattner
d0a0af0818
Teach SROA how to promote an array index that is variable, if the dimension
...
of the array is just two. This occurs 8 times in gcc, 6 times in crafty, and
12 times in 099.go.
This implements ScalarRepl/sroa_two.ll
llvm-svn: 17727
2004-11-14 05:00:19 +00:00
Chris Lattner
ee0b810d6d
New testcase, SROA with variable array index
...
llvm-svn: 17726
2004-11-14 04:58:40 +00:00
Brian Gaeke
79f5f96a60
Update failing Benchmarks; point out that I'm skipping Shootout-C++.
...
llvm-svn: 17725
2004-11-14 04:43:12 +00:00
Chris Lattner
bc35272f86
Rearrange some code, no functionality changes.
...
llvm-svn: 17724
2004-11-14 04:24:28 +00:00