aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Remove extra space charMisha Brukman2004-11-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17834 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved to lib/LinkerReid Spencer2004-11-141-956/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17786 91177308-0d34-0410-b5e6-96231b3b80d8
* GhostLinkage not allowed in LLVM AsmWriter, eitherMisha Brukman2004-11-141-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17751 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop propagating method names that violate the coding standardReid Spencer2004-11-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17498 91177308-0d34-0410-b5e6-96231b3b80d8
* The Alpha (tm) intrinsics have never been used anywhereMisha Brukman2004-10-292-47/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17340 91177308-0d34-0410-b5e6-96231b3b80d8
* Gep indices must be of int, uint, long or ulong type.Alkis Evlogimenos2004-10-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17313 91177308-0d34-0410-b5e6-96231b3b80d8
* Change Library Names Not To Conflict With Others When InstalledReid Spencer2004-10-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17286 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert 'struct' to 'class' in various places to adhere to the coding standardsChris Lattner2004-10-273-5/+8
| | | | | | | and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this actually work.Alkis Evlogimenos2004-10-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17199 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ConstantExpr::getSizeOf(Type*).Alkis Evlogimenos2004-10-241-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17196 91177308-0d34-0410-b5e6-96231b3b80d8
* We won't use automakeReid Spencer2004-10-222-743/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial automake generated Makefile templateReid Spencer2004-10-181-0/+706
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
* fold gep undef, ... -> undefChris Lattner2004-10-171-1/+8
| | | | | | | This comes up many times in perlbmk and probably others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17100 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix constant folding relational operators with undef operands.Chris Lattner2004-10-171-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17077 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement constant folding of undef values.Chris Lattner2004-10-161-4/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17070 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for undef and unreachableChris Lattner2004-10-164-1/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17041 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement UndefValue classChris Lattner2004-10-161-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17040 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the implementation of the instructions clone methods to this file soChris Lattner2004-10-151-0/+30
| | | | | | | | that the vtables for these classes are only instantiated in this translation unit, not in every xlation unit they are used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17026 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a space between the type and name of value when printing error messageMisha Brukman2004-10-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17022 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure any client of Dominators.h links in Dominators.cppChris Lattner2004-10-141-0/+2
| | | | | | | Patch by Morten Ofstad git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16987 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to reflect changes in Makefile rules.Reid Spencer2004-10-131-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16950 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor tweaksChris Lattner2004-10-121-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16929 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a new methodChris Lattner2004-10-121-3/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16927 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow creation of GEP constantexprs with a vector of value* operands asChris Lattner2004-10-114-27/+39
| | | | | | | | well as a vector of constant*'s. It turns out that this is more efficient and all of the clients want to do that, so we should cater to them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16923 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement remove/eraseFromParent methodsChris Lattner2004-10-114-2/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16922 91177308-0d34-0410-b5e6-96231b3b80d8
* If we are trying to create a ConstantExpr cast that is really a GEP to theChris Lattner2004-10-111-0/+11
| | | | | | | | | | | | | | first element of an array, return a GEP instead of a cast. This allows us to transparently fold this: int* getelementptr (int* cast ([100 x int]* %Gbody to int*), int 40) into this: int* getelementptr ([100 x int]* %Gbody, int 0, int 40) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16911 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial version of automake Makefile.am file.Reid Spencer2004-10-101-0/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16893 91177308-0d34-0410-b5e6-96231b3b80d8
* Unfortunately the fix for the previous bug introduced the previousChris Lattner2004-10-071-41/+67
| | | | | | | | | | | exponential behavior (bork!). This patch processes stuff with an explicit SCC finder, allowing the algorithm to be more clear, efficient, and also (as a bonus) correct! This gets us back to taking 0.6s to disassemble my horrible .bc file that previously took something > 30 mins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16811 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in my previous change. Unfortunately this reverts most of theChris Lattner2004-10-071-3/+4
| | | | | | | speedup, but has the advantage of not breaking a bunch of programs! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16806 91177308-0d34-0410-b5e6-96231b3b80d8
* Change Type::isAbstract to have better comments, a more correct nameChris Lattner2004-10-061-12/+19
| | | | | | | | | | | | | (PromoteAbstractToConcrete), and to use a set to avoid recomputation. In particular, this set eliminates the potentially exponential cases from this little recursive algorithm. On a particularly nasty testcase, llvm-dis on the .bc file went from 34 minutes (which is when I killed it, it still hadn't finished) to 0.57s. Remember kids, exponential algorithms are bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16772 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure the const bit gets inherited correctly when linking declarationsChris Lattner2004-10-051-1/+15
| | | | | | | | of disagreeing constness. This fixes test/Regression/Linker/ConstantGlobals[123].ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16692 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to check select instructions for generic instruction propertiesChris Lattner2004-09-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16597 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use DominatorSet::dominates for intra-block instruction dom checks.Chris Lattner2004-09-291-1/+11
| | | | | | | | | This method is linear time in the size of the basic block, which is very bad for large basic blocks. On the Assembler/2004-09-29-VerifierIsReallySlow.llx testcase, the verifier changes from taking 50s to 0.23s with this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16593 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-201-5/+5
| | | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-201-10/+19
| | | | | | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. Also, fix some undefined behavior, expecting | on booleans to evaluate left-to-right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16435 91177308-0d34-0410-b5e6-96231b3b80d8
* When creating constant arrays check that the initializer vector is theAlkis Evlogimenos2004-09-151-0/+2
| | | | | | | same size as the one in the array type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16354 91177308-0d34-0410-b5e6-96231b3b80d8
* Okay, the list of link-time passes wasn't such a hot idea. Its prone toReid Spencer2004-09-142-21/+0
| | | | | | | | error. We'll strategize on this when we have multiple front ends to deal with. For now llvm-ld just runs a standard set of transforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16333 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't print newlines between passes in the pass list.Chris Lattner2004-09-141-8/+8
| | | | | | | | Note to self: sentences end with ".", not "...". Note to reid: sentences end with ".", not "". :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16332 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't print newlines between each library in the deplibs list.Chris Lattner2004-09-141-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16331 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the link-time pass list to Modules.Reid Spencer2004-09-132-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16321 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement support for dependent libraries. The "source" module's dependentReid Spencer2004-09-111-0/+21
| | | | | | | | | libraries list is merged into the "destination" module's list. Also, if the source module is one of the dependent libraries, it is removed from the list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16282 91177308-0d34-0410-b5e6-96231b3b80d8
* Add assertion descriptiosn on type mismatches when creatingAlkis Evlogimenos2004-09-101-6/+8
| | | | | | | ConstantArray and ConstantPacked objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16261 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-0116-24/+24
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an assert to cature null Operands. It is better to catch it here thanReid Spencer2004-08-291-0/+1
| | | | | | | to SIGSEGV in the bowels of isa<...> later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16098 91177308-0d34-0410-b5e6-96231b3b80d8
* Give the -time-passes tool option a global storage location so that itsReid Spencer2004-08-241-3/+4
| | | | | | | value can be discovered by the various LLVM tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16032 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a nasty bug that Nate ran into. In particular, instead of emitting a 2+MBChris Lattner2004-08-211-6/+13
| | | | | | | | | | | | | error message, print out: llvm-link: error linking in 'g.2.rbc': Global Variable Collision on ' %struct.D_Reduction* %d_reduction_10_gram' - External linkage globals have different initializers That's a bit more concise, huh? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15958 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug found exposed by: Regression/Other/2004-08-20-PackedControlFlow.llReid Spencer2004-08-201-1/+5
| | | | | | | | | Packed types need to be allowed in type statements too. Patch provided by Brad Jones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15953 91177308-0d34-0410-b5e6-96231b3b80d8
* Packed types, brought to you by Brad JonesBrian Gaeke2004-08-205-4/+206
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
* Check constant expression validity more strictlyChris Lattner2004-08-171-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15883 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow an arbitrary prefixChris Lattner2004-08-171-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15865 91177308-0d34-0410-b5e6-96231b3b80d8