summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
...
* Use StringRef which performs the "early exit" when compared against a constantBill Wendling2010-09-101-6/+1
| | | | | | string. llvm-svn: 113615
* Early exit with simple checks.Bill Wendling2010-09-101-3/+6
| | | | llvm-svn: 113603
* Auto-upgrade the magic ".llvm.eh.catch.all.value" global toBill Wendling2010-09-101-0/+14
| | | | | | "llvm.eh.catch.all.value". Only the name needs to be changed. llvm-svn: 113600
* MDNodes are not Constants.Dan Gohman2010-09-091-5/+0
| | | | llvm-svn: 113539
* Print invalid metadata references as <badref>, for consistency withDan Gohman2010-09-091-2/+10
| | | | | | regular value references. llvm-svn: 113538
* Clarify the ownership model of LLVMContext and Module. Namely, contexts ownOwen Anderson2010-09-084-0/+24
| | | | | | | modules are instantiated in them. If the context is deleted, all of its owned modules are also deleted. llvm-svn: 113374
* Fix PR7972, in which the PassRegistry was being leaked. As part of this,Owen Anderson2010-09-071-35/+16
| | | | | | | switch to using a ManagedStatic for the global PassRegistry instead of a ManagedCleanup, and fix a destruction ordering bug this exposed. llvm-svn: 113283
* Add an MVT::x86mmx type. It will take the place of all current MMX vector types.Bill Wendling2010-09-071-0/+1
| | | | llvm-svn: 113261
* Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce ↵Owen Anderson2010-09-071-26/+64
| | | | | | | | #include clutter and exposing internal details. llvm-svn: 113252
* Replace NEON vabdl, vaba, and vabal intrinsics with combinations of theBob Wilson2010-09-031-12/+50
| | | | | | | | vabd intrinsic and add and/or zext operations. In the case of vaba, this also avoids the need for a DAG combine pattern to combine vabd with add. Update tests. Auto-upgrade the old intrinsics. llvm-svn: 112941
* lets get crazy and name the header file the exact class name,Chris Lattner2010-09-021-1/+1
| | | | | | not a scrunched version of it. llvm-svn: 112904
* reapply 112894:Chris Lattner2010-09-021-12/+4
| | | | | | | | | | | | | | | | Remove #uses comments from functions: they we're padded out to column 50 and were potentially confusing for externally visible functions. going further, remove the "<i8**> [#uses=3]" comments entirely. They add a lot of noise, confuse people about what the IR is, and don't add any particular value. When the types are long it makes it really really hard to read IR. If someone is interested in this sort of thing, the right way to do this is to implement an AsmAnnotationWriter that produces the same output, and add a flag to llvm-dis (only) to produce this output. llvm-svn: 112899
* revert patch, need to update clang tests tooChris Lattner2010-09-021-4/+12
| | | | llvm-svn: 112895
* Remove #uses comments from functions: they we're padded out to column 50Chris Lattner2010-09-021-12/+4
| | | | | | | | | | | | | | | and were potentially confusing for externally visible functions. going further, remove the "<i8**> [#uses=3]" comments entirely. They add a lot of noise, confuse people about what the IR is, and don't add any particular value. When the types are long it makes it really really hard to read IR. If someone is interested in this sort of thing, the right way to do this is to implement an AsmAnnotationWriter that produces the same output, and add a flag to llvm-dis (only) to produce this output. llvm-svn: 112894
* Print the number of uses of a function in the .ll since it can be informativeDuncan Sands2010-09-021-2/+2
| | | | | | and there seems to be no reason not to. llvm-svn: 112812
* Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply,Bob Wilson2010-09-011-21/+52
| | | | | | | add, and subtract operations with zero-extended or sign-extended vectors. Update tests. Add auto-upgrade support for the old intrinsics. llvm-svn: 112773
* Add comments explaining why it's not necessary to include theDan Gohman2010-08-301-1/+6
| | | | | | is-function-local flag in metadata uniquing bits. llvm-svn: 112528
* Remove NEON vmovn intrinsic, replacing it with vector truncate operations.Bob Wilson2010-08-301-1/+6
| | | | | | Auto-upgrade the old intrinsic and update tests. llvm-svn: 112507
* Remove NEON vaddl, vaddw, vsubl, and vsubw intrinsics. Instead, use llvmBob Wilson2010-08-291-2/+32
| | | | | | | IR add/sub operations with one or both operands sign- or zero-extended. Auto-upgrade the old intrinsics. llvm-svn: 112416
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-2810-362/+17
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* zap dead codeChris Lattner2010-08-281-10/+0
| | | | llvm-svn: 112349
* Add alignment arguments to all the NEON load/store intrinsics.Bob Wilson2010-08-271-1/+66
| | | | | | | Update all the tests using those intrinsics and add support for auto-upgrading bitcode files with the old versions of the intrinsics. llvm-svn: 112271
* Don't include the is-function-local bit in the FoldingSetNodeIDDan Gohman2010-08-241-15/+15
| | | | | | | | for MDNodes, since this information is effectively implied by the operands. This allow allows the code to avoid doing a recursive is-it-really-function-local check in some cases. llvm-svn: 111995
* Verify that a non-uniqued non-temporary MDNode is not deleted viaDan Gohman2010-08-231-1/+3
| | | | | | MDNode::deleteTemporary. llvm-svn: 111853
* Now that PassInfo and Pass::ID have been separated, move the rest of the ↵Owen Anderson2010-08-231-3/+3
| | | | | | passes over to the new registration API. llvm-svn: 111815
* Verify the predicates on icmp/fcmp. Suggested by Jeff Yasskin!Nick Lewycky2010-08-221-6/+15
| | | | llvm-svn: 111787
* Use MDNode::destroy(). Fixes a delete/free mismatch.Benjamin Kramer2010-08-211-3/+1
| | | | llvm-svn: 111739
* Add an assert to MDNode::deleteTemporary check that the node being deletedDan Gohman2010-08-211-1/+3
| | | | | | is not non-temporary. llvm-svn: 111713
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-203-0/+12
| | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
* Introduce a new temporary MDNode concept. Temporary MDNodes areDan Gohman2010-08-201-0/+23
| | | | | | | | not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111681
* Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.Erick Tryzelaar2010-08-201-0/+8
| | | | llvm-svn: 111625
* Replace the arm.neon.vmovls and vmovlu intrinsics with vector sign-extend andBob Wilson2010-08-201-0/+29
| | | | | | zero-extend operations. llvm-svn: 111614
* Revert r111199; it breaks -debug-pass=Structure output.Dan Gohman2010-08-192-20/+12
| | | | llvm-svn: 111500
* The plural of analysis is analyses.Dan Gohman2010-08-161-2/+2
| | | | llvm-svn: 111200
* Make dumpPassStructure be a PMDataManager abstraction, rather thanDan Gohman2010-08-162-12/+20
| | | | | | | | | | a Pass abstraction, since that's the level it's actually used at. Rename Pass' dumpPassStructure to dumpPass. This eliminates an awkward use of getAsPass() to convert a PMDataManager* into a Pass* just to permit a dumpPassStructure call. llvm-svn: 111199
* Remove redundant inline keywords.Dan Gohman2010-08-162-3/+3
| | | | llvm-svn: 111192
* Eliminate the TopLevelManagerType enum; instead, just makeDan Gohman2010-08-161-14/+6
| | | | | | | PMTopLevelManager's constructor take a PMDataManager *, which already provides the needed abstraction support. llvm-svn: 111189
* Revert r111082. No warnings for this common pattern.Argyrios Kyrtzidis2010-08-151-2/+2
| | | | llvm-svn: 111102
* Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.Argyrios Kyrtzidis2010-08-141-2/+2
| | | | llvm-svn: 111082
* Move some code from Verifier into SVI::isValidOperands. This allows us to ↵Nate Begeman2010-08-132-23/+17
| | | | | | catch bad shufflevector operations when they are created, rather than waiting for someone to notice later on. llvm-svn: 110986
* Trim #includes.Dan Gohman2010-08-122-7/+0
| | | | llvm-svn: 110983
* Tidy up whitespace.Dan Gohman2010-08-121-85/+87
| | | | llvm-svn: 110982
* Use .empty() instead of .size().Dan Gohman2010-08-121-1/+1
| | | | llvm-svn: 110981
* Remove BasicBlockPass::runOnFunction, which was unused.Dan Gohman2010-08-111-10/+0
| | | | llvm-svn: 110847
* Delete FunctionPass::run, which is unused.Dan Gohman2010-08-111-11/+0
| | | | llvm-svn: 110843
* Delete FunctionPass::runOnModule, which is unused.Dan Gohman2010-08-111-13/+0
| | | | llvm-svn: 110842
* Reject unrepresentable pointer types in intrinsics. Fixes PR7316.Nick Lewycky2010-08-081-2/+7
| | | | llvm-svn: 110541
* More #include cleanups.Dan Gohman2010-08-071-0/+1
| | | | llvm-svn: 110499
* Oops, check in this file too.Dan Gohman2010-08-071-2/+2
| | | | llvm-svn: 110496
* Tidy some #includes and forward-declarations, and move the C binding codeDan Gohman2010-08-073-41/+37
| | | | | | out of PassManager.cpp and into Core.cpp with the rest of the C binding code. llvm-svn: 110494
OpenPOWER on IntegriCloud