summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Remove the API compatibility layer which converted add, sub, and mulDan Gohman2010-05-032-27/+4
| | | | | | | | to fadd, fsub, and fmul, when used with a floating-point type. LLVM has supported the new instructions since 2.6, so it's time to get on board. llvm-svn: 102971
* Fix function prototype mismatch in LLVMUnionType(). Fixes PR7019.Nick Lewycky2010-05-031-2/+1
| | | | llvm-svn: 102959
* Verify metadata harder. In particular, check that moduleDuncan Sands2010-04-291-39/+60
| | | | | | | level metadata does not have any function local operands. This would have caught the problem found in PR6112. llvm-svn: 102620
* fix PR6112 - When globalopt (or any other pass) does RAUW(@G, %G), Chris Lattner2010-04-281-2/+15
| | | | | | | metadata references in non-function-local MDNodes should drop to null. llvm-svn: 102519
* Remove the palignr intrinsics now that we lower them to vector shuffles,Eric Christopher2010-04-201-1/+119
| | | | | | | | shifts and null vectors. Autoupgrade these to what we'd lower them to. Add a testcase to exercise this. llvm-svn: 101851
* Fix -Wcast-qual warnings.Dan Gohman2010-04-191-2/+4
| | | | llvm-svn: 101779
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-165-52/+51
| | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
* reapply r101434Gabor Greif2010-04-165-51/+52
| | | | | | | | | | | | | with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
* Silence an unused variable warning.Eric Christopher2010-04-161-1/+1
| | | | llvm-svn: 101438
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-165-52/+51
| | | | llvm-svn: 101434
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-155-51/+52
| | | | | | | | | | | | | with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
* Fix a bunch of namespace polution.Dan Gohman2010-04-153-3/+7
| | | | llvm-svn: 101376
* Fix namespace polution.Dan Gohman2010-04-151-0/+4
| | | | llvm-svn: 101375
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-155-52/+51
| | | | llvm-svn: 101368
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-155-51/+52
| | | | | | | | | | of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
* Move a bunch of methods from CallSite to CallSiteBase, so that they canDan Gohman2010-04-141-77/+0
| | | | | | be used in ImmutableCallSite too. llvm-svn: 101292
* Enable RTTI again. While this works fine for LLVM, it creates an ABINick Lewycky2010-04-141-0/+1
| | | | | | incompatibility with some clients covered by the buildbots, such as llvm-gcc. llvm-svn: 101237
* Turn off RTTI for VMCore. Yay!Nick Lewycky2010-04-141-1/+0
| | | | llvm-svn: 101233
* Fix 80 column ruler.Nick Lewycky2010-04-141-1/+1
| | | | llvm-svn: 101229
OpenPOWER on IntegriCloud