summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* For PR1043:Zhou Sheng2007-01-114-212/+189
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Shut up a warning about signed/unsigned.Reid Spencer2007-01-111-1/+1
| | | | llvm-svn: 33071
* simplify some logic furtherChris Lattner2007-01-111-11/+2
| | | | llvm-svn: 33069
* Recommit my previous patch with a bugfix: printInfoComment works on bothChris Lattner2007-01-111-63/+67
| | | | | | local and global values. llvm-svn: 33068
* Add PassManagerType enum.Devang Patel2007-01-111-0/+12
| | | | llvm-svn: 33065
* Implement better constant folding of unordered FCMP predicates.Reid Spencer2007-01-111-7/+27
| | | | llvm-svn: 33063
* Robustify assingPassManager() for Module, Function and Basic BlockDevang Patel2007-01-111-37/+73
| | | | | | | | | | Passes. Robustify PMStack.push() Add dump() routine to print PMStack. llvm-svn: 33062
* Back out the last patch which is a nightly test killer. The assertionReid Spencer2007-01-101-63/+63
| | | | | | | | in getLocalSlot fires on many, many values. It broke nearly all of the dejagnu tests. Simple changes to the assertion did not fix the problem. llvm-svn: 33054
* Last refactoring before PR645: split up getSlot into getLocalSlot and ↵Chris Lattner2007-01-101-63/+63
| | | | | | | | getGlobalSlot. No functionality change. llvm-svn: 33053
* eliminate some iterator gymnastics.Chris Lattner2007-01-101-8/+4
| | | | llvm-svn: 33052
* Inline insertValue into CreateModuleSlot/CreateFunctionSlotChris Lattner2007-01-091-35/+24
| | | | llvm-svn: 33038
* Remove a bunch of complex logic that is completely dead: duplicates canChris Lattner2007-01-091-57/+1
| | | | | | never be inserted! llvm-svn: 33037
* Split CreateSlot into two versions, one for globals and one for function-localChris Lattner2007-01-091-61/+68
| | | | | | values llvm-svn: 33036
* Remove extraneous return value from insertValue and getOrCreateSlot. SinceChris Lattner2007-01-091-53/+34
| | | | | | getOrCreateSlot no longer gets the slot, rename it to CreateSlot. llvm-svn: 33035
* Parameter attributes are part of a FunctionType and deserve to be factoredReid Spencer2007-01-081-1/+6
| | | | | | into comparisons of two FunctionTypes. Make it so. llvm-svn: 33020
* Add PMStack, a Pass Manager stack.Devang Patel2007-01-081-0/+138
| | | | | | | | Eventually, Top level pass managers will use this to keep track of active pass managers. Eass pass will also learn how to find appropriate manager from these managers stack. llvm-svn: 33018
* And asm writing for packed struct initializersAndrew Lenharth2007-01-081-0/+4
| | | | llvm-svn: 33016
* Change the interface to Module::getOrInsertFunction to be easier to use,Chris Lattner2007-01-071-12/+24
| | | | | | to resolve PR1088, and to help PR411. llvm-svn: 32988
* For PR411:Reid Spencer2007-01-068-154/+55
| | | | | | | | | Take an incremental step towards type plane elimination. This change separates types from values in the symbol tables by finally making use of the TypeSymbolTable class. This yields more natural interfaces for dealing with types and unclutters the SymbolTable class. llvm-svn: 32956
* 1) Remove old AnalysisResolver.Devang Patel2007-01-052-16/+9
| | | | | | 2) Rename AnalysisResolver_New as AnalysisResolver llvm-svn: 32938
* Remove PassManagerT.hDevang Patel2007-01-051-0/+0
| | | | llvm-svn: 32928
* Remove old pass manager.Devang Patel2007-01-053-1099/+1
| | | | llvm-svn: 32927
* Change the syntax for parameter attributes:Reid Spencer2007-01-052-27/+27
| | | | | | | | | | | | | | | | | | | 1. The @ sign is no longer necessary. 2. We now support "function attributes" as parameter attribute 0. 3. Instead of locating the return type attributes after the type of a function result, they are now located after the function header's closing paranthesis and before any alignment or section options. 4. The way has been prepared for a new "noreturn" function attribute but there is no support for recognizing it in the lexer nor doing anything with it if it does get set. 5. The FunctionType::getParamAttrsText method now has support for returning multiple attributes. This required a change in its interface. I'm unhappy that this change leads to 6 new shift/reduce conflicts, but in each case bison's decision to choose the shift is correct so there shouldn't be any damage from these conflicts. llvm-svn: 32904
* Do not allow packed types for icmp and fcmp instructions.Reid Spencer2007-01-041-5/+2
| | | | llvm-svn: 32865
* Now that setcondinst has been eliminated, we can mark Value::SubclassIDChris Lattner2007-01-041-4/+0
| | | | | | const and remove the ugly mutator methods. llvm-svn: 32860
* fix typoChris Lattner2007-01-041-1/+1
| | | | llvm-svn: 32859
* fix some bugs handling vectors, avoid host-specific handling of undefined ↵Chris Lattner2007-01-041-5/+15
| | | | | | shift results. llvm-svn: 32857
* Add a new ConstantPacked::getAllOnesValue methodChris Lattner2007-01-041-0/+12
| | | | llvm-svn: 32856
* Fix a cut-and-paste bug for processing of InvokeInst parameter attributes.Reid Spencer2006-12-311-2/+2
| | | | | | | The lookup of parameter attributes was offset by two because of the additional operands in an invoke instruction. llvm-svn: 32801
* Fix a bug in comparison of GEP indices.Reid Spencer2006-12-311-4/+4
| | | | llvm-svn: 32798
* Fix a bug in getParamAttrs where an invalid value would be returned if theReid Spencer2006-12-311-3/+3
| | | | | | index passed in was out of range for the number of parameter attributes set. llvm-svn: 32794
* For PR950:Reid Spencer2006-12-317-134/+79
| | | | | | Change signed integer type names to unsigned equivalents. llvm-svn: 32780
* For PR950:Reid Spencer2006-12-311-98/+90
| | | | | | Implement signless integer types and FunctionType parameter attributes. llvm-svn: 32779
* For PR950:Reid Spencer2006-12-311-16/+49
| | | | | | | * Change integer type name from signed to signless * Implement printing of FunctionType parameter attributes. llvm-svn: 32778
* For PR950:Reid Spencer2006-12-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | Remove all grammar conflicts from assembly parsing. This change involves: 1. Making the "type" keyword not a primitive type (removes several reduce/reduce conflicts) 2. Being more specific about which linkage types are allowed for functions and global variables. In particular "appending" can no longer be specified for a function. A differentiation was made between the various internal and external linkage types. 3. Introduced the "define" keyword which is now required when defining a function. This disambiguates several cases where a named function return type could get confused with the definition of a new type. Using the keyword eliminates all shift/reduce conflicts and the remaining reduce/reduce conflicts. These changes are necessary to implement the function parameter attributes that will be introduced soon. Adding the function parameter attributes in the presence of the shift/reduce and reduce/reduce conflicts led to severe ambiguities that caused the parser to report syntax errors that needed to be resolved. This patch resolves them. llvm-svn: 32770
* Cleanup ConstantFoldCompareInstruction:Reid Spencer2006-12-242-135/+203
| | | | | | | | | | 1. Make the arguments const like the other ConstantFold* functions. 2. Clean up evaluateFCmpRelation so it makes sense for floating point. 3. Implement the use of evaluateFCmpRelation to fold floating point CEs 4. Shorten a variable name so more things fit on one line. 5. Fix various comments. llvm-svn: 32759
* Fix some comments.Reid Spencer2006-12-241-2/+2
| | | | llvm-svn: 32758
* Don't overload var names.Reid Spencer2006-12-231-4/+4
| | | | llvm-svn: 32752
* For PR950:Reid Spencer2006-12-237-944/+699
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* ModulePass and ImmutablePass. Force out of line virtual method.Devang Patel2006-12-221-0/+6
| | | | llvm-svn: 32748
* At the beginning of run, initialize analyis info availability for _ALL_Devang Patel2006-12-211-5/+19
| | | | | | | | | pass managers. Otherwise, stale available analysis info, from the managers not yet run, may cause pass manager to take wrong turn. This fixes CBE test failures reported by nightly tester. llvm-svn: 32726
* Fix Regression/Verifier/invoke-1.llChris Lattner2006-12-201-2/+7
| | | | llvm-svn: 32722
* Revert the previous patch which was incorrect. This unbreaks eon, but rebreaksChris Lattner2006-12-201-1/+2
| | | | | | invoke-1.ll llvm-svn: 32718
* Now that ConstantInt::isValueValidForType can handle signed and unsignedReid Spencer2006-12-191-4/+1
| | | | | | | | values regardless of the signedness of the constant's type, it is okay to always make the AsmWriter.cpp print constant ints as signed values. The AsmParser will automatically handle things like: uint -1 as a result. llvm-svn: 32686
* Now, there is additional layer, referred in the comment,Devang Patel2006-12-191-11/+0
| | | | | | in place to handle this correctly. llvm-svn: 32684
* s/BasicBlockPassManager/BBPassManager/gDevang Patel2006-12-191-138/+230
| | | | | | | | | | | | | | | | | | s/ModulePassManager/MPPassManager/g s/FunctionPassManagerImpl_New/FunctionPassManagerImpl/g s/PassManagerImpl_New/PassManagerImpl/g Introduce FPPassManager to manage function passes and BBPassManagers. Now FunctionPassManagerImpl is an implementation class used by externally visible FunctionPassManager to manage FPPassManagers. Module pass manager (MPPassManager) now manages FPPassManagers and ModulePasses. llvm-svn: 32679
* Clean up ConstantFoldCastInstruction.Reid Spencer2006-12-191-53/+30
| | | | llvm-svn: 32672
* Rewrite ConstantFoldCastInstruction so that it doesn't use any of theReid Spencer2006-12-191-219/+50
| | | | | | | ConstRules. Remove the casting rules from ConstRules and subclasses. This cleans up ConstantFolding significantly. Passes all tests. llvm-svn: 32671
* Make ConstantInt not care about sign any more. To ensure the AsmParser canReid Spencer2006-12-191-14/+19
| | | | | | | still check the validity of signed values an overload to isValueValidForType was added to allow passing in an int64_t to check. llvm-svn: 32663
* Remove a useless statement.Reid Spencer2006-12-181-1/+0
| | | | llvm-svn: 32660
OpenPOWER on IntegriCloud