aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2004-02-15Eliminate the use of spill (reserved) registers.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11476 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Adjustments to support the new ConstantAggregateZero classChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11474 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Add support for the new ConstantAggregateZero classChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11473 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Make the JIT zero out globals with memset instead of an element at a time. ThisChris Lattner
should speed it up a bit on a lot of programs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11472 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15No need to scan zero initializers. This should make DSA a bit faster.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Add a new ConstantAggregateZero class, to fix PR239. This makes zeroChris Lattner
initializers for constant structs and arrays take constant space, instead of space proportinal to the number of elements. This reduces the memory usage of the LLVM compiler by hundreds of megabytes when compiling some nasty SPEC95 benchmarks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15ConstantArray::get and ConstantStruct::get now just return pointers toChris Lattner
'Constant', instead of specific subclass pointers. In the future, these will return an instance of ConstantAggregateZero if all of the inputs are zeros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11467 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Remove dependence on return type of ConstantStruct::getChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11466 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Remove dependence on the return type of ConstantArray::getChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11463 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Keep a cache of non-abstract null arrays and structs. This speeds up llvm-disChris Lattner
from 16.57 -> 13.46s on 129.compress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11462 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Implement llvm.(frame|return)address(0) correctly. They are used by the ↵Chris Lattner
LLVM JIT, among other applications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11459 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Fix problem in DEBUG code. I could be pointing past the end andAlkis Evlogimenos
dereferencing it causes an assertion error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11458 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Fix the 'have a framepointer' case, so that the frame pointer always pointsChris Lattner
to the old saved EBP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11455 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Allow for fixed objects to reside in the local area, and if they don't to notChris Lattner
clobber them by allocating other objects in the same space! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11454 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Add back machine code deleter pass until we get a MachineCode passAlkis Evlogimenos
that will be responsible for the creation of MachineFunctions and will be required by all MachineFunctionPass passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11453 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Modularize implementation of LeakDetector into a typed templateAlkis Evlogimenos
implementation class. This makes the code simpler and allows for more types to be added easily. It also implements caching for generic objects (it was only available for llvm objects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11452 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Add support for the 'pop' instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11451 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14There is no reason to align the stack pointer if there are no callees of thisChris Lattner
function! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11450 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14There is no reason to align the stack pointer if there are no callees of ↵Chris Lattner
this function! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11449 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14The prologue/epilogue related method calls have no reason to return a value,Chris Lattner
make them return void. This allows us to avoid some costly MBB.size() calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11448 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14finegrainify namespacification, fix 80col probChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11445 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14A target that doesn't support these intrinsics will still meet spec (theChris Lattner
intrinsic will always produce zero), but it will behave unexpectedly, so warn like GCC does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11444 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Urg, right. These need an input value...Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Codegen llvm.memset into rep stos[bwd]. Simplify code for llvm.memcpyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11442 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14add 'rep stos[bwd]' instructionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Add support for the returnaddress and frameaddress intrinsicsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11433 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Add llvm.memset/frameaddress/returnaddress intrinsics.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Use newly added next() and prior() utility functions.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11430 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Use std::numeric_limits<float>::infinity() instead ofAlkis Evlogimenos
std::numeric_limits<float>::max() for weighting preallocated intervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Use intrinsic lowering like the rest of the backends. Get rid of crufty hackyChris Lattner
code that worked around problems in the mangler git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14Fix the logic in the name mangler. If there are two symbols named 'X', and oneChris Lattner
is external, make sure to mangle the *internal* one, not external one git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11424 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13There is no need to emit a shift if the size is constant, which is commonChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11420 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Moved directory, update makefileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11417 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13CBackend is no longer hereChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11416 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13CBackend now lives hereChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11415 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Convert the C backend into a target, for use with LLC. This allows us to useChris Lattner
the lowerallocations pass to eliminate malloc/free warnings and hackish code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Make the cwriter use the lowerinvoke pass so that it can either use ↵Chris Lattner
"disabled exceptions" or "expensive exceptions" controlled by an option. Also refactor and eliminate a bunch of cruft. This is a temporary solution and causes millions of warnings to pour out of programs that use exceptions, but it should fix the problem with sparc and the 'write' declaration (PR190). Subsequent changes will make this stink much less git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11405 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Add support for a bunch more functionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Remove getAllocatedRegNum(). Use getReg() instead.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Add support for fopen/fclose. Specifically with fopen, we were marking all ↵Chris Lattner
of the operands as incomplete, though fopen is known to only read them. This just adds fclose for symmetry, though it doesn't gain anything. This makes the dsgraphs for 181.mcf much more precise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Use getNumVirtualRegs().Alkis Evlogimenos
Whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Fix compilation of 126.gcc: intrinsic functions cannot throw, so they are notChris Lattner
allowed in invoke instructions. Thus, if we are inlining a call to an intrinsic function into an invoke site, we don't need to turn the call into an invoke! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11384 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Intrinsic functions cannot throwChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Expose a pass ID that can be 'required'Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11376 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Squish warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11375 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Restructure code to handle memcpy/memmoveChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11374 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Fix off-by-one in Interpreter::getFirstVarArg(), which was punishingBrian Gaeke
any attempts by LLI to use varargs (possibly left over from the introduction of IntrinsicLowering??) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Fine grainify namespacification, prune #includesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11369 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13The Interpreter was failing the AtExit UnitTest. This fixes it.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Refactor MachineFunction::print() into MachineBasicBlock::print().Brian Gaeke
Add MachineBasicBlock::dump(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11364 91177308-0d34-0410-b5e6-96231b3b80d8