summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve style.Owen Anderson2009-06-121-16/+16
| | | | llvm-svn: 73258
* This is supposed to be a preorder numbering of the dominator tree, not the CFG.Owen Anderson2009-06-121-4/+5
| | | | llvm-svn: 73257
* Now with less iterator invalidation, and other forms of crashing!Owen Anderson2009-06-121-3/+6
| | | | llvm-svn: 73256
* If killed register is defined by implicit_def, do not clear it since it's ↵Evan Cheng2009-06-121-5/+12
| | | | | | live range may overlap another def of same register. llvm-svn: 73255
* second half of fix for PR4366: don't zap store to null of Chris Lattner2009-06-121-3/+7
| | | | | | non-default addrspaces. llvm-svn: 73253
* Mark some pattern-less instructions as neverHasSideEffects.Evan Cheng2009-06-123-1/+9
| | | | llvm-svn: 73252
* Clear AbstractInstanceRootMap at the end of the function.Devang Patel2009-06-121-0/+1
| | | | llvm-svn: 73244
* Don't do (x - (y - z)) --> (x + (z - y)) on floating-point types, becauseDan Gohman2009-06-121-15/+0
| | | | | | it may round differently. This fixes PR4374. llvm-svn: 73243
* Give Instruction::isSameOperationAs a corresponding comment to noteDan Gohman2009-06-122-4/+8
| | | | | | | | | | | the relationship with MergeFunctions.cpp's isEquivalentOperation, and make a trivial code reordering so that the two functions are easier to compare. Fix the name of Instruction::isSameOperationAs in MergeFunction.cpp's isEquivalentOperation's comment, and fix a nearby 80-column violation. llvm-svn: 73241
* Keep callers of a weak function calling it, instead of the non-weak equivalent.Nick Lewycky2009-06-121-0/+1
| | | | llvm-svn: 73235
* Fix Bug 4278: X86-64 with -tailcallopt calling conventionArnold Schwaighofer2009-06-123-50/+2
| | | | | | | | | | | | | | | out of sync with regular cc. The only difference between the tail call cc and the normal cc was that one parameter register - R9 - was reserved for calling functions through a function pointer. After time the tail call cc has gotten out of sync with the regular cc. We can use R11 which is also caller saved but not used as parameter register for potential function pointers and remove the special tail call cc on x86-64. llvm-svn: 73233
* Don't forget to match the calling convention when producing a thunk.Nick Lewycky2009-06-121-2/+2
| | | | llvm-svn: 73231
* Given two identical weak functions, produce one internal function and two weakNick Lewycky2009-06-121-4/+17
| | | | | | thunks. llvm-svn: 73230
* After obtaining the lock, look if the function has been codegen'd byNicolas Geoffray2009-06-121-0/+5
| | | | | | another thread. llvm-svn: 73227
* Add an "are types equivalent" operation that ignores the types that a pointerNick Lewycky2009-06-121-99/+354
| | | | | | | | | | | | | | | points to while analyzing all other fields. Use FoldingSetNodeID to produce a good hash. This dramatically decreases run times. Emit thunks. This means that it can look at all functions regardless of what the linkage is or if the address is taken, but unfortunately some small functions can be even shorter than the thunk because our backend doesn't yet realize it can just turn these into jumps. This means that this pass will pessimize code on average. llvm-svn: 73222
* Don't remove aggregate-typed module level constants before encoding functionsNick Lewycky2009-06-123-31/+0
| | | | | | since functions may contain aggregate constants too. llvm-svn: 73220
* Misc x86 README updates: remove a couple of already-fixed issues, Eli Friedman2009-06-111-57/+57
| | | | | | add a few suggestions from looking at some assembly code. llvm-svn: 73210
* Use forward declarations and move TargetELFWriterInfo impl to a new file.Bruno Cardoso Lopes2009-06-113-2/+37
| | | | llvm-svn: 73209
* Support for ELF VisibilityBruno Cardoso Lopes2009-06-117-98/+319
| | | | | | | | Emission for globals, using the correct data sections Function alignment can be computed for each target using TargetELFWriterInfo Some small fixes llvm-svn: 73201
* Fix 4366: store to null in non-default addr space should not beChris Lattner2009-06-111-1/+2
| | | | | | turned into unreachable. llvm-svn: 73195
* Generate libcalls for floating point arithmetic and casting operations.Sanjiv Gupta2009-06-111-1/+22
| | | | llvm-svn: 73194
* Cosmetic changes to parameter attribute verification.Duncan Sands2009-06-111-17/+18
| | | | llvm-svn: 73188
* Avoid leaking memory in an error path. NoticedDuncan Sands2009-06-111-3/+4
| | | | | | by cppcheck. llvm-svn: 73187
* More formatting.Sanjiv Gupta2009-06-111-3/+13
| | | | llvm-svn: 73185
* Fixed source comments. No functionality change.Sanjiv Gupta2009-06-111-5/+15
| | | | llvm-svn: 73184
* CMake: Updated list of files on lib/CodeGen/CMakeLists.txt.Oscar Fuentes2009-06-101-0/+1
| | | | llvm-svn: 73174
* Implement and use new method Function::hasAddressTaken().Jay Foad2009-06-104-38/+17
| | | | llvm-svn: 73164
* Remove warnings: no newline at end of file.Sanjiv Gupta2009-06-101-1/+2
| | | | llvm-svn: 73156
* Silence a warningAnton Korobeynikov2009-06-091-1/+1
| | | | llvm-svn: 73152
* Remove an unused function SafeToDestroyConstant(). Rename an almostJay Foad2009-06-092-24/+9
| | | | | | | identical function ConstantIsDead() to SafeToDestroyConstant(), to emphasise the connection with Constant::destroyConstant(). llvm-svn: 73149
* Simplified logic of this if-then statement to reduce nesting. No functionalityBill Wendling2009-06-091-44/+46
| | | | | | change. llvm-svn: 73143
* Add the beginnings of an implementatation of lazy liveness analysis, based ↵Owen Anderson2009-06-091-0/+153
| | | | | | | | on "Fast Liveness Checking for SSA-form Programs" by Boissinot, et al. This is still very early, hasn't been tested, and is not yet well documented. More to come soon. llvm-svn: 73141
* Use expandCodeFor instead of expand when the result will beDan Gohman2009-06-091-29/+18
| | | | | | | | | immediately casted. At present, this is just a minor code simplification. In the future, the expansion code may be able to make better choices if it knows what the desired result type will be. llvm-svn: 73137
* PIC16 emits auto variables as globals. When optimizer removes a function ↵Sanjiv Gupta2009-06-093-1/+40
| | | | | | entierly by estimating its side effects on globals, those globals(autos) without a function were not being printed by the Asm printer. llvm-svn: 73135
* TypoAnton Korobeynikov2009-06-081-1/+1
| | | | llvm-svn: 73098
* Revert hunk commited by accidentAnton Korobeynikov2009-06-081-7/+2
| | | | llvm-svn: 73097
* The attached patches implement most of the ARM AAPCS-VFP hard floatAnton Korobeynikov2009-06-087-12/+111
| | | | | | | | | ABI. The missing piece is support for putting "homogeneous aggregates" into registers. Patch by Sandeep Patel! llvm-svn: 73095
* Separate V6 from V6T2 since the latter has some extra nice instructionsAnton Korobeynikov2009-06-082-3/+8
| | | | llvm-svn: 73085
* Add helper for checking of Thumb1 modeAnton Korobeynikov2009-06-081-0/+1
| | | | llvm-svn: 73080
* Revert r72898. It does not solve the problem I want it to solve.Bill Wendling2009-06-081-16/+15
| | | | llvm-svn: 73075
* Delete comment and fix typoBruno Cardoso Lopes2009-06-072-2/+1
| | | | llvm-svn: 73040
* Fix wrong elf class and byte order initializations.Bruno Cardoso Lopes2009-06-071-2/+2
| | | | llvm-svn: 73039
* Simple ELF32/64 binary files can now be emitted for x86 and x86_64 withoutBruno Cardoso Lopes2009-06-075-59/+162
| | | | | | relocation sections. llvm-svn: 73038
* Tweak the expansion code for BIT_CONVERT to generate better code Eli Friedman2009-06-071-0/+20
| | | | | | converting from an MMX vector to an i64. llvm-svn: 73024
* Get rid of some unnecessary code.Eli Friedman2009-06-071-25/+0
| | | | llvm-svn: 73017
* Create FunctionType::isValidArgumentType to go along with isValidReturnType.Nick Lewycky2009-06-072-30/+74
| | | | | | | | | | | | | | | Also create isValidElementType for ArrayType, PointerType, StructType and VectorType. Make LLParser use them. This closes up some holes like an assertion failure on: %x = type {label} but largely doesn't change any semantics. The only thing we accept now which we didn't before is vectors of opaque type such as "<4 x opaque>". The opaque can be resolved to an int or float when linking. llvm-svn: 73016
* Slightly generalize the code that handles shuffles of consecutive loads Eli Friedman2009-06-072-182/+76
| | | | | | | | | | | on x86 to handle more cases. Fix a bug in said code that would cause it to read past the end of an object. Rewrite the code in SelectionDAGLegalize::ExpandBUILD_VECTOR to be a bit more general. Remove PerformBuildVectorCombine, which is no longer necessary with these changes. In addition to simplifying the code, with this change, we can now catch a few more cases of consecutive loads. llvm-svn: 73012
* Remove cyclic MDNode detection. Any attempt to create a cyclic MDNode willNick Lewycky2009-06-071-57/+16
| | | | | | crash LLVM first. llvm-svn: 73011
* Refuse metadata* type for function arguments.Nick Lewycky2009-06-071-1/+3
| | | | llvm-svn: 73010
* PR3628: Add patterns to match SHL/SRL/SRA to the corresponding Altivec Eli Friedman2009-06-071-0/+22
| | | | | | instructions. llvm-svn: 73009
OpenPOWER on IntegriCloud