summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
...
* Add dump() to DominanceFrontierTobias Grosser2010-07-161-0/+5
| | | | llvm-svn: 108512
* Don't pass StringRef by reference.Benjamin Kramer2010-07-141-2/+1
| | | | llvm-svn: 108366
* Just use getParent() instead of getModuleFromVal when the value is a Function.Dan Gohman2010-07-141-1/+1
| | | | llvm-svn: 108358
* Rename WriteConstantInt to WriteConstantInternal, to avoid confusion.Dan Gohman2010-07-141-4/+5
| | | | llvm-svn: 108357
* Add support for empty metadata nodes: !{}.Dan Gohman2010-07-131-1/+2
| | | | llvm-svn: 108259
* rotate CallInst operandsGabor Greif2010-07-131-2/+3
| | | | | | | | | | | | | | | | | with this commit the callee moves to the end of the operand array (from the start) and the call arguments now start at index 0 (formerly 1) this ordering is now consistent with InvokeInst this commit only flips the switch, functionally it is equivalent to r101465 I intend to commit several cleanups after a few days of soak period llvm-svn: 108240
* cache dereferenced iteratorsGabor Greif2010-07-121-2/+3
| | | | llvm-svn: 108131
* Convert some tab stops into spaces.Duncan Sands2010-07-122-2/+2
| | | | llvm-svn: 108130
* fix PR7311 by avoiding breaking casts when a bitcast from scalar->vectorChris Lattner2010-07-121-0/+8
| | | | | | is involved. llvm-svn: 108117
* make the prototypes for CreateMalloc and CreateFree more consistent. PatchChris Lattner2010-07-121-3/+4
| | | | | | by Hans Vandierendonck from PR7605 llvm-svn: 108116
* If it's safe to speculatively execute load(alloca) the it's safe to executeNick Lewycky2010-07-111-3/+11
| | | | | | | load(gep(alloca)) where the gep is all-zeros. There's more we could do here but this is a common case. llvm-svn: 108101
* fix typoChris Lattner2010-07-111-1/+1
| | | | llvm-svn: 108100
* use PrintEscapedString to handle attribute section with escapes in it,Chris Lattner2010-07-071-6/+11
| | | | | | | PR7399. The asm parser already handles this. This is of dubious utility (see the PR) but the asmprinter was clearly broken here. llvm-svn: 107834
* Add fixme.Devang Patel2010-07-061-0/+1
| | | | llvm-svn: 107697
* IndirectBr is not safe to speculatively execute (!)Dan Gohman2010-07-021-0/+1
| | | | llvm-svn: 107454
* Implement the "linker_private_weak" linkage type. This will be used forBill Wendling2010-07-012-0/+8
| | | | | | | | | | | | | | | | | | | | | | | Objective-C metadata types which should be marked as "weak", but which the linker will remove upon final linkage. However, this linkage isn't specific to Objective-C. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". Currently only supported on Darwin platforms. llvm-svn: 107433
* reformulate CallSite::getCallee to adapt to CallInst::ArgOffset, and make it ↵Gabor Greif2010-07-011-1/+3
| | | | | | work even if CallInst::op_* are private llvm-svn: 107390
* Revert r107205 and r107207.Bill Wendling2010-06-292-6/+0
| | | | llvm-svn: 107215
* Introducing the "linker_weak" linkage type. This will be used for Objective-CBill Wendling2010-06-292-0/+6
| | | | | | | | | | | | | | | | | | | metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". llvm-svn: 107205
* use ArgOperand APIGabor Greif2010-06-291-6/+6
| | | | llvm-svn: 107145
* encode operand initializations (at fixed index)Gabor Greif2010-06-291-12/+8
| | | | | | | | | in terms of Op<> and ArgOffset. This works for values of {0, 1} for ArgOffset. Please note that ArgOffset will become 0 soon and will go away eventually. llvm-svn: 107129
* Constant fold x == undef to undef.Dan Gohman2010-06-281-1/+8
| | | | llvm-svn: 107074
* Fix Value::stripPointerCasts and BasicAA to avoid trouble onDan Gohman2010-06-281-1/+9
| | | | | | | code in unreachable blocks, which have have use-def cycles. This fixes PR7514. llvm-svn: 107071
* use ArgOperand accessorsGabor Greif2010-06-231-13/+13
| | | | llvm-svn: 106626
* use ArgOperand accessorsGabor Greif2010-06-231-5/+6
| | | | llvm-svn: 106623
* use helper to neatly access argumentsGabor Greif2010-06-231-5/+6
| | | | llvm-svn: 106622
* use high-level accessorsGabor Greif2010-06-221-12/+13
| | | | llvm-svn: 106573
* warmup ritual: use high-level argument accessorsGabor Greif2010-06-221-3/+3
| | | | llvm-svn: 106563
* Use single interface, using twine, to get named metadata.Devang Patel2010-06-221-5/+1
| | | | | | getNamedMetadata(). llvm-svn: 106518
* Use A.append(...) instead of A.insert(A.end(), ...) when A is aDan Gohman2010-06-212-3/+3
| | | | | | SmallVector, and other SmallVector simplifications. llvm-svn: 106452
* Move several non-performance-critical member functinos out of line.Dan Gohman2010-06-212-0/+50
| | | | llvm-svn: 106444
* Tidy.Bob Wilson2010-06-191-2/+2
| | | | llvm-svn: 106383
* Use separate named MDNode to hold each function's local variable info.Devang Patel2010-06-161-0/+7
| | | | | | This speeds up local variable handling in DwarfDebug. llvm-svn: 106075
* improve verifier error about unterminated block to includeChris Lattner2010-06-121-1/+2
| | | | | | function name, patch by Yuri llvm-svn: 105887
* Another place where the code wanted to access the argument list and not all ofBill Wendling2010-06-071-2/+2
| | | | | | the operands. llvm-svn: 105545
* getFoldedOffsetOf no longer does anything special with vector types.Dan Gohman2010-06-051-1/+1
| | | | llvm-svn: 105514
* Split the logic behind CastInst::isNoopCast into a separate static function,Dan Gohman2010-05-281-5/+13
| | | | | | as is done with most other cast opcode predicates. llvm-svn: 105008
* Eliminate the restriction that the array size in an alloca must be i32.Dan Gohman2010-05-282-4/+4
| | | | | | This will help reduce the amount of casting required on 64-bit targets. llvm-svn: 104911
* Add basic error checking to MemoryBuffer::getSTDIN.Dan Gohman2010-05-271-7/+6
| | | | llvm-svn: 104855
* Add support for thiscall calling convention.Anton Korobeynikov2010-05-162-0/+4
| | | | | | Patch by Charles Davis and Steven Watanabe! llvm-svn: 103902
* Adding a v8i64 512-bit vector type. This will be used to model ARM NEON ↵Evan Cheng2010-05-131-0/+6
| | | | | | intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers. llvm-svn: 103746
* Revert r103493, materializing functions in the regular PassManager.Dan Gohman2010-05-111-9/+1
| | | | | | It works in simple cases, but it isn't a general solution. llvm-svn: 103499
* Teach the regular pass manager how to materialize functions as needed.Dan Gohman2010-05-111-1/+9
| | | | llvm-svn: 103493
* simplify more.Chris Lattner2010-05-101-1/+1
| | | | llvm-svn: 103431
* Simplify by using startswith instead of substr.Chris Lattner2010-05-101-2/+2
| | | | llvm-svn: 103430
* fix PR7105 by enumerating MDNodes on all @llvm.fooChris Lattner2010-05-101-5/+10
| | | | | | function calls, not just recognized intrinsics. llvm-svn: 103428
* Fix PR6875:David Greene2010-05-101-15/+31
| | | | | | | | | | | | | | | This includes a patch by Roman Divacky to fix the initial crash. Move the actual addition of passes from *PassManager::add to *PassManager::addImpl. That way, when adding printer passes we won't recurse infinitely. Finally, check to make sure that we are actually adding a FunctionPass to a FunctionPassManager before doing a print before or after it. Immutable passes are strange in this way because they aren't FunctionPasses yet they can be and are added to the FunctionPassManager. llvm-svn: 103425
* Minimally fix this code to not abort on mdnodes with integer dataDan Gohman2010-05-071-5/+7
| | | | | | wider than 64 bits. llvm-svn: 103309
* Fix a problem exposed by my previous commit and noticed by a release-assertsDuncan Sands2010-05-041-11/+3
| | | | | | | | | buildbot: the debugging and non-debugging versions of getFunction were not functionally equivalent: the non-debugging version wrongly assumed that if a metadata operand was not metadata, then it had a non-null containing function. This is not true, since the operand might be a global value, constant etc. llvm-svn: 103008
* Fix a variant of PR6112 found by thinking about it: when doingDuncan Sands2010-05-041-7/+21
| | | | | | | | | | RAUW of a global variable with a local variable in function F, if function local metadata M in function G was using the global then M would become function-local to both F and G, which is not allowed. See the testcase for an example. Fixed by detecting this situation and zapping the metadata operand when it occurs. llvm-svn: 103007
OpenPOWER on IntegriCloud