summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* PR2731: C and Ocaml bindings for setTailCall and isTailCall.Gordon Henriksen2008-08-301-0/+10
| | | | | | Based on patch by Giorgos Korfiatis. llvm-svn: 55570
* Fix ConstantExpr::getInsertElement.Gordon Henriksen2008-08-301-2/+1
| | | | | | | Breakage was exposed in the Ocaml bindings tests after Chris uncommented an assertion in r55084. llvm-svn: 55566
* Asmprint nameless instructions as:Chris Lattner2008-08-291-1/+8
| | | | | | | | | | | | | %4 = add ... instead of: add ... ; 4 This makes opt -print-cfg output actually usable and makes .ll files generally easier to read. This fixes PR2480 llvm-svn: 55541
* Make the verifier reject instructions which have null pointers Chris Lattner2008-08-281-0/+11
| | | | | | | for operands: rdar://6179606. no testcase, because I can't write a .ll file that is this broken ;-) llvm-svn: 55460
* Put file scoped constants in an anonymous namespace. Use the "using namespaceBill Wendling2008-08-271-3/+5
| | | | | | llvm" for consistency. llvm-svn: 55435
* Minor cleanup.Chris Lattner2008-08-271-16/+15
| | | | llvm-svn: 55423
* Diagnose uses of unsized types with the byval attribute in theDan Gohman2008-08-271-0/+11
| | | | | | verifier. See PR2711 for details. llvm-svn: 55414
* Update wording, as aggregates are now first-class.Dan Gohman2008-08-271-3/+2
| | | | llvm-svn: 55413
* Add DebugInfoBuilder. Patch by Talin!Evan Cheng2008-08-271-0/+272
| | | | llvm-svn: 55409
* Fix pasto (values -> types) noticed by Josh ConnerChris Lattner2008-08-251-5/+3
| | | | llvm-svn: 55315
* flush stream after dumping.Chris Lattner2008-08-251-3/+3
| | | | llvm-svn: 55301
* remove the type checking logic already done by tblgen, just keep theChris Lattner2008-08-241-36/+10
| | | | | | | parts tblgen doesn't do (checking for constant, alloca, enclosing function has gc marker). This passes dj! :) llvm-svn: 55294
* add a hack to temporarily allow pseudo source values.Chris Lattner2008-08-241-1/+2
| | | | llvm-svn: 55289
* minor cleanups.Chris Lattner2008-08-231-6/+9
| | | | llvm-svn: 55267
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-232-72/+87
| | | | | | | | | | | | | | | | | | | | | | | | use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
* Reverting r55227. This was causing the following failures in the regressionBill Wendling2008-08-231-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tests: Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/dg.exp ... FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcread-ptrptr.ll for PR1633 Failed with exit(1) at line 1 while running: not llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcread-ptrptr.ll >& /dev/null child process exited abnormally FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcroot-alloca.ll for PR1633 Failed with exit(1) at line 1 while running: not llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcroot-alloca.ll >& /dev/null child process exited abnormally FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcroot-meta.ll for PR1633 Failed with exit(1) at line 1 while running: not llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcroot-meta.ll >& /dev/null child process exited abnormally FAIL: ndbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcroot-ptrptr.ll for PR1633 Failed with exit(1) at line 1 while running: not llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcroot-ptrptr.ll >& /dev/null child process exited abnormally FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcwrite-ptrptr.ll for PR1633 Failed with exit(1) at line 1 while running: not llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.HEAD.src/test/Verifier/gcwrite-ptrptr.ll >& /dev/null child process exited abnormally === Summary === # of expected passes 3021 # of unexpected failures 6 # of expected failures 16 make[1]: *** [check-local] Error 1 make: *** [check] Error 2 llvm-svn: 55233
* Verify that the alignment argument to llvm.memcpy is a constantChris Lattner2008-08-231-0/+10
| | | | | | integer, PR2318. llvm-svn: 55228
* remove verification for gc intrinsic argument types. it was indented wrongChris Lattner2008-08-231-39/+0
| | | | | | and tblgen now knows intrinsic prototypes. llvm-svn: 55227
* the bug was apparently fixed long ago, reenable the assertionChris Lattner2008-08-231-2/+1
| | | | llvm-svn: 55224
* Accept NOT of a constant vector of int.Dale Johannesen2008-08-211-2/+4
| | | | llvm-svn: 55140
* Add a new ConstantExpr::getWithOperands that takes any array of operands Chris Lattner2008-08-201-4/+4
| | | | | | instead of requiring an std::vector. llvm-svn: 55084
* more cleanups, random methods shouldn't return ostreams.Chris Lattner2008-08-191-23/+30
| | | | llvm-svn: 54984
* more cleanup, eliminate getLLVMName when printing outChris Lattner2008-08-191-24/+18
| | | | | | type names at the top of the file. llvm-svn: 54983
* random cleanups, factor some printing code for linkage and visibilityChris Lattner2008-08-191-167/+187
| | | | llvm-svn: 54982
* Change WriteTypeSymbolic/WriteAsOperand to return void instead of Chris Lattner2008-08-191-36/+25
| | | | | | | | | | | | an ostream, which is just weird. Rename SC_DEBUG -> ST_DEBUG Remove static indentation strangeness from WriteConstantInt. This makes it so that large structs are not broken down and printed on multiple lines. If there is demand for this to return, there are better ways to implement this. llvm-svn: 54981
* whitespace cleanupChris Lattner2008-08-191-1/+1
| | | | llvm-svn: 54980
* rearrange code and make more legible.Chris Lattner2008-08-191-251/+280
| | | | llvm-svn: 54976
* put SlotTracker in an anon namespace since it is private.Chris Lattner2008-08-191-3/+3
| | | | llvm-svn: 54975
* Reid had to call this class "slot machine" out of some strange referenceChris Lattner2008-08-191-39/+39
| | | | | | to the gambling device. Name it something more meaningful. llvm-svn: 54974
* Fix a bug daniel pointed out to me, where asmprinter startedChris Lattner2008-08-181-5/+5
| | | | | | | printing ascii code for hex numbers instead of the hex numbers themselves. llvm-svn: 54936
* Rename some GC classes so that their roll will hopefully be clearer.Gordon Henriksen2008-08-174-40/+42
| | | | | | | | | | | | | | | | | | In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. llvm-svn: 54899
* getLLVMName is only used for types now, which always pass in LocalPrefix. ↵Chris Lattner2008-08-171-15/+10
| | | | | | Specialize on it. llvm-svn: 54897
* switch valuemap's from std::map to densemap. This speeds up llvm-disChris Lattner2008-08-171-11/+8
| | | | | | on a stripped kc++ .bc file from 0.83 to 0.77s (8%) llvm-svn: 54896
* avoid an extraneous std::string constructionChris Lattner2008-08-171-1/+1
| | | | llvm-svn: 54875
* Rework the routines that convert AP[S]Int into a string. Now, instead ofChris Lattner2008-08-171-7/+12
| | | | | | | | | | | | | | | | | returning an std::string by value, it fills in a SmallString/SmallVector passed in. This significantly reduces string thrashing in some cases. More specifically, this: - Adds an operator<< and a print method for APInt that allows you to directly send them to an ostream. - Reimplements APInt::toString to be much simpler and more efficient algorithmically in addition to not thrashing strings quite as much. This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the asmprinter. This also fixes a bug I introduced into the asmwriter in a previous patch w.r.t. alias printing. llvm-svn: 54873
* avoid string thrashing when formatting names in output. ThisChris Lattner2008-08-171-54/+130
| | | | | | speeds up release-asserts llvm-dis on kc++ from 1.86s to 1.04s (~79%) llvm-svn: 54868
* random cleanups.Chris Lattner2008-08-171-53/+28
| | | | llvm-svn: 54866
* Inline the fastpath of PATypeHolder::get(). This is a small speedup in Chris Lattner2008-08-151-15/+0
| | | | | | instcombine among other things. llvm-svn: 54814
* The pass manager is not able to schedule -loop-deletion -loop-index-split.Devang Patel2008-08-141-14/+28
| | | | | | | | | | | The loop-deletion pass does not preserve dom frontier, which is required by loop-index-split. When the PM checks dom frontier for loop-index-split, it has already verified that lcssa is availalble. However, new dom frontier forces new loop pass manager, which does not have lcssa yet. The PM should recheck availability of required analysis passes in such cases. llvm-svn: 54805
* Have LeakDetector use a SmallPtrSet instead of an std::set.Owen Anderson2008-08-141-3/+3
| | | | llvm-svn: 54785
* Improve support for vector casts in LLVM IR and CodeGen.Dan Gohman2008-08-142-23/+28
| | | | llvm-svn: 54784
* Add read/write support for X86's sseregparm.Dale Johannesen2008-08-132-0/+4
| | | | llvm-svn: 54744
* Use SmallVector instead of std::vectorDevang Patel2008-08-121-12/+12
| | | | llvm-svn: 54685
* Use DenseMap to keep track of last users.Devang Patel2008-08-121-6/+28
| | | | | | Use inversed map for faster queries. llvm-svn: 54662
* Keep track of analysis usage information for passes. Avoid invokingDevang Patel2008-08-111-23/+38
| | | | | | getAnalysisUsage() repeatedly. llvm-svn: 54650
* Delete a redundant binding, LLVMHasInitializer.Gordon Henriksen2008-08-091-4/+0
| | | | | | Please use !LLVMIsDeclaration instead. llvm-svn: 54572
* Have IRBuilder take a template argument on whether or not to preserveEric Christopher2008-08-081-1/+1
| | | | | | | names. This can save a lot of allocations if you aren't going to be looking at the output. llvm-svn: 54546
* Don't call getAnalysisUsage unless -debug-pass is enabled. This speedsChris Lattner2008-08-081-23/+36
| | | | | | up the passmgr by avoiding useless work. llvm-svn: 54528
* Speed up the passmgr by avoiding heap thrashing on vectors.Chris Lattner2008-08-082-14/+15
| | | | llvm-svn: 54515
* Don't verify passes when assertions are disabled.Chris Lattner2008-08-071-4/+7
| | | | llvm-svn: 54446
OpenPOWER on IntegriCloud