summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
...
* make irbuilder use the new optimized debug info accessors.Chris Lattner2010-03-311-13/+0
| | | | llvm-svn: 99984
* add new apis for getting/setting !dbg metadata on Chris Lattner2010-03-311-0/+4
| | | | | | | | | instructions. In addition to being a convenience, they are faster than the old apis, particularly when not going from an MDKindID like people should be doing. llvm-svn: 99982
* Fix a major source of compile-time slowness at -O0 -g by optimizingChris Lattner2010-03-303-14/+43
| | | | | | | | | | | | | | the storage of !dbg metadata kinds in the instruction themselves. The on-the-side hash table works great for metadata that not-all instructions get, or for metadata that only exists when optimizing. But when compile-time is everything, it isn't great. I'm not super thrilled with the fact that this plops a TrackingVH in Instruction, because it grows it by 3 words. I'm investigating alternatives, but this should be a step in the right direction in any case. llvm-svn: 99957
* Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.Bob Wilson2010-03-301-70/+0
| | | | llvm-svn: 99948
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-301-0/+70
| | | | | | | | | memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
* move some method definitions to files that make sense.Chris Lattner2010-03-303-55/+54
| | | | llvm-svn: 99927
* Remove the pmulld intrinsic and autoupdate it as a vector multiply.Eric Christopher2010-03-301-0/+17
| | | | | | | Rewrite the pmulld patterns, and make sure that they fold in loads of arguments into the instruction. llvm-svn: 99910
* reapply my timer rewrite with a change for PassManager to store Chris Lattner2010-03-301-33/+21
| | | | | | timers by pointer instead of by-value. llvm-svn: 99871
* revert r99862 which is causing FNT failures.Chris Lattner2010-03-301-17/+31
| | | | llvm-svn: 99870
* fairly major rewrite of various timing related stuff.Chris Lattner2010-03-301-31/+17
| | | | llvm-svn: 99862
* add support for zero initialized unions, patch by Tim Northover!Chris Lattner2010-03-291-1/+3
| | | | llvm-svn: 99818
* Oops, r98447 dropped the reference to ForwardType in the wrong place inJeffrey Yasskin2010-03-281-5/+5
| | | | | | | | Type::destroy(), so it got skipped for FunctionTypes, StructTypes, and UnionTypes. This fixes the resulting leaks in test/Feature/opaquetypes.ll and test/Integer/opaquetypes_bt.ll. llvm-svn: 99732
* rename pred_const_iterator to const_pred_iterator for consistency's sakeGabor Greif2010-03-251-1/+1
| | | | llvm-svn: 99567
* rename use_const_iterator to const_use_iterator for consistency's sakeGabor Greif2010-03-255-8/+8
| | | | llvm-svn: 99564
* Include isFunctionLocal while calculating folding node set profile for a MDNode.Devang Patel2010-03-251-13/+14
| | | | llvm-svn: 99490
* Include isFunctionLocal while calculating folding node set provide for a MDNode.Devang Patel2010-03-251-0/+1
| | | | llvm-svn: 99484
* Reapply r99451 with a fix to move the NoInline check to the cost functionsEric Christopher2010-03-251-2/+13
| | | | | | instead of InlineFunction. llvm-svn: 99483
* Temporarily revert this, it's causing an issue with an internal project.Eric Christopher2010-03-241-13/+2
| | | | llvm-svn: 99451
* Finally land the InvokeInst operand reordering.Gabor Greif2010-03-244-20/+28
| | | | | | | | | | | | 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
* add some accessors to callsite/callinst/invokeinst to checkChris Lattner2010-03-231-2/+13
| | | | | | | | for the noinline attribute, and make the inliner refuse to inline a call site when the call site is marked noinline even if the callee isn't. This fixes PR6682. llvm-svn: 99341
* fix an infinite loop in Module::getEndianness, PR6684Chris Lattner2010-03-231-1/+1
| | | | | | patch by Alex Mac! llvm-svn: 99330
* add assert in argpromotion, which cannot triggerGabor Greif2010-03-231-2/+2
| | | | | | | | if Function::hasAddressTaken works as advertised also included some cosmetic cleanups llvm-svn: 99276
* word-oGabor Greif2010-03-231-1/+1
| | | | llvm-svn: 99275
* Change intrinsic result type for void to store it as an empty listChris Lattner2010-03-221-34/+41
| | | | | | | instead of as a single element list with VoidTy. Now with a fix for the verifier. llvm-svn: 99206
* backing out r99170 because it still fails on clang-x86_64-darwin10-fntGabor Greif2010-03-223-17/+9
| | | | llvm-svn: 99171
* Now that hopefully all direct accesses to InvokeInst operands are fixedGabor Greif2010-03-223-9/+17
| | | | | | we can reapply the InvokeInst operand reordering patch. (see r98957). llvm-svn: 99170
* Free all Constants in ~LLVMConstantImpl. We avoid assertion failuresJeffrey Yasskin2010-03-222-6/+27
| | | | | | | | | by dropping all references from all constants that can use other constants before trying to destroy any of them. I also had to free bugpoint's Module in ~BugDriver(). llvm-svn: 99160
* Re-add the Metadata.h include to LLVMContextImpl.h so that MDNode is completeJeffrey Yasskin2010-03-212-3/+1
| | | | | | | where FoldingSet<MDNode> is instantiated. Clang and MSVC complain; gcc doesn't. llvm-svn: 99147
* Move the LLVMContextImpl implementation into a .cpp file.Jeffrey Yasskin2010-03-213-69/+87
| | | | llvm-svn: 99146
* Memoize InlineAsms into the LLVMContext and delete them on shutdown.Jeffrey Yasskin2010-03-213-11/+68
| | | | | | Fixes PR803. llvm-svn: 99143
* call void @llvm.dbg.declare(metadata !{i32* null}, metadata !1)Devang Patel2010-03-191-4/+0
| | | | | | is valid, but not useful, when variable identified by !1 is optimized away by the optimizer. llvm-svn: 98986
* back out r98957, it broke ↵Gabor Greif2010-03-193-17/+9
| | | | | | 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-193-9/+17
| | | | | | | | | | | 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
* add asmprinter suport for unions, fixing Feature/unions.ll to actuallyChris Lattner2010-03-161-0/+9
| | | | | | be doing something useful. llvm-svn: 98677
* fix some pointless layering violations.Chris Lattner2010-03-141-2/+1
| | | | llvm-svn: 98460
* Allow types that have been forwarded to to be freed.Jeffrey Yasskin2010-03-131-4/+11
| | | | | Tested: make check-lit && valgrind --dsymutil=yes --leak-check=full unittests/ExecutionEngine/JIT/Debug/JITTests llvm-svn: 98447
* Delete MDNodes when LLVMContext is destroyed. Previous attempts: r97918, ↵Jeffrey Yasskin2010-03-132-16/+25
| | | | | | | | | | r97788. Tested: clang debug bootstrap, llvm-gcc bootstrap, `make check-lit` after configuring with --with-llvmgccdir (and this did run the FrontendC* tests this time) llvm-svn: 98410
* Remove duplicated code. No functionality change.Benjamin Kramer2010-03-101-9/+0
| | | | llvm-svn: 98156
* Roll back r97918 again. Just configuring against llvm-gcc wasn't enough to runJeffrey Yasskin2010-03-072-25/+16
| | | | | | the FrontendC* tests. :( llvm-svn: 97921
* Reapply r97788 to free MDNodes when the LLVMContext is destroyed. ItJeffrey Yasskin2010-03-072-16/+25
| | | | | | bootstraps llvm-gcc this time. llvm-svn: 97918
* Add verification of union types.Nick Lewycky2010-03-061-0/+9
| | | | llvm-svn: 97889
* Revert r97788 because it broke test/FrontendC/2010-02-16-DbgVarScope.c.Jeffrey Yasskin2010-03-052-25/+16
| | | | llvm-svn: 97792
* Free MDNodes when the LLVMContext is destroyed. Leak found by Valgrind.Jeffrey Yasskin2010-03-052-16/+25
| | | | llvm-svn: 97788
* Stop leaking MDStrings.Jeffrey Yasskin2010-03-041-0/+5
| | | | llvm-svn: 97763
* Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.Erick Tryzelaar2010-03-041-2/+2
| | | | | | We need this so can not bake DESTDIR into the O'Caml symlinks. llvm-svn: 97743
* Make the 'icmp pred trunc(ext(X)), CST --> icmp pred X, ext(trunc(CST))'Nick Lewycky2010-03-041-24/+5
| | | | | | | | | | transformation much more careful. Truncating binary '01' to '1' sounds like it's safe until you realize that it switched from positive to negative under a signed interpretation, and that depends on the icmp predicate. Also a few miscellaneous cleanups. llvm-svn: 97721
* fix incorrect folding of icmp with undef, PR6481.Chris Lattner2010-03-031-1/+1
| | | | llvm-svn: 97659
* Add Module functions in place of module providers.Erick Tryzelaar2010-03-021-1/+6
| | | | llvm-svn: 97608
* Rename LLVMUseIteratorRef to LLVMUseRef since we don't refer to iterators in ↵Erick Tryzelaar2010-03-021-7/+10
| | | | | | llvm-c. llvm-svn: 97585
* Rather than passing "false" for InsertBefore, AddressSpace for ThreadLocal,Duncan Sands2010-03-021-2/+2
| | | | | | | and nothing for AddressSpace, pass 0 for InsertBefore, "false" for ThreadLocal and AddressSpace for AddressSpace. Spotted by gcc-4.5. llvm-svn: 97563
OpenPOWER on IntegriCloud