aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-3027-59/+82
| | | | | | | system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
* Setjmp should always return zero if we don't implement longjmp. This avoidsChris Lattner2003-06-302-0/+4
| | | | | | | leaving trash in the register, fixing anagram git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7013 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of the duplicate '0x' in debug mode.Brian Gaeke2003-06-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7012 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the getFunctionNames methodChris Lattner2003-06-301-8/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7008 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new methodChris Lattner2003-06-301-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
* Split CallSiteIterator out into DSCallSiteIterator.h, and generalize it a bitChris Lattner2003-06-302-101/+125
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7006 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more const-correctChris Lattner2003-06-301-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7005 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in last checkinChris Lattner2003-06-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7003 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement the BU closure to collapse all SCC graphs into a single graph.Chris Lattner2003-06-301-242/+52
| | | | | | | Look at all of the code that gets deleted! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7001 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle the case where OldNodeMap == &ScalarMap correctlyChris Lattner2003-06-301-12/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7000 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead methodChris Lattner2003-06-301-27/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6999 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not delete the same graph multiple times when freeing memory if graphs ↵Chris Lattner2003-06-301-3/+6
| | | | | | are sharing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6998 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not multiply delete graphs if functions are sharing graphsChris Lattner2003-06-301-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6997 91177308-0d34-0410-b5e6-96231b3b80d8
* Move usages of explicit hash_* datastructures to use typedefsChris Lattner2003-06-303-17/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6996 91177308-0d34-0410-b5e6-96231b3b80d8
* Revamp DSGraphs so that they can support multiple functions in the sameChris Lattner2003-06-306-94/+121
| | | | | | | DSGraph at one time git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6994 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust for new DSGraph APIChris Lattner2003-06-302-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6993 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate using declarations, adjust for new DSGraph APIChris Lattner2003-06-301-21/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6992 91177308-0d34-0410-b5e6-96231b3b80d8
* Abstract out the predicate which decides whether a function gets completeChris Lattner2003-06-291-13/+23
| | | | | | | arguments or not... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6987 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix minor bug in previous checkinChris Lattner2003-06-291-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6986 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ensuring that nodes are not incompleteChris Lattner2003-06-291-12/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6985 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for "physical subtyping", which fixes:Chris Lattner2003-06-291-5/+140
| | | | | | | DSGraph/2003-06-29-NodeCollapsing2.ll & DSGraph/PhysicalSubtyping.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6982 91177308-0d34-0410-b5e6-96231b3b80d8
* Add print method to not get silly warning from analyzeChris Lattner2003-06-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6981 91177308-0d34-0410-b5e6-96231b3b80d8
* New pass which is useful for writing regression testsChris Lattner2003-06-291-0/+150
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6979 91177308-0d34-0410-b5e6-96231b3b80d8
* Until there is a setjmp/longjmp transformation pass, codegen setjmp as a noopChris Lattner2003-06-292-0/+8
| | | | | | | and longjmp as an abort! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6977 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose must alias information for global variables, implementing: ↵Chris Lattner2003-06-291-46/+86
| | | | | | DSGraph/mustalias.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6973 91177308-0d34-0410-b5e6-96231b3b80d8
* If the alias analysis algorithm we are using can provide MUST alias information,Chris Lattner2003-06-291-0/+5
| | | | | | | expose it directly as value numbering information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6972 91177308-0d34-0410-b5e6-96231b3b80d8
* Count operands to instructions as well as just results. This allows for ↵Chris Lattner2003-06-291-6/+11
| | | | | | global variables to be checked as well git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6970 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate globals graph from the local to bu to td globals graphs. ThisChris Lattner2003-06-282-4/+5
| | | | | | | fixes bug: DSGraph/buglobals.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6947 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop references to globals who do exist in the globals graph, but are neverChris Lattner2003-06-281-1/+16
| | | | | | | | read or written to. Keep track of how many times this happens. This should be good for deleting things like references to type information in C++ classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6946 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid double negativesChris Lattner2003-06-282-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6945 91177308-0d34-0410-b5e6-96231b3b80d8
* New pass to perform DSA based optimizations. Initially we just support turningChris Lattner2003-06-281-0/+76
| | | | | | | globals into constants if we can prove it's safe git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6941 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid printing out huge structures or arrays if they are just filled with zerosChris Lattner2003-06-281-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6938 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for a new zeroinitializer token which can be used to get rid ofChris Lattner2003-06-282-1/+7
| | | | | | | huge arrays of zero initialized values git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6937 91177308-0d34-0410-b5e6-96231b3b80d8
* jmp_buf is really a pointer type that is passed around...Chris Lattner2003-06-282-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6935 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the Invoke instruction!Chris Lattner2003-06-282-18/+96
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6934 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve compatibility with non-gcc compilersChris Lattner2003-06-282-8/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6932 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: CBackend/2003-06-28-LinkOnceGlobalVars.llxChris Lattner2003-06-282-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6931 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the inlining limit to be controlled from the command line!Chris Lattner2003-06-281-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6929 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for 'unsigned' command line argumentsChris Lattner2003-06-281-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6928 91177308-0d34-0410-b5e6-96231b3b80d8
* Nice tasty llc fixes. These should fix LLC for x86 for everything inBrian Gaeke2003-06-277-112/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SingleSource except oopack and Oscar. (Sorry, Oscar.) include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add accessors for ImplicitUses/Defs. lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you really wanted this, just use MI->print(O, TM); instead... lib/Target/X86: FloatingPoint.cpp: ...like this. X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses target-specific flag bit. X86InstrInfo.def: Add the PrintImplUses flag to all the instructions which implicitly use CL, because the assembler needs to see the CL in order to generate the right instruction. Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName to name constants in the constant pool for each function instead. This avoids keeping state between runOnMachineFunction() invocations, which is a no-no. Having MangledGlobals be global is a bogon I'd like to get rid of too, but making it a static member of Printer causes link errors (why???). Make NumberForBB into a member of Printer instead of a global, too. Make printOp and printMemReference into methods of Printer. X86InstrInfo::print is now Printer::printMachineInstruction, because TargetInstrInfo::print is history. (Because of this, we have to qualify the names of some TargetInstrInfo methods we call.) Print out the ImplicitUses field of any instruction we print that has the PrintImplUses bit set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6924 91177308-0d34-0410-b5e6-96231b3b80d8
* Number constants from constant pool as CPIf_i where f is the function indexBrian Gaeke2003-06-262-20/+22
| | | | | | | and i is the constant pool index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6920 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to globaldce for deleting dead function prototypesChris Lattner2003-06-261-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6918 91177308-0d34-0410-b5e6-96231b3b80d8
* When internalizing global ctor/dtor list, also mark it constant. This is ↵Chris Lattner2003-06-261-0/+8
| | | | | | | | | gross, but until DSA is working all of the time and is totally reliable, we do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6917 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement more aggressive folding of constant GEP instructionsChris Lattner2003-06-261-6/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6913 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for elimination of load instruction from global constantsChris Lattner2003-06-261-0/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6912 91177308-0d34-0410-b5e6-96231b3b80d8
* Integrate the C writer's name mangler.Brian Gaeke2003-06-252-30/+164
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6908 91177308-0d34-0410-b5e6-96231b3b80d8
* First draft of X86 LLC backend. This should be OK for small programs likeBrian Gaeke2003-06-252-60/+708
| | | | | | | Shootout, but it has some issues with bigger programs. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6907 91177308-0d34-0410-b5e6-96231b3b80d8
* Instcombine: X * -1 -> -XChris Lattner2003-06-251-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6904 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: LevelRaise/2003-06-25-ExprAnalysis.llChris Lattner2003-06-251-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6903 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Mem2Reg/2003-06-26-IterativePromote.llChris Lattner2003-06-251-10/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6901 91177308-0d34-0410-b5e6-96231b3b80d8