aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Convert tabs to spacesMisha Brukman2005-03-161-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20638 91177308-0d34-0410-b5e6-96231b3b80d8
* fix some 80 column violationsChris Lattner2005-03-151-4/+11
| | | | | | | Add support for programs that define main in a .a file, such as f2c'd programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20631 91177308-0d34-0410-b5e6-96231b3b80d8
* consolidate LinkFiles into LinkItems, use lib_* iterators.Chris Lattner2005-03-152-85/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20630 91177308-0d34-0410-b5e6-96231b3b80d8
* consolidate LinkLibraries into LinkItemsChris Lattner2005-03-152-76/+57
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20629 91177308-0d34-0410-b5e6-96231b3b80d8
* make sure to mark nodes in the globals graph incomplete after computing itChris Lattner2005-03-151-0/+1
| | | | | | | so that external globals (and whatever they point to) are marked incomplete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20628 91177308-0d34-0410-b5e6-96231b3b80d8
* fix crashes when we only have a prototype for main.Chris Lattner2005-03-153-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20627 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a crash that happens when mapping something like this:Chris Lattner2005-03-151-6/+12
| | | | | | | | | | | | | | { short, short } to short where the second short maps onto the second field of the first struct. In this case, the struct index is not aligned, so we should avoid calling getLink(2), which asserts out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20626 91177308-0d34-0410-b5e6-96231b3b80d8
* sure, I can set a flag, but if I never check it, why bother setting it? ↵Andrew Lenharth2005-03-152-3/+5
| | | | | | Should fix 20 programs :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20623 91177308-0d34-0410-b5e6-96231b3b80d8
* Make computeGGToGMapping compute an invnodemapChris Lattner2005-03-151-9/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20622 91177308-0d34-0410-b5e6-96231b3b80d8
* Finally fix (the right way) the problem where functions like this:Chris Lattner2005-03-151-0/+24
| | | | | | | | | | | | void foo() { G = 1; } would have an empty DSGraph even though G (a global) is directly used in the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20619 91177308-0d34-0410-b5e6-96231b3b80d8
* Start using retnodes_* for iteration.Chris Lattner2005-03-156-39/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20618 91177308-0d34-0410-b5e6-96231b3b80d8
* avoid varialbe name collisionsChris Lattner2005-03-151-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20606 91177308-0d34-0410-b5e6-96231b3b80d8
* stop using method.Chris Lattner2005-03-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20603 91177308-0d34-0410-b5e6-96231b3b80d8
* stop using arg_frontChris Lattner2005-03-153-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20599 91177308-0d34-0410-b5e6-96231b3b80d8
* stop using arg_backChris Lattner2005-03-152-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20598 91177308-0d34-0410-b5e6-96231b3b80d8
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-1565-185/+185
| | | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash if computing a mapping to a node with zero sizeChris Lattner2005-03-151-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20595 91177308-0d34-0410-b5e6-96231b3b80d8
* rename method, add counterpartChris Lattner2005-03-152-4/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20593 91177308-0d34-0410-b5e6-96231b3b80d8
* FP 0.0 setcc optimization, and generate short branch sequence for setcc(FP) ↵Andrew Lenharth2005-03-142-19/+37
| | | | | | rather than stack usage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20589 91177308-0d34-0410-b5e6-96231b3b80d8
* add a method to compute a commonly used mapping.Chris Lattner2005-03-142-5/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20588 91177308-0d34-0410-b5e6-96231b3b80d8
* regardless of whether or not the client things we should mark globals ↵Chris Lattner2005-03-131-7/+7
| | | | | | | | | incomplete, ALWAYS mark them incomplete if they are external! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20586 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to remove incomplete markers before we add to them! :)Chris Lattner2005-03-133-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20585 91177308-0d34-0410-b5e6-96231b3b80d8
* The incoming arguments to main (the argv list) are not complete!Chris Lattner2005-03-131-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20584 91177308-0d34-0410-b5e6-96231b3b80d8
* After finishing BU analysis, move all global variables from the globalsChris Lattner2005-03-133-6/+71
| | | | | | | graph into main and mark them complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20583 91177308-0d34-0410-b5e6-96231b3b80d8
* ADd support for printing eqgraphs.Chris Lattner2005-03-132-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20582 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace linear search with logrithmic one.Chris Lattner2005-03-131-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20580 91177308-0d34-0410-b5e6-96231b3b80d8
* add a StructLayout::getElementContainingOffset method.Chris Lattner2005-03-131-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20579 91177308-0d34-0410-b5e6-96231b3b80d8
* Should fix mesaAndrew Lenharth2005-03-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20577 91177308-0d34-0410-b5e6-96231b3b80d8
* make sure to mark nodes returned from functions as incompleteChris Lattner2005-03-121-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20576 91177308-0d34-0410-b5e6-96231b3b80d8
* remove this from the PA namespace, leaving it in the llvm nsChris Lattner2005-03-121-8/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20574 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this from the pool allocator project to here, where it logically belongs.Chris Lattner2005-03-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20570 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a pseudo instruction and improve inline constant generationAndrew Lenharth2005-03-112-6/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20563 91177308-0d34-0410-b5e6-96231b3b80d8
* I didn't mean to check this in. :(Chris Lattner2005-03-101-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20555 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug where we would incorrectly do a sign ext instead of a zero extChris Lattner2005-03-101-1/+1
| | | | | | | | because we were checking the wrong thing. Thanks to andrew for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20554 91177308-0d34-0410-b5e6-96231b3b80d8
* yay for camel_cvs diffAndrew Lenharth2005-03-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20552 91177308-0d34-0410-b5e6-96231b3b80d8
* some typoes and .bss isn't liked, at allAndrew Lenharth2005-03-101-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20542 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the live interval analysis pass to be a bit more aggressive aboutChris Lattner2005-03-092-10/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | numbering values in live ranges for physical registers. The alpha backend currently generates code that looks like this: vreg = preg ... preg = vreg use preg ... preg = vreg use preg etc. Because vreg contains the value of preg coming in, each of the copies back into preg contain that initial value as well. In the case of the Alpha, this allows this testcase: void "foo"(int %blah) { store int 5, int *%MyVar store int 12, int* %MyVar2 ret void } to compile to: foo: ldgp $29, 0($27) ldiq $0,5 stl $0,MyVar ldiq $0,12 stl $0,MyVar2 ret $31,($26),1 instead of: foo: ldgp $29, 0($27) bis $29,$29,$0 ldiq $1,5 bis $0,$0,$29 stl $1,MyVar ldiq $1,12 bis $0,$0,$29 stl $1,MyVar2 ret $31,($26),1 This does not seem to have any noticable effect on X86 code. This fixes PR535. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20536 91177308-0d34-0410-b5e6-96231b3b80d8
* minor correction for Register that isn't usedAndrew Lenharth2005-03-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20535 91177308-0d34-0410-b5e6-96231b3b80d8
* constant fold FP_ROUND_INREG, ZERO_EXTEND_INREG, and SIGN_EXTEND_INREGChris Lattner2005-03-091-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the alpha backend to compile: bool %test(uint %P) { %c = seteq uint %P, 0 ret bool %c } into: test: ldgp $29, 0($27) ZAP $16,240,$0 CMPEQ $0,0,$0 AND $0,1,$0 ret $31,($26),1 instead of: test: ldgp $29, 0($27) ZAP $16,240,$0 ldiq $1,0 ZAP $1,240,$1 CMPEQ $0,$1,$0 AND $0,1,$0 ret $31,($26),1 ... and fixes PR534. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20534 91177308-0d34-0410-b5e6-96231b3b80d8
* correct the computation of the isAbstract bit for types.Chris Lattner2005-03-091-3/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20533 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll, a miscompilationChris Lattner2005-03-091-2/+6
| | | | | | | that Alkis found with Java, thanks Alkis! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20531 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in an assertion comment.Reid Spencer2005-03-091-1/+1
| | | | | | | Patch contributed by Vladimir Merzliakov. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20529 91177308-0d34-0410-b5e6-96231b3b80d8
* Export two methods for getting -X and A-B.Chris Lattner2005-03-091-10/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20527 91177308-0d34-0410-b5e6-96231b3b80d8
* get bugpoint working on ia64, by building .so's with -fpic. :)Chris Lattner2005-03-091-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20525 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a crash handling 'undef bool', fixing an llc crash on 186.craftyChris Lattner2005-03-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20523 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch to make assembly output compatible with mingw compilation (identicalReid Spencer2005-03-081-2/+3
| | | | | | | to cygwin) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20520 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to remove all dead type names from the symbol table, not justChris Lattner2005-03-082-18/+16
| | | | | | | | struct types. This fixes Regression/CodeGen/CBackend/2005-03-08-RecursiveTypeCrash.ll, a crash on Java output that Alkis reported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20519 91177308-0d34-0410-b5e6-96231b3b80d8
* Single characters should be printed out as chars, not strings.Misha Brukman2005-03-082-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20515 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an apparent ambiguity compiling on PPCChris Lattner2005-03-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20507 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bug where we thought arguments were constants :(Chris Lattner2005-03-061-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20506 91177308-0d34-0410-b5e6-96231b3b80d8