summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer
Commit message (Collapse)AuthorAgeFilesLines
...
* Generalize the darwin wrapper hack to work with generic macho triples as ↵Chris Lattner2010-11-291-4/+7
| | | | | | well as darwin ones. llvm-svn: 120346
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Add X86 MMX type to bitcode and Type.Dale Johannesen2010-09-101-0/+1
| | | | | | | (The Ada bindings probably need it too, but all the obvious places to change say "do not edit this file".) llvm-svn: 113618
* Discard metadata produced by LLVM 2.7. The value enumeration it usedDan Gohman2010-09-091-7/+7
| | | | | | | | | | | | | is different from what the code now uses in a two ways: NamedMDNodes were considered Values and included in the numbering, and the function-local metadata counter wasn't reset between functions. The later problem breaks lazy deserialization, so instead of trying to emulate the old numbering, just drop the old metadata. The only in-tree use case is debug info with LTO, where the QOI loss is considered acceptable. llvm-svn: 113557
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-281-33/+0
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* Clear FunctionLocalMDs in purgeFunction along with the rest of theDan Gohman2010-08-251-1/+1
| | | | | | function-specific state. llvm-svn: 112058
* Fix whitespace.Dan Gohman2010-08-251-1/+1
| | | | llvm-svn: 112056
* Eliminate an unnecessary cast.Dan Gohman2010-08-251-1/+1
| | | | llvm-svn: 112055
* Add braces to fix dangling else.Dan Gohman2010-08-241-2/+2
| | | | llvm-svn: 111896
* Extend function-local metadata to be usable as attachments.Dan Gohman2010-08-242-20/+84
| | | | llvm-svn: 111895
* When we know we have an MDValue or MDString, call EnumerateMetadataDan Gohman2010-08-241-1/+1
| | | | | | directly instead of going through EnumerateValue. llvm-svn: 111894
* Simplify this code. NamedMDNode operands are MDNodes.Dan Gohman2010-08-241-2/+1
| | | | llvm-svn: 111892
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-201-15/+16
| | | | | | | | | | | 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
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* avoid undefined behavior negating minint.Chris Lattner2010-08-031-2/+2
| | | | llvm-svn: 110117
* Make NamedMDNode not be a subclass of Value, and simplify the interfaceDan Gohman2010-07-213-42/+33
| | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061
* Add some debug output to help diagnose PR7689.Dan Gohman2010-07-211-0/+3
| | | | llvm-svn: 109036
* Disallow null as a named metadata operand.Dan Gohman2010-07-211-6/+2
| | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
* Add support for remapping metadata kind IDs when reading in aDan Gohman2010-07-201-3/+2
| | | | | | | | | | | | | bitcode file, so that two bitcode files where the same metadata kind name happens to have been assigned a different ID can still be linked together. Eliminate the restriction that metadata kind IDs can't be 0. Change MD_dbg from 1 to 0, because we can now, and because it's less mysterious that way. llvm-svn: 108939
* Fix whitespace.Dan Gohman2010-07-161-2/+2
| | | | llvm-svn: 108569
* Implement the "linker_private_weak" linkage type. This will be used forBill Wendling2010-07-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* Revert r107205 and r107207.Bill Wendling2010-06-291-1/+0
| | | | llvm-svn: 107215
* Introducing the "linker_weak" linkage type. This will be used for Objective-CBill Wendling2010-06-291-0/+1
| | | | | | | | | | | | | | | | | | | 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
* resort to ArgOperand APIGabor Greif2010-06-261-9/+8
| | | | llvm-svn: 106942
* Tidy.Bob Wilson2010-06-191-1/+1
| | | | llvm-svn: 106383
* Speedup bitcode writer. Do not walk all values for all functions to emit ↵Devang Patel2010-06-023-9/+16
| | | | | | function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen. llvm-svn: 105360
* Bitcode support for allocas with arbitrary array size types.Dan Gohman2010-05-281-0/+1
| | | | llvm-svn: 104915
* Don't flush the raw_ostream in llvm::WriteBitcodeToFile; it's atDan Gohman2010-05-271-3/+0
| | | | | | | | the wrong level. Clients which need to leave the stream open but which still require the bitcode bits to be on disk should call flush themselves. llvm-svn: 104885
* Don't special-case stdout in llvm::WriteBitcodeToFile; just considerDan Gohman2010-05-271-4/+0
| | | | | | | it to be the caller's responsibility to provide a stream in binary mode. This fixes a layering violation and avoids an outs() call. llvm-svn: 104878
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-161-7/+8
| | | | | | | 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-161-8/+7
| | | | | | | | | | | | | 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
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-161-7/+8
| | | | llvm-svn: 101434
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-151-8/+7
| | | | | | | | | | | | | 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
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-151-7/+8
| | | | llvm-svn: 101368
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-151-8/+7
| | | | | | | | | | 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
* Add special case bitcode support for DebugLoc. This avoidsChris Lattner2010-04-032-10/+43
| | | | | | | | | | | | having the bitcode writer materialize mdnodes for all the debug location tuples when writing out the bc file and stores the information in a more compact form. For example, the -O0 -g bc file for combine.c in 176.gcc shrinks from 739392 to 512096 bytes. This concludes my planned short-term debug info work. llvm-svn: 100261
* Finally land the InvokeInst operand reordering.Gabor Greif2010-03-241-2/+2
| | | | | | | | | | | | I have audited all getOperandNo calls now, fixing hidden assumptions. CallSite related uglyness will be eliminated successively. Note this patch has a long and griveous history, for all the back-and-forths have a look at CallSite.h's log. llvm-svn: 99399
* backing out r99170 because it still fails on clang-x86_64-darwin10-fntGabor Greif2010-03-221-2/+2
| | | | llvm-svn: 99171
* Now that hopefully all direct accesses to InvokeInst operands are fixedGabor Greif2010-03-221-2/+2
| | | | | | we can reapply the InvokeInst operand reordering patch. (see r98957). llvm-svn: 99170
* back out r98957, it broke ↵Gabor Greif2010-03-191-2/+2
| | | | | | http://smooshlab.apple.com:8010/builders/clang-x86_64-darwin10-fnt/builds/703 in the nightly test suite llvm-svn: 98958
* Recommit r80858 again (which has been backed out in r80871).Gabor Greif2010-03-191-2/+2
| | | | | | | | | | | This time I did a self-hosted bootstrap on Linux x86-64, with no problems. Let's see how darwin 64-bit self-hosting goes. At the first sign of failure I'll back this out. Maybe the valgrind bots give me a hint of what may be wrong (it at all). llvm-svn: 98957
* reapply r98656 unmodified, which exposed the asmprinter not Chris Lattner2010-03-161-1/+15
| | | | | | handling constant unions. llvm-svn: 98680
* Revert r98656, its breaking all over the place.Daniel Dunbar2010-03-161-15/+1
| | | | llvm-svn: 98662
* improve support for uniontype and ConstantUnion, patch by Tim Northover!Chris Lattner2010-03-161-1/+15
| | | | llvm-svn: 98656
* Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.Erick Tryzelaar2010-03-061-2/+7
| | | | llvm-svn: 97858
* Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.Erick Tryzelaar2010-03-061-1/+1
| | | | | | Luckily this never was released. llvm-svn: 97857
* LLVMWriteBitcodeToFileHandle should work on all architectures now.Erick Tryzelaar2010-03-061-11/+0
| | | | llvm-svn: 97856
* Make the side-numbering of instructions used by metadata (which is needed toNick Lewycky2010-02-251-2/+1
| | | | | | | | | keep track of instructions that return void) per-function. This fixes PR5278. This breaks backwards compatibility with the metadata format. That's okay because we haven't released the metadata bitcode yet. llvm-svn: 97132
OpenPOWER on IntegriCloud