summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Automatically generating intrinsic declarations from Dan Gohman. ModifiedJim Laskey2007-02-071-0/+19
| | | | | | | to construct FunctionType in separate function, and, have getDeclaration return a Function instead of a Constant. llvm-svn: 34008
* Do not drop transferred last uses on the floor.Devang Patel2007-02-071-0/+3
| | | | | | Use handleLastUserOverflow(). llvm-svn: 34006
* constants can't be in the symtab anymoreChris Lattner2007-02-071-8/+4
| | | | llvm-svn: 33993
* update comment.Chris Lattner2007-02-071-3/+3
| | | | llvm-svn: 33992
* shrink vmcore by moving symbol table stripping support out of VMCore intoChris Lattner2007-02-072-27/+0
| | | | | | the one IPO pass that uses it. llvm-svn: 33990
* eliminate ValueSymbolTable::rename, it has no advantage over using ↵Chris Lattner2007-02-072-42/+5
| | | | | | | | remove+insert. Make insert/remove assert if used incorrectly instead of returning a bool. llvm-svn: 33988
* speed up conflict handling.Chris Lattner2007-02-071-2/+7
| | | | llvm-svn: 33985
* Eliminate the O(n) version of TypeSymbolTable::remove, it is dead. WhenChris Lattner2007-02-071-21/+21
| | | | | | | inserting a type into the type symbol table, only compute unique name if not in symtab already. llvm-svn: 33983
* TypeSymbolTable::rename is dead, remove itChris Lattner2007-02-071-18/+0
| | | | llvm-svn: 33982
* Eliminate a bunch of work from ValueSymbolTable::insert for the common caseChris Lattner2007-02-071-1/+7
| | | | | | where a symbol name doesn't conflict. This speeds up bc reading 16% on 176.gcc! llvm-svn: 33981
* Support var arg intrinsics.Jim Laskey2007-02-061-0/+4
| | | | llvm-svn: 33962
* Fix Transforms/ConstProp/2007-02-05-BitCast.llChris Lattner2007-02-061-1/+5
| | | | llvm-svn: 33948
* A value of 64 or fewer bits is valid if the ConstantInt has more then 64 bits.Reid Spencer2007-02-051-4/+2
| | | | llvm-svn: 33942
* For PR411:Reid Spencer2007-02-051-2/+2
| | | | | | | | Adjust to changes in Module interface: getMainFunction() -> getFunction("main") getNamedFunction(X) -> getFunction(X) llvm-svn: 33922
* For PR411:Reid Spencer2007-02-0512-481/+58
| | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. llvm-svn: 33918
* Fix PR1158Devang Patel2007-02-051-0/+5
| | | | | | Do not insert Analysis pass, if it is already available. llvm-svn: 33915
* For PR1163:Reid Spencer2007-02-041-0/+17
| | | | | | | Make the Module's dependent library use a std::vector instead of SetVector adjust #includes in .cpp files because SetVector.h is no longer included. llvm-svn: 33855
* Fix a comment that needed to change after SHIFT patch landed.Reid Spencer2007-02-021-2/+1
| | | | llvm-svn: 33781
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-024-52/+26
| | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. llvm-svn: 33776
* cvs commitDevang Patel2007-02-011-0/+8
| | | | llvm-svn: 33765
* silence some warnings when assertions are disabled.Chris Lattner2007-02-011-2/+8
| | | | llvm-svn: 33747
* Fix build breakage by using correct arguments to getIndexedType in theReid Spencer2007-01-311-6/+10
| | | | | | GEP constructors. llvm-svn: 33726
* implement the new GEP instruction ctors.Chris Lattner2007-01-311-5/+23
| | | | llvm-svn: 33708
* Revise APIs for creating constantexpr GEPs to not require the use of vectors.Chris Lattner2007-01-314-46/+47
| | | | | | This allows us to eliminate many temporary vectors, and theirassociated malloc/free pairs. llvm-svn: 33692
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-307-17/+17
| | | | | | confusion with external linkage types. llvm-svn: 33663
* - Undo previous check-in (i.e. Do not export TimingInfo class throughDevang Patel2007-01-291-5/+65
| | | | | | | | | | | PassManagers.h). - Add StopPassTimer() and StartPassTimer() to expose TimingInfo to CallGraphPassManager - Use these two APIs in CalLgraphPassManager to measure timings. llvm-svn: 33638
* Move TimingInfo into PassManagers.h so that other libs can use it.Devang Patel2007-01-291-53/+5
| | | | llvm-svn: 33626
* Propagate changes from my local tree. This patch includes:Anton Korobeynikov2007-01-283-8/+9
| | | | | | | | | | | | | | | | | | | | | | 1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. llvm-svn: 33597
* Change the MachineDebugInfo to MachineModuleInfo to better reflect usageJim Laskey2007-01-261-1/+1
| | | | | | for debugging and exception handling. llvm-svn: 33550
* For PR761:Reid Spencer2007-01-261-20/+0
| | | | | | | Remove the setEndianess and setPointerSize methods. These are now handled via the setDataLayout method. llvm-svn: 33527
* For PR645:Reid Spencer2007-01-261-93/+53
| | | | | | | Implement new syntax for local and global symbols. Types and local symbols use the % prefix. Global variables and functions use the @ prefix. llvm-svn: 33523
* For PR645:Reid Spencer2007-01-261-39/+0
| | | | | | | Remove the Function::renameLocalSymbols function as it is no longer needed. llvm-svn: 33522
* IntegerType is a sized DerivedType too.Reid Spencer2007-01-261-0/+3
| | | | llvm-svn: 33521
* Clean up comments and assert messages that still refer to the old type names.Reid Spencer2007-01-261-12/+12
| | | | llvm-svn: 33520
* Fix an assertion message.Reid Spencer2007-01-261-1/+1
| | | | llvm-svn: 33519
* Whoops, fix typo in last commit.Reid Spencer2007-01-211-6/+6
| | | | llvm-svn: 33417
* For PR970:Reid Spencer2007-01-212-34/+31
| | | | | | | Clean up handling of isFloatingPoint() and dealing with PackedType. Patch by Gordon Henriksen! llvm-svn: 33415
* Teach TargetData to handle 'preferred' alignment for each target, and useChris Lattner2007-01-201-2/+11
| | | | | | these alignment amounts to align scalars when we can. Patch by Scott Michel! llvm-svn: 33409
* Remove dead methods in the ValTypes.Reid Spencer2007-01-191-31/+0
| | | | llvm-svn: 33372
* For PR1043:Reid Spencer2007-01-194-9/+14
| | | | | | | | | | | | | | This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
* Use a cheaper computation.Reid Spencer2007-01-181-1/+1
| | | | llvm-svn: 33336
* Provide an isPowerOf2ByteWidth method for the IntegerType class. This willReid Spencer2007-01-181-0/+5
| | | | | | | mostly be used by back ends that wish to distinguish between integer types that fit evenly within a natural integer type and those that don't. llvm-svn: 33328
* Update ModulePass::assignPassManager() to take into account PreferredDevang Patel2007-01-171-4/+5
| | | | | | Pass Manager Type. llvm-svn: 33308
* s/PassDebugging_New/PassDebugging/gDevang Patel2007-01-171-5/+5
| | | | llvm-svn: 33307
* Update assignPassManager() signature to allow selection of preferredDevang Patel2007-01-171-4/+13
| | | | | | | pass manager type. This allows new FPPassManager to select Call Graph Pass Manager (if available) as its parent. llvm-svn: 33306
* For PR1117:Reid Spencer2007-01-171-29/+29
| | | | | | Expose the previously hidden checkCast function as CastInst::castIsValid. llvm-svn: 33282
* Pass manager may require certain analysis. In such cases, initiallyDevang Patel2007-01-161-3/+2
| | | | | | pass manager is last user. llvm-svn: 33273
* Undo last check-in.Devang Patel2007-01-161-62/+50
| | | | | | Remove setupPassManager() and its use. llvm-svn: 33270
* Setup pass manager before scheduling required analysis.Devang Patel2007-01-161-50/+62
| | | | llvm-svn: 33262
* Code refactoring.Devang Patel2007-01-161-18/+21
| | | | llvm-svn: 33245
OpenPOWER on IntegriCloud