aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a test for the chained directives that I forgot last time.Charles Davis2011-05-261-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132110 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MSVC warning regarding mkdir function usage.Francois Pichet2011-05-261-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132109 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting 132105: it broke some LLVM-GCC DejaGNU tests.Stuart Hastings2011-05-264-116/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132108 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark tBX as an indirect branch rather than a return.Cameron Zwarich2011-05-262-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132107 91177308-0d34-0410-b5e6-96231b3b80d8
* Test .seh_startchained and .seh_endchained parsing.Charles Davis2011-05-263-15/+18
| | | | | | | | | | | | Rework how the MCWin64EHUnwindInfo instances are stored. Fix issues with chained unwind areas exposed by the test that were related to this. The ChainedParent field had the wrong address, because when the chained unwind info was added, the addresses shifted around. Now we store the pointers to the structures, which are now allocated from the MC heap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132106 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly handle a one-word struct passed byval on x86_64.Stuart Hastings2011-05-264-15/+116
| | | | | | | rdar://problem/6920088 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132105 91177308-0d34-0410-b5e6-96231b3b80d8
* indvars: incremental fixes for -disable-iv-rewrite and testcases.Andrew Trick2011-05-262-22/+138
| | | | | | | | | Use a proper worklist for use-def traversal without holding onto an iterator. Now that we process all IV uses, we need complete logic for resusing existing derived IV defs. See HoistStep. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132103 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a RAGreedy::canEvict function.Jakob Stoklund Olesen2011-05-251-4/+62
| | | | | | | | | | | | This doesn't change functionality (much), but it allows for a more fine-grained eviction policy. The current policy only compares spill weights, and that is not always the best thing to do. Spill weights are designed to serve linear scan, and they don't consider live range splitting. Add a mechanism so canEvict() can request that a live range be evicted and split/spilled. This is to avoid infinite eviction loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132101 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite fast-isel integer cast handling to handle more cases, and to be ↵Eli Friedman2011-05-255-59/+205
| | | | | | | | | | | | simpler and more consistent. The practical effects here are that x86-64 fast-isel can now handle trunc from i8 to i1, and ARM fast-isel can handle many more constructs involving integers narrower than 32 bits (including loads, stores, and many integer casts). rdar://9437928 . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132099 91177308-0d34-0410-b5e6-96231b3b80d8
* Define WeakRefDirective.Akira Hatanaka2011-05-252-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132098 91177308-0d34-0410-b5e6-96231b3b80d8
* PR9998: ashr exact %x, 31 is not equivalent to sdiv exact %x, -2147483648.Eli Friedman2011-05-252-4/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132097 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused statistical counter.Devang Patel2011-05-251-57/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132087 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert tBX_CALL / tBXr9_CALL to actual pseudoinstructions.Cameron Zwarich2011-05-252-10/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132086 91177308-0d34-0410-b5e6-96231b3b80d8
* Add tests for .seh_setframe and .seh_handlerdata parsing. Fix issues withCharles Davis2011-05-254-2/+40
| | | | | | | | | | | them. I had to add a special SwitchSectionNoChange method to MCStreamer just for .seh_handlerdata. If this isn't OK, please let me know, and I'll find some other way to fix .seh_handlerdata streaming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132084 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up comment a bit.Eric Christopher2011-05-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132083 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the 'm' modifier. Note that it only works for memory operands.Eric Christopher2011-05-252-4/+25
| | | | | | | Part of rdar://9119939 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132081 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove MipsTargetLowering::LowerFP_TO_SINT. Patterns for fp_to_sint have alreadyAkira Hatanaka2011-05-252-37/+0
| | | | | | | been defined in MipsInstrFPU.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132076 91177308-0d34-0410-b5e6-96231b3b80d8
* Custom-lower FCOPYSIGN nodes.Akira Hatanaka2011-05-254-2/+117
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132074 91177308-0d34-0410-b5e6-96231b3b80d8
* Prepare ARMFastISel::SelectSIToFP for getRegForValue returning registers for ↵Eli Friedman2011-05-251-0/+4
| | | | | | i8 and i16 values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132073 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify r132022 based on Cameron's feedback.Evan Cheng2011-05-251-12/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132071 91177308-0d34-0410-b5e6-96231b3b80d8
* Update MaxCallFrameSize regardless of the relocation model selected.Akira Hatanaka2011-05-251-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132070 91177308-0d34-0410-b5e6-96231b3b80d8
* Change initial value of MaxCallFrameSize. MipsFI::getMaxCallFrameSize() shouldAkira Hatanaka2011-05-253-7/+7
| | | | | | | | return 0 if there are no function calls made. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132065 91177308-0d34-0410-b5e6-96231b3b80d8
* Coding style fixes. Added comments.Akira Hatanaka2011-05-252-23/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132063 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused OpcodeMask enumerator.Francois Pichet2011-05-251-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132062 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 3 MSVC warnings: Francois Pichet2011-05-253-3/+3
| | | | | | | | 'void (__cdecl *)()' differs in parameter lists from 'void (__cdecl *)(void)' atexit really expects a "void f(void)" function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132061 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MSVC warning: "is out of range for enum constant" Francois Pichet2011-05-251-1/+1
| | | | | | | | MSVC doesn't support 64 bit enum. OpcodeMask is not used anywhere in the code base. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132057 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some issues Duncan found in the previous commit.Rafael Espindola2011-05-252-4/+5
| | | | | | | | I kept the reference to the ABI since that is the common case. The -fno-asynchronous-unwind-tables option is a user controlled way of breaking the ABI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132053 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warning in the CMake build about redefining LLVM_PATH_XDOT_PY by making ↵Frits van Bommel2011-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | sure both definitions are identical. This used to produce warnings like In file included from .../llvm/trunk/tools/lto/LTOCodeGenerator.cpp:45: In file included from .../llvm/trunk/include/llvm/Support/system_error.h:225: .../include/llvm/Config/config.h:591:9: warning: 'LLVM_PATH_XDOT_PY' macro redefined #define LLVM_PATH_XDOT_PY ".../bin/xdot.py" ^ .../include/llvm/Config/llvm-config.h:98:9: note: previous definition is here #define LLVM_PATH_XDOT_PY "" ^ 1 warning generated. (Paths edited for clarity) Note: This only affected people who had xdot.py installed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132050 91177308-0d34-0410-b5e6-96231b3b80d8
* [tablegen] A couple of changes to ClangDiagnosticEmmitter.Argyrios Kyrtzidis2011-05-251-2/+4
| | | | | | | | -Emit an empty warning option as string ("") instead of 0. -For diagnostic names also emit the size of the string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132046 91177308-0d34-0410-b5e6-96231b3b80d8
* Add tests for .seh_savereg and .seh_savexmm parsing. Once again, fix theCharles Davis2011-05-252-6/+23
| | | | | | | buggy methods that parse these directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132045 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore an accidentally removed comment.Cameron Zwarich2011-05-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132044 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some code to a more logical place.Cameron Zwarich2011-05-251-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132043 91177308-0d34-0410-b5e6-96231b3b80d8
* Make tTAILJMPr/tTAILJMPrND emit a tBX without a preceding MOV of PC to LR. ThisCameron Zwarich2011-05-252-1/+5
| | | | | | fixes <rdar://problem/9495913> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132042 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the order of tBX's operands so that the predicate operands come after theCameron Zwarich2011-05-252-2/+11
| | | | | | | | | target register, matching BX. I filed this bug because I was confused at first: PR10007 - ARM branch instructions have inconsistent predicate operand placement <http://llvm.org/bugs/show_bug.cgi?id=10007> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132041 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename tBX_Rm to tBX.Cameron Zwarich2011-05-252-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132040 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the existing tBX/tBXr9 instructions to tBX_CALL/tBXr9_CALL to betterCameron Zwarich2011-05-252-3/+3
| | | | | | reflect their actual meaning and match the ARM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132039 91177308-0d34-0410-b5e6-96231b3b80d8
* indvars: fixed IV cloning in -disable-iv-rewrite mode with associatedAndrew Trick2011-05-253-52/+330
| | | | | | | cleanup and overdue test cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132038 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test for .seh_pushframe parsing. Fix the bug exposed by it (and anotherCharles Davis2011-05-252-6/+11
| | | | | | | one I found by inspection). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132037 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace the -unwind-tables option with a per function flag. This is moreRafael Espindola2011-05-2514-28/+48
| | | | | | | LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132033 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix lowering of DYNAMIC_STACKALLOC nodes.Akira Hatanaka2011-05-252-2/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132030 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test for the .seh_handler directive. Fix problems with the parsingCharles Davis2011-05-252-27/+28
| | | | | | | | method exposed by the test. While we're at it, simplify the .seh_proc parsing method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132028 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR9762Bruno Cardoso Lopes2011-05-252-0/+5
| | | | | | Enable the parsing of the operand "cpsr_all" for the ARM msr instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132026 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot dyn_cast check.Evan Cheng2011-05-241-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132025 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the arm 'L' asm modifier.Eric Christopher2011-05-242-1/+13
| | | | | | | Part of rdar://9119939 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132024 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the immediate part of the 'B' modifier.Eric Christopher2011-05-242-1/+13
| | | | | | | Part of rdar://9119939 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132023 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix LoopUnswitch bug. RewriteLoopBodyWithConditionConstant can delete a deadEvan Cheng2011-05-241-13/+34
| | | | | | | | | | | | case of a switch instruction. Back off this optimization when this would eliminate all of the predecessors to the latch. Sorry, I am unable to reduce a reasonably sized test case. rdar://9486843 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132022 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more unimplemented asm modifiers and some documentation of what theyEric Christopher2011-05-241-3/+13
| | | | | | | | | do. Part of rdar://9119939. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132015 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the arm 'y' asm modifier.Eric Christopher2011-05-242-0/+27
| | | | | | | Fixes part of rdar://9444657 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132011 91177308-0d34-0410-b5e6-96231b3b80d8
* Update documentation: -basicaa does chaining these days.Dan Gohman2011-05-241-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132010 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for r132003.Akira Hatanaka2011-05-241-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132005 91177308-0d34-0410-b5e6-96231b3b80d8