summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO
Commit message (Collapse)AuthorAgeFilesLines
* For PR1043:Reid Spencer2007-01-191-0/+1
| | | | | | | | | | | | | | 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
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-152-7/+7
| | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
* Eliminate calls to isInteger, generalizing code and tightening checks as needed.Chris Lattner2007-01-151-5/+5
| | | | llvm-svn: 33218
* Remove over-general comparisonsChris Lattner2007-01-121-4/+6
| | | | llvm-svn: 33147
* Branch conditions must be i1Chris Lattner2007-01-121-3/+1
| | | | llvm-svn: 33129
* For PR1064:Reid Spencer2007-01-122-9/+16
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-2/+2
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-113-7/+7
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-9/+12
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Fix a bug in heap-sra that caused compilation failure of office-ispell.Chris Lattner2007-01-091-3/+19
| | | | llvm-svn: 33043
* Types should be const.Reid Spencer2007-01-071-2/+2
| | | | llvm-svn: 33001
* Change the interface to Module::getOrInsertFunction to be easier to use,to ↵Chris Lattner2007-01-071-81/+49
| | | | | | | | resolve PR1088, and to help PR411. This simplifies many clients also llvm-svn: 32989
* relax typesChris Lattner2007-01-071-7/+7
| | | | llvm-svn: 32981
* For PR411:Reid Spencer2007-01-062-8/+8
| | | | | | | | | 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
* For PR950:Reid Spencer2006-12-317-135/+133
| | | | | | | | | | | | | This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. llvm-svn: 32785
* For PR950:Reid Spencer2006-12-232-49/+55
| | | | | | | | 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
* Get rid of a useless if statement whose then and else blocks were identical.Reid Spencer2006-12-211-4/+1
| | | | llvm-svn: 32729
* switch statistics over to not use static ctors.Chris Lattner2006-12-191-3/+3
| | | | llvm-svn: 32709
* Eliminate static ctors due to Statistic objectsChris Lattner2006-12-1916-85/+71
| | | | llvm-svn: 32693
* when inserting a dummy argument to work-around the CBE not supportingChris Lattner2006-12-161-3/+1
| | | | | | zero arg vararg functions, pass undef instead of 'int 0', which is cheaper. llvm-svn: 32634
* Fix some casts. isdigit(c) returns 0 or 1, not 0 or -1Reid Spencer2006-12-131-3/+3
| | | | llvm-svn: 32534
* Replace CastInst::createInferredCast calls with more accurate castReid Spencer2006-12-133-32/+35
| | | | | | creation calls. llvm-svn: 32521
* Replace inferred getCast(V,Ty) calls with more strict variants.Reid Spencer2006-12-121-5/+4
| | | | | | | Rename getZeroExtend and getSignExtend to getZExt and getSExt to match the the casting mnemonics in the rest of LLVM. llvm-svn: 32514
* Change inferred getCast into specific getCast. Passes all tests.Reid Spencer2006-12-121-2/+2
| | | | llvm-svn: 32469
* What should be the last unnecessary <iostream>s in the library.Bill Wendling2006-12-071-6/+5
| | | | llvm-svn: 32333
* Removing even more <iostream> includes.Bill Wendling2006-12-071-19/+19
| | | | llvm-svn: 32320
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-072-20/+19
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-0616-40/+40
| | | | | | is 'unsigned'. llvm-svn: 32279
* make it clear that this is always a zextChris Lattner2006-11-301-1/+1
| | | | llvm-svn: 32044
* One more bugfix, 3 cases of making casts explicit.Chris Lattner2006-11-301-5/+8
| | | | llvm-svn: 32043
* Fix a bug in globalopt due to the recent cast patch.Chris Lattner2006-11-301-1/+2
| | | | llvm-svn: 32042
* For PR950:Reid Spencer2006-11-276-53/+68
| | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931
* Replace #include <iostream> with llvm_* streams.Bill Wendling2006-11-266-69/+62
| | | | llvm-svn: 31924
* second patch to fix PR992/993.Chris Lattner2006-11-091-4/+17
| | | | llvm-svn: 31610
* Minimal patch to fix PR992/PR993Chris Lattner2006-11-091-2/+1
| | | | llvm-svn: 31608
* For PR786:Reid Spencer2006-11-027-10/+5
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* Fix GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll and McGill/chompChris Lattner2006-11-011-8/+14
| | | | llvm-svn: 31352
* For PR950:Reid Spencer2006-10-261-1/+1
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* llvm-extract should remove module-level asmChris Lattner2006-10-201-3/+3
| | | | llvm-svn: 31086
* For PR950:Reid Spencer2006-10-204-94/+93
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Revert previous patch. Still breaking things.Evan Cheng2006-10-031-49/+1
| | | | llvm-svn: 30698
* Fix debug outputChris Lattner2006-09-301-2/+1
| | | | llvm-svn: 30680
* Implement SRA of heap allocations.Chris Lattner2006-09-301-10/+266
| | | | llvm-svn: 30679
* Add some ifdef'd out debug infoChris Lattner2006-09-301-3/+30
| | | | llvm-svn: 30676
* Eliminate ConstantBool::True and ConstantBool::False. Instead, provideChris Lattner2006-09-281-4/+5
| | | | | | ConstantBool::getTrue() and ConstantBool::getFalse(). llvm-svn: 30665
* Another attempt at making ArgPromotion smarter. This patch no longer breaks ↵Owen Anderson2006-09-281-1/+49
| | | | | | Burg. llvm-svn: 30657
* Implement a trivial optzn: of vastart is never called in a function that takesChris Lattner2006-09-181-2/+113
| | | | | | | | ... args, remove the '...'. This is Transforms/DeadArgElim/dead_vaargs.ll llvm-svn: 30459
* revert previous two patches. They cause miscompilation of ↵Chris Lattner2006-09-151-35/+1
| | | | | | MultiSource/Applications/Burg llvm-svn: 30397
* Revert my previous work on ArgumentPromotion. Further investigation has ↵Owen Anderson2006-09-151-34/+46
| | | | | | | | revealed these changes to be incorrect. They just weren't showing up in any of our current testcases. llvm-svn: 30385
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-142-4/+6
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
OpenPOWER on IntegriCloud