summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
Commit message (Collapse)AuthorAgeFilesLines
...
* Bitcode support for allocas with arbitrary array size types.Dan Gohman2010-05-282-5/+11
| | | | 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-033-12/+85
| | | | | | | | | | | | 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
* If the bitcode reader input stream isn't a multiple of 4 bytes, it's moreDan Gohman2010-04-021-3/+7
| | | | | | | likely not a bitcode file at all, rather than being a bitcode file which is truncated. Check for this case and issue a more relevant error message. llvm-svn: 100156
* 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-162-1/+22
| | | | | | handling constant unions. llvm-svn: 98680
* Revert r98656, its breaking all over the place.Daniel Dunbar2010-03-162-22/+1
| | | | llvm-svn: 98662
* improve support for uniontype and ConstantUnion, patch by Tim Northover!Chris Lattner2010-03-162-1/+22
| | | | 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
* Add Module functions in place of module providers.Erick Tryzelaar2010-03-021-14/+32
| | | | llvm-svn: 97608
* Make the side-numbering of instructions used by metadata (which is needed toNick Lewycky2010-02-252-2/+2
| | | | | | | | | 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
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-162-7/+7
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Simplify.Daniel Dunbar2010-02-151-23/+4
| | | | llvm-svn: 96269
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-7/+7
| | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
* Add support for a union type in LLVM IR. Patch by Talin!Chris Lattner2010-02-122-1/+27
| | | | llvm-svn: 96011
* Also recognize armv6t2-* and armv5te-* triplets.Evan Cheng2010-02-121-5/+12
| | | | llvm-svn: 96008
* Add ARM bitcode file magic.Evan Cheng2010-02-121-3/+32
| | | | llvm-svn: 96006
* Function-local metadata whose operands had been optimized to no longer refer ↵Victor Hernandez2010-02-061-2/+2
| | | | | | to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata. llvm-svn: 95467
* Fix (and test) function-local metadata that occurs before the instruction ↵Victor Hernandez2010-02-041-4/+8
| | | | | | that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated llvm-svn: 95269
* We were not writing bitcode for function-local metadata whose operands have ↵Victor Hernandez2010-01-291-2/+2
| | | | | | been erased (making it not have any more function-local operands) llvm-svn: 94842
* Kill ModuleProvider and ghost linkage by inverting the relationship betweenJeffrey Yasskin2010-01-274-93/+86
| | | | | | | | | | | | | | | | | | | | | Modules and ModuleProviders. Because the "ModuleProvider" simply materializes GlobalValues now, and doesn't provide modules, it's renamed to "GVMaterializer". Code that used to need a ModuleProvider to materialize Functions can now materialize the Functions directly. Functions no longer use a magic linkage to record that they're materializable; they simply ask the GVMaterializer. Because the C ABI must never change, we can't remove LLVMModuleProviderRef or the functions that refer to it. Instead, because Module now exposes the same functionality ModuleProvider used to, we store a Module* in any LLVMModuleProviderRef and translate in the wrapper methods. The bindings to other languages still use the ModuleProvider concept. It would probably be worth some time to update them to follow the C++ more closely, but I don't intend to do it. Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735. llvm-svn: 94686
* Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the caseDan Gohman2010-01-251-3/+3
| | | | | | of a forward-reference, which doesn't use an "abbrev" encoding. llvm-svn: 94454
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-242-2/+0
| | | | llvm-svn: 94378
* Respect operator precedence (and silence a gcc 4.3 warning).Benjamin Kramer2010-01-231-1/+1
| | | | llvm-svn: 94304
* Remove MetadataBase class because it is not adding significant value.Devang Patel2010-01-222-5/+6
| | | | llvm-svn: 94243
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-222-0/+2
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* Fix a crasher trying to fold each element in a comparison between two vectorsNick Lewycky2010-01-211-1/+1
| | | | | | | | | | if one of the vectors didn't have elements (such as undef). Fixes PR 6096. Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would have <2 x i1> type if constant folding was successful and i1 type if it wasn't. This exposed a related issue in the bitcode reader. llvm-svn: 94069
* Simplify code that chooses when to enumerate function-local metadata operandsVictor Hernandez2010-01-142-29/+31
| | | | llvm-svn: 93446
* Avoid modifying ValueEnumerator's MD ValueList by choosing which ↵Victor Hernandez2010-01-142-17/+8
| | | | | | function-local MD to write based on the function currently being written llvm-svn: 93441
* In WriteFunction(), write function-local metadata before we write the ↵Victor Hernandez2010-01-141-1/+3
| | | | | | instructions, so instruction's references to metadata are fully resolved by the time they get written. llvm-svn: 93403
* Clean up unnecessary return and bracketsVictor Hernandez2010-01-141-3/+1
| | | | llvm-svn: 93401
* Fix comment typoVictor Hernandez2010-01-131-1/+1
| | | | llvm-svn: 93355
* Write function-local metadata as a metadata subblock of a funciton blockVictor Hernandez2010-01-131-4/+36
| | | | llvm-svn: 93339
* Enumerate function-local metadata (and its types and operands) only during ↵Victor Hernandez2010-01-132-20/+35
| | | | | | function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator llvm-svn: 93338
* Parse function-local metadata inside function blocksVictor Hernandez2010-01-131-0/+3
| | | | llvm-svn: 93337
* Revert 93270 pending investigation of how stray non-constant values end up ↵Victor Hernandez2010-01-131-5/+0
| | | | | | in ValueEnumerator's ValueList during WriteConstants() llvm-svn: 93289
* Make WriteConstants() more robust against stray values in ValueEnumerator's ↵Victor Hernandez2010-01-121-0/+5
| | | | | | ValueList llvm-svn: 93270
OpenPOWER on IntegriCloud