aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-11-14Implementation declarations for ArchiveReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14First working versionReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Add the Archive libraryReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Add the Linker libraryReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17763 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14*Make naming convention consistent.*Add convertion to/from Unix Epoch ↵Reid Spencer
time.*Add ability to convert to readable string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Make the remove*OnSignal functions deal with Paths not stringsReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14*Put the StatusInfo type in the right section. *Provide the ability to ↵Reid Spencer
rename a file.*Provide the ability to get/set stat(2) information.*Provide the ability to identify LLVM file types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Allow explicit closing of the MappedFile, before destructionReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17759 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Linker is its own module now. Moved to include/llvm/Linker.hReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17758 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Add higher level interface to simplify use of CompressorReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Add the MoreHelp function pointer. If non-null, this specifies a function to ↵Reid Spencer
be called to print out additional help information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17756 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate ↵Reid Spencer
form for GetBytecodeSymbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Complete rewrite to get first working version.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Add a command for using llvm-ar correctly.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Interface to Linker (revised/expanded from Support/Linker.h)Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14GhostLinkage not allowed in LLVM AsmWriter, eitherMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14GhostLinkage should not reach asm printing stageMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17750 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Handle GhostLinkage (should not ever reach the assembly printing stage!)Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17749 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Mark an unmaterialized function as having GhostLinkageMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Add GhostLinkage for marking functions before they're fully materializedMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14If a global is just loaded and restored, realize that it is not changingChris Lattner
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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14New testcase. Believe it or not, this happens a LOT in vortexChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17745 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Fix build on Linux/PowerPC64 using SuSE GCC (#undef PPC)Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Moved from include/llvm/Support/Linker.hReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17743 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Moved to lib/Bytecode/Archive in preparation for re-write.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17742 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14This optimization makes MANY phi nodes that all have the same incoming value.Chris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17741 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Implement instcombine/phi.ll:test6 - pulling operations through PHI nodes.Chris Lattner
This exposes subsequent optimization possiblities and reduces code size. This triggers 1423 times in spec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14New testcase: the phi can be eliminated if the casts are sucked into it.Chris Lattner
Note that this reduces code size anyway (as well as making further optimizations simpler) so it's always a win. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Fix typoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17738 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14add a testcase, which we already handleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Transform this:Chris Lattner
%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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17735 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Remove note to selfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17734 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Fix problem with insertion point for ADJCALLSTACKDOWN.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17733 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Update lists of failing unit tests.Brian Gaeke
Exclude bigfib, so that we effectively exclude all C++ benchmarks. Update to-do list: mention va_start. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17732 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Oops, make this test the right thing.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17731 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14If a function always returns a constant, replace all calls sites with thatChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17730 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17729 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Fix NotTest - round up extraStack to the nearest doubleword, if it isBrian Gaeke
not zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17728 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Teach SROA how to promote an array index that is variable, if the dimensionChris Lattner
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17727 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14New testcase, SROA with variable array indexChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17726 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Update failing Benchmarks; point out that I'm skipping Shootout-C++.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Rearrange some code, no functionality changes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17724 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Update expected UnitTests failures.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17723 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Rewrite outgoing arg handling to handle more weird corner cases.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17722 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Support UndefValue emission.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17721 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13setting path to prcontext.tcl script. Right now it searches for tclsh in ↵Tanya Lattner
your path, but this should be obtained from configure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17720 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Remove debugging codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17719 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Argument promotion transforms functions to unconditionally load theirChris Lattner
argument pointers. This is only valid to do if the function already unconditionally loaded an argument or if the pointer passed in is known to be valid. Make sure to do the required checks. This fixed ArgumentPromotion/control-flow.ll and the Burg program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Add a testcase we should continue to argpromoteChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17717 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Add a testcase for a function we cannot legally promote the argument of.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17716 91177308-0d34-0410-b5e6-96231b3b80d8