summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
Commit message (Collapse)AuthorAgeFilesLines
* DIBuilder: support structs with vtable pointers in the same way as classesDavid Blaikie2013-02-251-8/+12
| | | | llvm-svn: 176004
* Add a field to the compile unit of where we plan on splitting outEric Christopher2013-02-221-2/+3
| | | | | | | the debug info for -gsplit-dwarf so we can encode that location in the skeleton cu. llvm-svn: 175933
* Add a TODO and explain when we can get rid of the isMain field.Eric Christopher2013-02-221-1/+1
| | | | llvm-svn: 175932
* Use references to attribute groups on the call/invoke instructions.Bill Wendling2013-02-221-9/+11
| | | | | | | Listing all of the attributes for the callee of a call/invoke instruction is way too much and makes the IR unreadable. Use references to attributes instead. llvm-svn: 175877
* Remove warning about default covering no cases.Bill Wendling2013-02-221-3/+2
| | | | llvm-svn: 175846
* Add a bitmask for NoBuiltin. This should *not* be used.Bill Wendling2013-02-221-1/+2
| | | | llvm-svn: 175843
* Implement the NoBuiltin attribute.Bill Wendling2013-02-222-2/+33
| | | | | | | | The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should not treat the callee function as a built-in function. I.e., it shouldn't try to replace that function with different code. llvm-svn: 175835
* Don't assert on empty attributes.Bill Wendling2013-02-211-2/+2
| | | | llvm-svn: 175785
* Add and remove the attribute from the correct slot.Bill Wendling2013-02-201-2/+12
| | | | | | | | | The slot that we're adding/removing the attribute from may not be the same as the attribute coming in. Make sure that they match up before we try to add/remove them. PR15313 llvm-svn: 175684
* Modify the LLVM assembly output so that it uses references to represent ↵Bill Wendling2013-02-201-16/+16
| | | | | | | | | | | function attributes. This makes the LLVM assembly look better. E.g.: define void @foo() #0 { ret void } attributes #0 = { nounwind noinline ssp } llvm-svn: 175605
* Add the function attributes from an inline asm call. These don't have ↵Bill Wendling2013-02-201-0/+8
| | | | | | declarations that set the attribute groups, so we must do it on our own. llvm-svn: 175577
* Fix a bug in mayHaveSideEffects. Functions that do not return are now ↵Nadav Rotem2013-02-191-2/+6
| | | | | | | | considered as instructions with side effects. rdar://13227456 llvm-svn: 175553
* Fix a bug that was found by the clang static analyzer. The var "AT" is null ↵Nadav Rotem2013-02-191-2/+2
| | | | | | so we cant deref it. llvm-svn: 175550
* Futureproof AttrBuild if we ever have more than 64 attr enum values.Benjamin Kramer2013-02-181-14/+12
| | | | | | | Currently we're at 34. Bitset should compile into virtually the same code as uint64_t here. llvm-svn: 175437
* DIBuilder: Correct the null/0 type of trailing fields in struct debug info.David Blaikie2013-02-181-2/+2
| | | | | | Paired with an Clang commit so this may cause temporary build failures. llvm-svn: 175426
* DIBuilder: Add function and method definitions to the list of all subprogramsDavid Blaikie2013-02-181-1/+4
| | | | | | | | Previously we seemed to be assuming that all functions were definitions and all methods were declarations. This may be consistent with how Clang uses DIBuilder but doesn't have to be true of all clients (such as DragonEgg). llvm-svn: 175423
* Narrow the return types of a few DIBuilder utility functions.David Blaikie2013-02-181-39/+37
| | | | llvm-svn: 175421
* Add multithreading functions and shutdown to the C API. Patch by MoritzDuncan Sands2013-02-171-0/+20
| | | | | | Maxeiner. llvm-svn: 175398
* GCC doesn't like ++ on enums.Benjamin Kramer2013-02-161-1/+1
| | | | llvm-svn: 175373
* Turn the enum attributes DenseSet in AttrBuilder into a set of bits.Benjamin Kramer2013-02-161-24/+23
| | | | | | | | Avoids malloc and is a lot denser. We lose iteration over target independent attributes, but that's a strange interface anyways and didn't have any users outside of AttrBuilder. llvm-svn: 175370
* Simplify the 'operator<' for the attribute object.Bill Wendling2013-02-151-15/+13
| | | | llvm-svn: 175252
* Revert "Simplify the attributes '<' comparison function."Anna Zaks2013-02-151-13/+15
| | | | | | This reverts commit 82c101153fe7b35bce48781fab038e1b8f31a7bd. llvm-svn: 175250
* Simplify the attributes '<' comparison function.Bill Wendling2013-02-151-15/+13
| | | | llvm-svn: 175235
* s/bool/LLVMBool/Bill Wendling2013-02-141-1/+1
| | | | llvm-svn: 175204
* Add two new functions to the C API:Bill Wendling2013-02-141-0/+23
| | | | | | | | | LLVMCreateMemoryBufferWithMemoryRange - exposes MemoryBuffer::getMemBuffer LLVMCreateMemoryBufferWithMemoryRangeCopy - exposes MemoryBuffer::getMemBufferCopy Patch by Moritz Maxeiner! llvm-svn: 175199
* Use array_pod_sort.Bill Wendling2013-02-131-1/+1
| | | | llvm-svn: 175048
* Add some accessor and query methods for retrieving Attribute objects and such.Bill Wendling2013-02-132-0/+45
| | | | llvm-svn: 175046
* Add static cast to unsigned char whenever a character classification ↵Guy Benyei2013-02-123-8/+12
| | | | | | function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. llvm-svn: 175006
* Support string attributes in the AttrBuilder.Bill Wendling2013-02-121-11/+25
| | | | llvm-svn: 174948
* DIBuilder: make the return type of createBasicType more specificDavid Blaikie2013-02-121-4/+4
| | | | llvm-svn: 174924
* Add support for printing out the attribute groups.Bill Wendling2013-02-113-17/+88
| | | | | | | | | | | | This emits the attribute groups that are used by the functions. (It currently doesn't print out return type or parameter attributes within attribute groups.) Note: The functions still retrieve their attributes from the "old" bitcode format (using the deprecated 'Raw()' method). This means that string attributes within an attribute group will not show up during a disassembly. This will be addressed in a future commit. llvm-svn: 174867
* [tsan/msan] adding thread_safety and uninitialized_checks attributesKostya Serebryany2013-02-112-0/+8
| | | | llvm-svn: 174864
* Revert "Rename LLVMContext diagnostic handler types and functions."Bob Wilson2013-02-113-18/+20
| | | | | | | | | This reverts my commit 171047. Now that I've removed my misguided attempt to support backend warnings, these diagnostics are only about inline assembly. It would take quite a bit more work to generalize them properly, so I'm just reverting this. llvm-svn: 174860
* Fix unnecessary removal of const through cast machineryDavid Blaikie2013-02-111-3/+3
| | | | | | | | I have some uncommitted changes to the cast code that catch this sort of thing at compile-time but I still need to do some other cleanup before I can enable it. llvm-svn: 174853
* The 'Raw' method cannot handle 'string' attributes. Don't even try.Bill Wendling2013-02-101-0/+4
| | | | llvm-svn: 174848
* Handle string attributes in the AttrBuilder.Bill Wendling2013-02-101-1/+5
| | | | llvm-svn: 174834
* Add 'empty' query methods to the builder and use them in the verifier.Bill Wendling2013-02-101-1/+1
| | | | llvm-svn: 174832
* Add accessor for the LLVMContext.Bill Wendling2013-02-101-0/+4
| | | | llvm-svn: 174824
* Enable *BasicBlockPass::createPrinterPass()Sergei Larin2013-02-083-2/+38
| | | | | | Enables raw_ostream I/O for BasicBlockPass. llvm-svn: 174776
* Minor cleanup.Dan Gohman2013-02-081-1/+1
| | | | llvm-svn: 174756
* Revert "Add LLVMContext::emitWarning methods and use them. ↵Bob Wilson2013-02-081-28/+1
| | | | | | | | | | | | | <rdar://problem/12867368>" This reverts r171041. This was a nice idea that didn't work out well. Clang warnings need to be associated with warning groups so that they can be selectively disabled, promoted to errors, etc. This simplistic patch didn't allow for that. Enhancing it to provide some way for the backend to specify a front-end warning type seems like overkill for the few uses of this, at least for now. llvm-svn: 174748
* Remove extra blank line between closing curly brace and 'else'Craig Topper2013-02-061-6/+3
| | | | llvm-svn: 174492
* Remove unused private field to suppress a build warning.Craig Topper2013-02-061-1/+0
| | | | llvm-svn: 174491
* Add a 'StringRef' version of hasAttribute.Bill Wendling2013-02-061-4/+16
| | | | | | | Fix the 'operator==' and 'hasAttributes' queries to take into account target-dependent attributes. llvm-svn: 174481
* Add methods to merge an AttrBuilder into another builder.Bill Wendling2013-02-061-0/+17
| | | | | | | | This is useful when parsing an object that references multiple attribute groups. N.B. If both builders have alignments specified, then they should match! llvm-svn: 174480
* Add the target-dependent (string) attributes from the AttrBuilder to the ↵Bill Wendling2013-02-051-2/+13
| | | | | | AttributeSet. llvm-svn: 174467
* Convert to storing the attribute's internals as enums, integers, and strings.Bill Wendling2013-02-052-127/+251
| | | | | | | | The stuff we're handing are all enums (Attribute::AttrKind), integers and strings. Don't convert them to Constants, which is an unnecessary step here. The rest of the changes are mostly mechanical. llvm-svn: 174456
* Add target-dependent versions of addAttribute/removeAttribute to AttrBuilder.Bill Wendling2013-02-051-1/+13
| | | | llvm-svn: 174356
* Added LLVM Asm/Bitcode Reader/Writer support for new IR keyword ↵Michael Gottesman2013-02-051-0/+1
| | | | | | externally_initialized. llvm-svn: 174340
* Initial cleanups of the param-attribute code in the bitcode reader/writer.Bill Wendling2013-02-041-41/+1
| | | | | | | | | Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced by another encoding. Keep around the current LLVM attribute encoder/decoder code, but move it to the bitcode directories so that no one's tempted to use them. llvm-svn: 174335
OpenPOWER on IntegriCloud