Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix typo in MipsMCTargetDesc.h; Patch supplied by Liu (proljc@gmail.com) | James Molloy | 2011-08-30 | 1 | -4/+4 |
| | | | | llvm-svn: 138796 | ||||
* | Add vvvv support to disassembling of instructions with MRMDestMem and ↵ | Craig Topper | 2011-08-30 | 2 | -4/+30 |
| | | | | | | MRMDestReg form. Needed to support mem dest form of vmaskmovps/d. Fixes PR10807. llvm-svn: 138795 | ||||
* | Do not try to rematerialize a value from a partial definition. | Bob Wilson | 2011-08-30 | 1 | -1/+22 |
| | | | | | | | I don't currently have a good testcase for this; will try to get one tomorrow. <rdar://problem/10032939> llvm-svn: 138794 | ||||
* | Change ARM / Thumb2 addc / adde and subc / sube modeling to use physical | Evan Cheng | 2011-08-30 | 9 | -348/+405 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | register dependency (rather than glue them together). This is general goodness as it gives scheduler more freedom. However it is motivated by a nasty bug in isel. When a i64 sub is expanded to subc + sube. libcall #1 \ \ subc \ / \ \ / \ \ / libcall #2 sube If the libcalls are not serialized (i.e. both have chains which are dag entry), legalizer can serialize them in arbitrary orders. If it's unlucky, it can force libcall #2 before libcall #1 in the above case. subc | libcall #2 | libcall #1 | sube However since subc and sube are "glued" together, this ends up being a cycle when the scheduler combine subc and sube as a single scheduling unit. The right solution is to fix LegalizeType too chains the libcalls together. However, LegalizeType is not processing nodes in order so that's harder than it should be. For now, the move to physical register dependency will do. rdar://10019576 llvm-svn: 138791 | ||||
* | Revert 138781. It's not playing nicely with the immediate forms for ADC. | Jim Grosbach | 2011-08-29 | 1 | -20/+0 |
| | | | | llvm-svn: 138782 | ||||
* | Thumb2 assembler aliases for ADC/SBC w/o the .w suffix. | Jim Grosbach | 2011-08-29 | 1 | -0/+20 |
| | | | | llvm-svn: 138781 | ||||
* | Add missing encoding information for some of the GPR<->FP register moves. | Owen Anderson | 2011-08-29 | 2 | -2/+26 |
| | | | | llvm-svn: 138780 | ||||
* | Remove redundant tests from XFAIL'ed test file. | Jim Grosbach | 2011-08-29 | 1 | -11/+0 |
| | | | | llvm-svn: 138779 | ||||
* | Thumb2 assembly parsing and encoding support for ADC(immediate). | Jim Grosbach | 2011-08-29 | 1 | -0/+23 |
| | | | | llvm-svn: 138778 | ||||
* | Remove test file. Superceded by other more exhaustive tests. | Jim Grosbach | 2011-08-29 | 1 | -14/+0 |
| | | | | llvm-svn: 138777 | ||||
* | Thumb2 parsing and encoding for IT blocks. | Jim Grosbach | 2011-08-29 | 5 | -23/+182 |
| | | | | llvm-svn: 138773 | ||||
* | Fix the disassembly of the X86 crc32 instruction. Bug 10702 and rdar://8795217 | Kevin Enderby | 2011-08-29 | 2 | -2/+6 |
| | | | | llvm-svn: 138771 | ||||
* | Explicitly zero out parts of a vector which are required to be zero by the ↵ | Eli Friedman | 2011-08-29 | 2 | -3/+31 |
| | | | | | | algorithm in LowerUINT_TO_FP_i32. This only has a substantial effect on the generated code when the input is extracted from a vector register; other ways of loading an i32 do the appropriate zeroing implicitly. Fixes PR10802. llvm-svn: 138768 | ||||
* | Tidy up. Whitespace. | Jim Grosbach | 2011-08-29 | 1 | -5/+5 |
| | | | | llvm-svn: 138767 | ||||
* | Apply the same fix for the change in LDR_PRE_IMM/LDRB_PRE_IMM operand ↵ | Owen Anderson | 2011-08-29 | 1 | -1/+2 |
| | | | | | | encodings to the load-store optimizer that I applied to the instruction selector in r138758. Fixes ary3 from the nightly test suite. llvm-svn: 138766 | ||||
* | Fix grammar, noticed by Duncan. | Bill Wendling | 2011-08-29 | 1 | -1/+1 |
| | | | | llvm-svn: 138764 | ||||
* | Specify an additional fixed bit in the PLD/PLDW/PLI register-register encoding. | Owen Anderson | 2011-08-29 | 1 | -0/+1 |
| | | | | llvm-svn: 138760 | ||||
* | Update tests to new EH model. Add landingpad instructions to landing pads. | Bill Wendling | 2011-08-29 | 5 | -0/+33 |
| | | | | llvm-svn: 138759 | ||||
* | addrmode_imm12 and addrmode2_offset encode their immediate values ↵ | Owen Anderson | 2011-08-29 | 1 | -4/+28 |
| | | | | | | differently. Update the manual instruction selection code that was encoding them the addrmode2 way even though LDR_PRE_IMM/LDRB_PRE_IMM had switched to addrmode_imm12. Should fix a number of nightly test failures. llvm-svn: 138758 | ||||
* | Fixes following the CR by Chris and Duncan: | Nadav Rotem | 2011-08-29 | 4 | -22/+47 |
| | | | | | | | Optimize chained bitcasts of the form A->B->A. Undo r138722 and change isEliminableCastPair to allow this case. llvm-svn: 138756 | ||||
* | Improve handling of #-0 offsets for many more pre-indexed addressing modes. | Owen Anderson | 2011-08-29 | 5 | -13/+30 |
| | | | | llvm-svn: 138754 | ||||
* | Initialize CompactUnwindSection so that other targets won't use an ↵ | Bill Wendling | 2011-08-29 | 1 | -1/+2 |
| | | | | | | uninitialized value. llvm-svn: 138752 | ||||
* | Expand ATOMIC_LOAD and ATOMIC_STORE for architectures I don't know well ↵ | Eli Friedman | 2011-08-29 | 4 | -0/+10 |
| | | | | | | enough to fix properly. llvm-svn: 138751 | ||||
* | Tidy up. 80 columns. | Jim Grosbach | 2011-08-29 | 1 | -1/+1 |
| | | | | llvm-svn: 138750 | ||||
* | Dump with dbgs() instead of printf. | Benjamin Kramer | 2011-08-29 | 1 | -5/+4 |
| | | | | llvm-svn: 138749 | ||||
* | Make GCC happy by adding parens. | Benjamin Kramer | 2011-08-29 | 1 | -2/+2 |
| | | | | llvm-svn: 138748 | ||||
* | Add testcase for r138746. | Owen Anderson | 2011-08-29 | 1 | -0/+34 |
| | | | | llvm-svn: 138747 | ||||
* | Update the load-store optimizer for changes to the operands on LDR_PRE_IMM ↵ | Owen Anderson | 2011-08-29 | 1 | -4/+10 |
| | | | | | | and LDRB_PRE_IMM in r138653. llvm-svn: 138746 | ||||
* | Fix a test that wasn't testing the right thing. | Matt Beaumont-Gay | 2011-08-29 | 1 | -4/+6 |
| | | | | | | | | The APFloat "Zero" test was actually calling the APFloat(const fltSemantics &, integerPart) constructor, and EXPECT_EQ was treating 0 and -0 as equal. llvm-svn: 138745 | ||||
* | Move non-intruction patterns to a more appropriate place! | Bruno Cardoso Lopes | 2011-08-29 | 1 | -31/+33 |
| | | | | llvm-svn: 138744 | ||||
* | Add support for parsing #-0 on non-memory-operand immediate values, and add ↵ | Owen Anderson | 2011-08-29 | 2 | -2/+21 |
| | | | | | | a testcase that necessitates it. llvm-svn: 138739 | ||||
* | Reapply r138695. Fix PassManager stack depths. | Andrew Trick | 2011-08-29 | 8 | -31/+42 |
| | | | | | | Patch by Xiaoyi Guo! llvm-svn: 138737 | ||||
* | Add AMDIL as valid target triple to LLVM. | Tobias Grosser | 2011-08-29 | 2 | -1/+11 |
| | | | | | | Submitted by: Villmow, Micah <Micah.Villmow@amd.com> llvm-svn: 138734 | ||||
* | Remove premature previous commit. | Nicolas Geoffray | 2011-08-28 | 1 | -25/+7 |
| | | | | llvm-svn: 138725 | ||||
* | Fix PR5329: pay attention to constructor/destructor priority | Duncan Sands | 2011-08-28 | 2 | -13/+57 |
| | | | | | | | when outputting them. With this, the entire LLVM testsuite passes when built with dragonegg. llvm-svn: 138724 | ||||
* | Encoding of instructions referencing segments has changed. Do what ↵ | Nicolas Geoffray | 2011-08-28 | 1 | -7/+25 |
| | | | | | | X86MCCodeEmitter does. llvm-svn: 138723 | ||||
* | Bitcasts are transitive. Bitcast-Bitcast-X becomes Bitcast-X. | Nadav Rotem | 2011-08-28 | 3 | -0/+25 |
| | | | | llvm-svn: 138722 | ||||
* | Fix integer overflow bug in raw_ostream::write. This showed up as a | Nick Lewycky | 2011-08-28 | 1 | -2/+2 |
| | | | | | | non-deterministic crash in the test suite. Fixes PR10055! llvm-svn: 138717 | ||||
* | The 'expected' argument to EXPECT_EQ is actually the first one; | John McCall | 2011-08-27 | 1 | -23/+23 |
| | | | | | | flip these tests around. llvm-svn: 138708 | ||||
* | Silence GCC warnings and make an array const. | Benjamin Kramer | 2011-08-27 | 2 | -7/+6 |
| | | | | llvm-svn: 138706 | ||||
* | Report failure if there are less bytes than requested in a MemoryObject. | Benjamin Kramer | 2011-08-27 | 1 | -2/+5 |
| | | | | | | Before we just left the remaining bytes uninitialized. This is another step in making llvm valgrind-clean again. llvm-svn: 138705 | ||||
* | Reverted r138652, valgrind doesn't understand obj:*/tblgen. | Andrew Trick | 2011-08-27 | 5 | -12/+3 |
| | | | | llvm-svn: 138703 | ||||
* | Auto upgrade the old EH scheme to use the new one. This is on a trial basis. If | Bill Wendling | 2011-08-27 | 3 | -34/+108 |
| | | | | | | things to disasterously over night, this can be reverted. llvm-svn: 138702 | ||||
* | Reverting r138695 to see if it fixes clang self host. | Andrew Trick | 2011-08-27 | 8 | -42/+31 |
| | | | | llvm-svn: 138701 | ||||
* | Only delete instructions once. | Bill Wendling | 2011-08-27 | 1 | -5/+6 |
| | | | | llvm-svn: 138700 | ||||
* | Update to new EH scheme. | Bill Wendling | 2011-08-27 | 1 | -5/+5 |
| | | | | llvm-svn: 138699 | ||||
* | Cannot have an llvm.eh.exception call in a non-landing pad block. | Bill Wendling | 2011-08-27 | 1 | -2/+0 |
| | | | | llvm-svn: 138698 | ||||
* | These splits should be done whether they are critical edges or not. | Bill Wendling | 2011-08-27 | 1 | -16/+8 |
| | | | | llvm-svn: 138697 | ||||
* | Fix PassManager stack depths. | Andrew Trick | 2011-08-27 | 8 | -31/+42 |
| | | | | | | Patch by Xiaoyi Guo! llvm-svn: 138695 | ||||
* | Excluding ARM JIT tests until someone can fix this compilation path. | Andrew Trick | 2011-08-26 | 15 | -0/+23 |
| | | | | llvm-svn: 138676 |