summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Rename TargetData to DataLayout in DataLayout.cpp. This should fix a build ↵Micah Villmow2012-10-041-33/+33
| | | | | | failure from r165249 where the wrong version of the file was submitted. llvm-svn: 165251
* Create the DataLayout class, as a direct copy of TargetData.Micah Villmow2012-10-042-0/+666
| | | | llvm-svn: 165249
* Accidently checked in the files, only wanted to copy them.Micah Villmow2012-10-041-665/+0
| | | | llvm-svn: 165244
* (no commit message)Micah Villmow2012-10-041-0/+665
| | | | llvm-svn: 165243
* Add method to query for NoCapture attribute.Bill Wendling2012-10-041-0/+16
| | | | llvm-svn: 165212
* Use method to query for attributes.Bill Wendling2012-10-041-9/+9
| | | | llvm-svn: 165209
* Add method to query for 'NoAlias' attribute on call/invoke instructions.Bill Wendling2012-10-041-0/+16
| | | | llvm-svn: 165208
* Add methods which query for the specific attribute instead of using theBill Wendling2012-10-031-0/+96
| | | | | | enums. This allows for better encapsulation of the Attributes class. llvm-svn: 165132
* Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. ↵Sylvestre Ledru2012-09-274-4/+4
| | | | | | See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 llvm-svn: 164768
* Fix a typo 'iff' => 'if'Sylvestre Ledru2012-09-274-4/+4
| | | | llvm-svn: 164767
* Add IRBuilder code for adding !tbaa.struct metadata tags to llvm.memcpy calls.Dan Gohman2012-09-261-1/+5
| | | | llvm-svn: 164728
* Query the parameter attributes directly instead of using the Attribute symbols.Bill Wendling2012-09-261-5/+5
| | | | llvm-svn: 164727
* Initial commit for the AttributesImpl class.Bill Wendling2012-09-264-1/+84
| | | | | | | | This opaque class will contain all of the attributes. All attribute queries will go through this object. This object will also be uniqued in the LLVMContext. Currently not used, so no implementation change. llvm-svn: 164722
* Replace calls to getSizeInBits with getExtendedSizeInBits since its already ↵Craig Topper2012-09-261-7/+7
| | | | | | known its an extended type. llvm-svn: 164667
* Move Attribute::typeIncompatible inside of the Attributes class.Bill Wendling2012-09-252-5/+6
| | | | llvm-svn: 164629
* Don't do actual work inside an assert statement. Fixes PR11760!Nick Lewycky2012-09-231-4/+6
| | | | llvm-svn: 164474
* Add LLVM_OVERRIDE to methods that override their base classes.Craig Topper2012-09-231-1/+1
| | | | llvm-svn: 164471
* Encapsulate the "construct*AlignmentFromInt" functions.Bill Wendling2012-09-211-2/+2
| | | | llvm-svn: 164373
* Make the 'get*AlignmentFromAttr' functions into member functions within the ↵Bill Wendling2012-09-211-7/+8
| | | | | | Attributes class. Now with fix. llvm-svn: 164370
* Revert r164308 to fix buildbots.Bill Wendling2012-09-201-8/+7
| | | | llvm-svn: 164309
* Make the 'get*AlignmentFromAttr' functions into member functions within the ↵Bill Wendling2012-09-201-7/+8
| | | | | | Attributes class. llvm-svn: 164308
* Remove more bare uses of the different Attribute enums.Bill Wendling2012-09-201-6/+6
| | | | llvm-svn: 164307
* Make the 'getAsString' function a method of the Attributes class.Bill Wendling2012-09-203-48/+48
| | | | llvm-svn: 164305
* Convert some attribute existence queries over to use the predicate methods.Bill Wendling2012-09-192-27/+27
| | | | llvm-svn: 164268
* Add in new data types that are used by AMDIL/ANL among others.Micah Villmow2012-09-191-0/+20
| | | | llvm-svn: 164261
* Add support for accessing an MDNode's operands via the C binding. Patch byDuncan Sands2012-09-191-0/+13
| | | | | | Anthony Bryant. llvm-svn: 164247
* whitespace.Nadav Rotem2012-09-191-9/+0
| | | | llvm-svn: 164203
* Mark unimplemented copy constructors and copy assignment operators as ↵Craig Topper2012-09-181-2/+2
| | | | | | LLVM_DELETED_FUNCTION. llvm-svn: 164090
* Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.Craig Topper2012-09-152-13/+13
| | | | llvm-svn: 163974
* Define an official slot for the new !tbaa.struct metadata tag.Dan Gohman2012-09-131-0/+5
| | | | llvm-svn: 163815
* Unify the emission of the calling conventions into a single function to ↵Micah Villmow2012-09-131-42/+27
| | | | | | reduce code duplication. llvm-svn: 163805
* Recommit, with fixes:Eric Christopher2012-09-121-0/+24
| | | | | | | | | | | Add some support for dealing with an object pointer on arguments. Part of rdar://9797999 which now supports adding the object pointer attribute to the subprogram as it should. llvm-svn: 163754
* Revert "Add some support for dealing with an object pointer on arguments."Eric Christopher2012-09-121-24/+0
| | | | | | This should be done on the subprogram, not the variable itself. llvm-svn: 163734
* When calling print directly on a global (eg from the debugger) itDuncan Sands2012-09-121-3/+3
| | | | | | | | | was printing a newline that doesn't occur when printing other kinds of LLVM values. Move the printing of that newline elsewhere, making globals print the same as other values while leaving the output when printing an entire module unchanged. Patch by Saša Tomić. llvm-svn: 163693
* Add some support for dealing with an object pointer on arguments.Eric Christopher2012-09-121-0/+24
| | | | | | Part of rdar://9797999 llvm-svn: 163667
* c bindings: revert LLVMConstInlineAsm to always use the default asm dialect.Benjamin Kramer2012-09-101-4/+2
| | | | | | | | - The C API should be stable - InlineAsm::AsmDialect is not exposed to C - The function didn't match the prototype so this was unreachable code llvm-svn: 163502
* Stop casting away const qualifier needlessly.Roman Divacky2012-09-051-1/+1
| | | | llvm-svn: 163258
* [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect toChad Rosier2012-09-054-8/+9
| | | | | | inteldialect. llvm-svn: 163231
* [ms-inline asm] Emit the (new) inline asm Non-Standard Dialect attribute.Chad Rosier2012-09-051-0/+2
| | | | llvm-svn: 163181
* [ms-inline asm] Add the inline assembly dialect, AsmDialect, to the InlineAsmChad Rosier2012-09-043-13/+23
| | | | | | class. llvm-svn: 163175
* [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. ThisChad Rosier2012-09-041-3/+0
| | | | | | | implementation does not co-exist well with how the sideeffect and alignstack attributes are handled. The reverts r161641. llvm-svn: 163174
* Move the GCOVFormat enums into their own namespace per the LLVM coding standard.Bill Wendling2012-08-311-10/+10
| | | | llvm-svn: 163008
* Apply "/Og-" also to MSC15(aka VS9) on VMCore/Function.cpp.NAKAMURA Takumi2012-08-301-1/+1
| | | | llvm-svn: 162917
* Make atomic load and store of pointers work. Tighten verification of atomic ↵Eli Friedman2012-08-171-0/+32
| | | | | | | | | operations so other unexpected operations don't slip through. Based on patch by Logan Chien. PR11786/PR13186. llvm-svn: 162146
* Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' toBill Wendling2012-08-173-10/+10
| | | | | | | | | | | | | | | | | | | | make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> llvm-svn: 162114
* Assert that dominates is not given a multiple edge. Finding out if we haveRafael Espindola2012-08-172-0/+17
| | | | | | | | | | | | | multiple edges between two blocks is linear. If the caller is iterating all edges leaving a BB that would be a square time algorithm. It is more efficient to have the callers handle that case. Currently the only callers are: * GVN: already avoids the multiple edge case. * Verifier: could only hit this assert when looking at an invalid invoke. Since it already rejects the invoke, just avoid computing the dominance for it. llvm-svn: 162113
* Teach GVN to reason about edges dominating uses. This allows it to handle casesRafael Espindola2012-08-161-14/+11
| | | | | | | | | | | | | where some fact lake a=b dominates a use in a phi, but doesn't dominate the basic block itself. This feature could also be implemented by splitting critical edges, but at least with the current algorithm reasoning about the dominance directly is faster. The time for running "opt -O2" in the testcase in pr10584 is 1.003 times slower and on gcc as a single file it is 1.0007 times faster. llvm-svn: 162023
* Fix a typo that led to a failure to correctly verify bitcast instructions.Nick Lewycky2012-08-151-1/+1
| | | | | | Patch by Stephen Hines! llvm-svn: 161921
* Typo.Eric Christopher2012-08-141-1/+1
| | | | llvm-svn: 161826
* The normal edge of an invoke is not allowed to branch to a block with aEli Friedman2012-08-101-1/+1
| | | | | | landingpad. Enforce it in the verifier, and fix the regression tests to match. llvm-svn: 161697
OpenPOWER on IntegriCloud