aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Add FastDLE, the load-elimination counterpart of FastDSE.Owen Anderson2007-07-231-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40445 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing SSE builtins:Bill Wendling2007-07-231-0/+14
| | | | | | | | | | | | __builtin_ia32_cvtss2si64 __builtin_ia32_cvttss2si64 __builtin_ia32_cvtsi642ss __builtin_ia32_cvtsd2si64 __builtin_ia32_cvttsd2si64 __builtin_ia32_cvtsi642sd git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40411 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable the string map copy ctor and assignment operators,Chris Lattner2007-07-221-1/+16
| | | | | | | | | | | they don't do the right thing. Implement StringMap::erase. Fix a nasty bug in the default ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40395 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't assume that only Uses can be kills. Defs are marked as kills initiallyDan Gohman2007-07-201-1/+1
| | | | | | | | | when there are no uses. This fixes a dangling-pointer bug, where pointers to deleted instructions were not removed from kills lists. More info here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40131 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the logic for setVolatile.Dan Gohman2007-07-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40130 91177308-0d34-0410-b5e6-96231b3b80d8
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40123 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the heuristic for shrinking DenseMap smarter.Owen Anderson2007-07-201-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40114 91177308-0d34-0410-b5e6-96231b3b80d8
* Use SmallVector instead of std::vector.Devang Patel2007-07-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40109 91177308-0d34-0410-b5e6-96231b3b80d8
* Have DenseMap auto-shrink itself on clear(). This improves the time to optimizeOwen Anderson2007-07-201-1/+36
| | | | | | | 403.gcc from 15.2s to 14.3s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40100 91177308-0d34-0410-b5e6-96231b3b80d8
* Verify loop info.Devang Patel2007-07-194-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40062 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly initialize value :)Anton Korobeynikov2007-07-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40059 91177308-0d34-0410-b5e6-96231b3b80d8
* Set up ground work to verify preserved analysis info.Devang Patel2007-07-191-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40039 91177308-0d34-0410-b5e6-96231b3b80d8
* Add constructor overloads for LoadInst and StoreInst that insert at theDan Gohman2007-07-181-0/+4
| | | | | | | end of a BasicBlock and have an alignment parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40016 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build by putting calls to free into the implementation file andReid Spencer2007-07-171-4/+1
| | | | | | | having that implementation file #include <cstdlib>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39952 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for walking up memory def chains, which enables finding many moreOwen Anderson2007-07-161-3/+5
| | | | | | | dead stores on 400.perlbench. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39929 91177308-0d34-0410-b5e6-96231b3b80d8
* Use realloc() to (potentially) resize the contents of SmallPtrSet in place.Owen Anderson2007-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39926 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comments about vectors to use the current wording.Dan Gohman2007-07-164-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39921 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle decrementing loops properly. Fixes PR1533.Nick Lewycky2007-07-161-4/+2
| | | | | | | | | | Always pass the constant as the second parameter to HowManyLessThans. Remove obsolete "isSigned" parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39893 91177308-0d34-0410-b5e6-96231b3b80d8
* add a helper method.Chris Lattner2007-07-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39885 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify the language. Pointed out by Duncan Sands.Nick Lewycky2007-07-141-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39857 91177308-0d34-0410-b5e6-96231b3b80d8
* Long live the exception handling!Anton Korobeynikov2007-07-144-2/+32
| | | | | | | | | | | | | | | | This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux. In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder. After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39855 91177308-0d34-0410-b5e6-96231b3b80d8
* Add alternate ConstantRange intersection algorithm.Nick Lewycky2007-07-141-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39851 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LCSSA a loop pass.Devang Patel2007-07-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39844 91177308-0d34-0410-b5e6-96231b3b80d8
* Skeleton of post-RA scheduler; doesn't do anything yet.Dale Johannesen2007-07-131-0/+3
| | | | | | | | Change name of -sched option and DEBUG_TYPE to pre-RA-sched; adjust testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39816 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate to pick up Gabor's changes.Reid Spencer2007-07-131-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39802 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding ability to demote phi to stack. Tanya Lattner2007-07-111-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39744 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FastDSE, a new algorithm for doing dead store elimination. This ↵Owen Anderson2007-07-112-0/+8
| | | | | | | | | | | | algorithm is not as accurate as the current DSE, but it only a linear scan over each block, rather than quadratic. Eventually (once it has been improved somewhat), this will replace the current DSE. NOTE: This has not yet been extensively tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38517 91177308-0d34-0410-b5e6-96231b3b80d8
* Add OptionalDefOperand. Remove clobbersPred. Also add DefinesPredicate to be ↵Evan Cheng2007-07-101-9/+21
| | | | | | used by if-converter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38499 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for finding the dependencies of call and invoke instructions.Owen Anderson2007-07-101-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38497 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bunch of things from Chris' feedbackOwen Anderson2007-07-101-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38493 91177308-0d34-0410-b5e6-96231b3b80d8
* When a node value is only used by a CopyToReg, use the user's dest. This ↵Evan Cheng2007-07-101-2/+2
| | | | | | should not be restricted to nodes that produce only a single value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38485 91177308-0d34-0410-b5e6-96231b3b80d8
* Move DenseMapKeyInfo<SDOperand> from LegalizeDAG.cpp to SelectionDAGNodes.hEvan Cheng2007-07-101-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38484 91177308-0d34-0410-b5e6-96231b3b80d8
* Evidently my earlier fix did not go far enough. When resizing a zero-sizedOwen Anderson2007-07-101-1/+2
| | | | | | | BitVector, make sure to set or clear ALL of the bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38481 91177308-0d34-0410-b5e6-96231b3b80d8
* When resizing a BitVector with size 0, be sure to clear the low word before ↵Owen Anderson2007-07-091-0/+5
| | | | | | using it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38476 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose struct size threhold to allow users to tweak their own setting.Devang Patel2007-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38472 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the assignment operator for SmallPtrSet return a reference, and fix a ↵Owen Anderson2007-07-091-1/+1
| | | | | | | | | | | long-standing bug in the copy ctor while I'm at it. Thanks to Chris Lattner for help with this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38470 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix memory leak.Devang Patel2007-07-091-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38469 91177308-0d34-0410-b5e6-96231b3b80d8
* work around an aparent gcc name resolution bug by Chris Lattner2007-07-091-2/+1
| | | | | | | detemplatizing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38461 91177308-0d34-0410-b5e6-96231b3b80d8
* implement operator= for smallptrsetChris Lattner2007-07-091-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38460 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the APInt form of SCEVUnknown::getIntegerSCEV to SCEVConstant::get, andDan Gohman2007-07-091-2/+2
| | | | | | | | use SCEVConstant::get instead of SCEVUnknown::get when constructing a SCEV for a ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38457 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2007-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38456 91177308-0d34-0410-b5e6-96231b3b80d8
* missed this oneGabor Greif2007-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38454 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typosGabor Greif2007-07-091-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38453 91177308-0d34-0410-b5e6-96231b3b80d8
* A first stab at memory dependence analysis. This is an interface on top ofOwen Anderson2007-07-061-0/+69
| | | | | | | | alias analysis, adding caching and lazy computation of queries. This will be used in planned improvements to memory access optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37958 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some accessors to improve consistency.Owen Anderson2007-07-061-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37957 91177308-0d34-0410-b5e6-96231b3b80d8
* Add SplitEdge and SplitBlock utility routines. Devang Patel2007-07-061-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37952 91177308-0d34-0410-b5e6-96231b3b80d8
* finishing touches of bytecode -> bitcode changes. also unbreak WindowsGabor Greif2007-07-061-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37950 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove redundant declarations.Dan Gohman2007-07-061-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37946 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate residual cruft related to recognizing bytecodeGabor Greif2007-07-062-17/+2
| | | | | | | | files. bitcode files are the only LLVM format left. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a comment so that the element numbering match the actual elementDan Gohman2007-07-061-1/+1
| | | | | | | operand numbering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37944 91177308-0d34-0410-b5e6-96231b3b80d8