aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-07-07When folding constant expr gep's, don't force the use of long indices.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-07Bug fixedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14657 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-07New testcase for PR396Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14656 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-07Disable coalescing.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Make sure people don't make functiontypes with an invalid return typeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14654 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06* Add support for calling vararg functions (must pass doubles in int regs too)Misha Brukman
* Make visitSetCondInst() share condition-generating code with EmitComparison() * There are 13 FPRs for function-passing arguments, not 8 * Do not rely on registers being sequential, use an array lookup * In unimplemented switch cases, send an error and abort instead of silent fall-through * Add doInitialization() for adding function prototypes for external math fns * Minor changes: fix indentation, spacing, code clarity git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14653 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Use the more compact `bl' instead of cryptic (but equivalent) `bcl 20,31'Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Work around apparent Apple compiler bug which was making all mangledBrian Gaeke
names start with l0_. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06PunctuateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Check to make sure types are sized before calling getTypeSize on them.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14649 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06It doesn't matter what the 2nd operand is; if the GEP has 2 operands andBrian Gaeke
the first is a zero, we should leave it alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14648 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Add helper function.Brian Gaeke
Don't touch GEPs for which DecomposeArrayRef is not going to do anything special (e.g., < 2 indices, or 2 indices and the last one is a constant.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14647 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Find bugs sooner rather than later. In this case, don't allow the creationChris Lattner
of instructions that don't have a first-class or void type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14646 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Change the "rotate by 90" xtics specification to just "rotate" which isReid Spencer
equivalent. The "by <angle>" syntax is not acceptable for all output devices. Apparently the Sparc and x86 output devices (no color) don't accept this, but should accept the plain "rotate". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Do not crash when joining two intervals of registers of differentAlkis Evlogimenos
classes: just ignore that move. Thanks to Vladimir Prus who found the bug! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06* Add utility functions: convert SetCC => PPC opcode and invert PPC opcodeMisha Brukman
* If SetCondInst is folded into BranchInst (and it is the only user), do not emit code for SetCondInst * Fix assembly opcodes in comments in visitSetCondInst() * Fix codegen of conditional branches git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Implement rem.ll:test3Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14640 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14639 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Fix a minor bug where we would go into infinite loops on some constantsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14638 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Implement InstCombine/sub.ll:test15: X % -Y === X % YChris Lattner
Also, remove X % -1 = 0, because it's not true for unsigneds, and the signed case is superceeded by this new handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14637 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14636 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Fix a bug in the unreachable block elim pass. Dropping all references on aChris Lattner
basic block clear()'s all of the operands lists, including phis. This caused removePredecessor to get confused later. Because of this, we just nuke (without prejudice) PHI nodes in unreachable blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14635 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06Remove definition and use of OtherVal enumerator. This just fixes a thinko.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14634 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05First draft completed. All sections written.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14633 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05Caused the labels on the small plots to be drawn vertically instead ofReid Spencer
horizontally so they no longer overlap. This eye-strain-lessening patch contributed by Vladimir Merzliakov. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14632 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05Added sections for Constant Pool, Module Global Info, and CompactionReid Spencer
Tables. Two more sections to go. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14631 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05Add a missing "terminator" :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14630 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05Structures allow only uintChris Lattner
arrays allow int/uint/long/ulong git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14629 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05- Reorganized the document contentsReid Spencer
- Provided a "General Layout" section that currently covers just the block structure of the bytecode file. - Wrote the section on the Global Type Pool - Wrote the section on differences between LLVM file format versions. Only five sections left to write! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14628 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05Finalize bytecode dumping. The "handleFinish" method was getting calledReid Spencer
too soon so the function data was not getting dumped (it was generated after the call handleFinish). Also cleaned up the output format for proper indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14627 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Correctly compute the ration of iterations/#intervals.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14626 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #includesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14625 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h doesn't include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14624 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h does not include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h does not #include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04- remove use of isa<Type>(Val) since there's no inheritance relationshipReid Spencer
any more. Needed for bug 122 - #include <iostream> since Value.h doesn't include it any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Remove use of Type::TypeTy which is no longer defined. This change neededReid Spencer
for bug 122 since the "Type Type" concept is gone now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14620 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Correct syntax typo .. ; -> :Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14619 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04- Changes for bug 122Reid Spencer
- Remove Tabs - Add inserters needed since Value doesn't implement them any more - Move some functions here to avoid cyclic header file dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14618 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04- #include <iostream> since its not in Value.h any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14617 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Constify SymbolTable's use of Type* so that it never modifies them.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14616 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04- #include <iostream> since its not in Value.h any more.Reid Spencer
- constify use of Type* returned from symbol table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14615 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04#include <iostream> since its not in Value.h any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14614 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Adjust the slot machine to handle Types separately from Values. This wasReid Spencer
done by doubling up the data structures so that Type based equivalents are used. A consequence of this is overloading of function members that take a Type* instead of a Value*. Various other cleanups related to Type != Value (bug 122) were also implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14613 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Implementation of SlotTable went into header file. Note that this headerReid Spencer
is currently not being used but is retained because it will be the basis for a clean up of the SlotCalculator class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14612 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Remove Tabs.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14611 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Implement new output functions for types and compacted type planes. AlsoReid Spencer
remove use of Type::TypeTyID and Type::TypeTy since Type no longer inherits Value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14610 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add new methods outputTypes and outputCompactionTypes for handling TypesReid Spencer
separately from Values. This needed for bug 122. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14609 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04For bug 122:Reid Spencer
Separate Types from Values because Type no longer inherits from Value. The changes for this are too numerous to list. In essence, any data structure that contained a Value was doubled so that Types could be contained similarly. New members include Types, TypeMap, CompactionTypes, and CompactionTypeMap. Functions taking a Value* were overloaded with a variant that takes a Type* that acts on the new data structures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14608 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04- Type::TypeTyID doesn't exist any more (bug 122)Reid Spencer
- Types don't have names any more, just write them on ostream directly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14606 91177308-0d34-0410-b5e6-96231b3b80d8