aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Documentation update.Mikhail Glushenkov2009-12-071-20/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90775 91177308-0d34-0410-b5e6-96231b3b80d8
* Deprecate 'unpack_values'.Mikhail Glushenkov2009-12-075-63/+60
| | | | | | Use 'forward_values' + 'comma_separated' instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass '-msse' and friends to llc as '-mattr=+/-'.Mikhail Glushenkov2009-12-072-1/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90771 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement 'forward_value' and 'forward_transformed_value'.Mikhail Glushenkov2009-12-074-28/+187
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactoring, no functionality change.Mikhail Glushenkov2009-12-071-98/+163
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90764 91177308-0d34-0410-b5e6-96231b3b80d8
* Pre-regalloc tale duplication. Work in progress.Evan Cheng2009-12-073-91/+232
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90759 91177308-0d34-0410-b5e6-96231b3b80d8
* fixed some typos in method comments, reworded some comments for clarityJohn Mosby2009-12-072-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90754 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes the Atomic implementation if compiled by MSVC compiler.Oscar Fuentes2009-12-072-1/+5
| | | | | | | | | | sys::cas_flag should be long on this platform, InterlockedAdd() is defined only for the Itanium architecture (according to MSDN). Patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90748 91177308-0d34-0410-b5e6-96231b3b80d8
* If BB is empty, insert PHI before end() instead of front().Evan Cheng2009-12-071-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90744 91177308-0d34-0410-b5e6-96231b3b80d8
* Some pretty-printingAnton Korobeynikov2009-12-071-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90742 91177308-0d34-0410-b5e6-96231b3b80d8
* Truncate the arguments of llvm.frameaddress / llvm.returnaddress intrinsics ↵Anton Korobeynikov2009-12-072-1/+13
| | | | | | from i32 to platform's largest native type git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90741 91177308-0d34-0410-b5e6-96231b3b80d8
* Add lowering of returnaddr and frameaddr intrinsics. Shamelessly stolen from ↵Anton Korobeynikov2009-12-073-1/+65
| | | | | | x86 :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90740 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial codegen support for MSP430 ISRsAnton Korobeynikov2009-12-074-8/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90739 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MSP430 interrupt calling conv. No functionality change yet.Anton Korobeynikov2009-12-075-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90738 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ability to select hw multiplier mode and select appropriate libcalls.Anton Korobeynikov2009-12-071-0/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90737 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos. Thanks to John Tytgat for noticing it!Rafael Espindola2009-12-073-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90728 91177308-0d34-0410-b5e6-96231b3b80d8
* Dynamic stack realignment use of sp register as source/dest registerAnton Korobeynikov2009-12-063-6/+29
| | | | | | | | | | in "bic sp, sp, #15" leads to unpredicatble behaviour in Thumb2 mode. Emit the following code instead: mov r4, sp bic r4, r4, #15 mov sp, r4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90724 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR5698Chris Lattner2009-12-062-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90708 91177308-0d34-0410-b5e6-96231b3b80d8
* remove extraneous comma clang warns aboutChris Lattner2009-12-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90707 91177308-0d34-0410-b5e6-96231b3b80d8
* constant fold loads from memcpy's from global constants. This is importantChris Lattner2009-12-062-6/+62
| | | | | | | | because clang lowers nontrivial automatic struct/array inits to memcpy from a global array. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90698 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for forwarding mem intrinsic values to non-local loads.Chris Lattner2009-12-062-33/+97
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90697 91177308-0d34-0410-b5e6-96231b3b80d8
* gvn is optimizing this better now.Chris Lattner2009-12-061-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90696 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle forwarding local memsets to loads. For example, we optimize this:Chris Lattner2009-12-062-43/+173
| | | | | | | | | | | | | short x(short *A) { memset(A, 1, sizeof(*A)*100); return A[42]; } to 'return 257' instead of doing the load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90695 91177308-0d34-0410-b5e6-96231b3b80d8
* Add helper methods for forming shift operations with a constant Chris Lattner2009-12-061-0/+21
| | | | | | | shift amount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90694 91177308-0d34-0410-b5e6-96231b3b80d8
* merge two tests.Chris Lattner2009-12-062-20/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90691 91177308-0d34-0410-b5e6-96231b3b80d8
* CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.Oscar Fuentes2009-12-061-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90685 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for atomic intrinsics detection when using MSVC.Oscar Fuentes2009-12-051-0/+12
| | | | | | | Patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90683 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove old DBG_LABEL code.Dan Gohman2009-12-052-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90669 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the unused DisableLegalizeTypes option and related code.Dan Gohman2009-12-053-53/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90668 91177308-0d34-0410-b5e6-96231b3b80d8
* Calling InvalidateEntry during the refinement was breaking the bootstrap.Bill Wendling2009-12-051-2/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90656 91177308-0d34-0410-b5e6-96231b3b80d8
* Final cleanups:Bill Wendling2009-12-051-14/+2
| | | | | | | | - Privatize a typedef. - Call the InvalidateEntry when refining a type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90655 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail.Bill Wendling2009-12-055-103/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90653 91177308-0d34-0410-b5e6-96231b3b80d8
* Document that memory use intrinsics may also return Def results.Nick Lewycky2009-12-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90651 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation in switch statement.Nick Lewycky2009-12-051-15/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90650 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize this optimization to work on equality comparisons between any twoNick Lewycky2009-12-052-19/+60
| | | | | | | integers that are constant except for a single bit (the same n-th bit in each). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90646 91177308-0d34-0410-b5e6-96231b3b80d8
* More updates to objectsize intrinsic docs.Eric Christopher2009-12-051-83/+103
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90644 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't print a space before the : between the file name and line number.Dan Gohman2009-12-051-2/+2
| | | | | | | And separate the directory and file name with a '/'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8
* Inline methods which are called only once.Bill Wendling2009-12-051-15/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90640 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor some code. No functionality change.Bill Wendling2009-12-051-9/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90639 91177308-0d34-0410-b5e6-96231b3b80d8
* Print newlines after printing labels for debug info, so that the outputDan Gohman2009-12-052-0/+2
| | | | | | | isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't blindly set the debug location for PHI node copies.Dan Gohman2009-12-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90637 91177308-0d34-0410-b5e6-96231b3b80d8
* Make TargetSelectInstruction protected and called from FastISel.cppDan Gohman2009-12-053-15/+17
| | | | | | | instead of SelectionDAGISel.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90636 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the target hook TargetInstrInfo::BlockHasNoFallThrough in favor ofDan Gohman2009-12-0526-211/+1
| | | | | | | | MachineBasicBlock::canFallThrough(), which is target-independent and more thorough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90634 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this code: don't call AnalyzeBranch before doing simpler checks.Dan Gohman2009-12-051-13/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90633 91177308-0d34-0410-b5e6-96231b3b80d8
* The debug information for an LLVM Instruction applies to that InstructionDan Gohman2009-12-051-33/+57
| | | | | | | | and that Instruction only. Implement this by setting the "current debug position" back to Unknown after processing each instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90632 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this code to use DIScope instead of DICompileUnit, as in r90181.Dan Gohman2009-12-052-9/+10
| | | | | | | | Don't print "SrcLine"; just print the filename and line number, which is obvious enough and more informative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't print the debug directory; it's often long and uninteresting. OmitDan Gohman2009-12-051-2/+7
| | | | | | | | the column number if it is not known. Handle the case of a missing filename better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90630 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code simplification.Dan Gohman2009-12-052-10/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unneeded include.David Greene2009-12-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90627 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove now-redundant llvm-as invocations.Dan Gohman2009-12-0520-21/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90626 91177308-0d34-0410-b5e6-96231b3b80d8