summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Changed the TableGen created MatchInstructionImpl() setting of ErrorInfo.Kevin Enderby2011-02-021-3/+1
| | | | | | | | | | | The algorithm for identifying which operand is invalid will now always point to some operand and not the mnemonic sometimes. The change is now that ErrorInfo is the index of the highest operand that does not match for any of the matching mnemonics records. And no longer the ~0U value when the mnemonic matches and not every record with a matching mnemonic has the same mismatching operand index. llvm-svn: 124734
* Update comment to match my recent change.Bob Wilson2011-02-021-2/+2
| | | | llvm-svn: 124725
* SimplifyCFG: Turn switches into sub+icmp+branch if possible.Benjamin Kramer2011-02-024-70/+39
| | | | | | | | | | | | | | | | | This makes the job of the later optzn passes easier, allowing the vast amount of icmp transforms to chew on it. We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting binary on i386-linux. The testcase from README.txt now compiles into decl %edi cmpl $3, %edi sbbl %eax, %eax andl $1, %eax ret llvm-svn: 124724
* Add support for trampolines on the XCore.Richard Osborne2011-02-025-1/+109
| | | | llvm-svn: 124722
* Remove NoVendor and NoOS, added in commit 123990, from Triple. While itDuncan Sands2011-02-023-74/+56
| | | | | | | | | may be useful to understand "none", this is not the place for it. Tweak the fix to Normalize while there: the fix added in 123990 works correctly, but I like this way better. Finally, now that Triple understands some non-trivial environment values, teach the unittests about them. llvm-svn: 124720
* Remove wasteful caching. This isn't needed for correctness because any functionNick Lewycky2011-02-021-23/+2
| | | | | | | | that might have changed been affected by a merge elsewhere will have been removed from the function set, and it isn't needed for performance because we call grow() ahead of time to prevent reallocations. llvm-svn: 124717
* Conservatively, clear optional flags, such as nsw, when performingDan Gohman2011-02-021-0/+15
| | | | | | | reassociation. No testcase, because I wasn't able to create a testcase which actually demonstrates a problem. llvm-svn: 124713
* Fix reassociate to clear optional flags, such as nsw.Dan Gohman2011-02-023-0/+44
| | | | llvm-svn: 124712
* Fixed a bug in the disassembler where the mandatory 0x66Sean Callanan2011-02-021-0/+1
| | | | | | | | prefix would be misinterpreted in some cases on 32-bit x86 platforms. Thanks to Olivier Meurant for identifying the bug. llvm-svn: 124709
* Given a pair of floating point load and store, if there are no other uses ofEvan Cheng2011-02-025-2/+109
| | | | | | | | | | | | | | | | | | | the load, then it may be legal to transform the load and store to integer load and store of the same width. This is done if the target specified the transformation as profitable. e.g. On arm, this can transform: vldr.32 s0, [] vstr.32 s0, [] to ldr r12, [] str r12, [] rdar://8944252 llvm-svn: 124708
* Fix comment typo.Bob Wilson2011-02-021-1/+1
| | | | llvm-svn: 124705
* PR9081: Split up LDM instruction with deprecated use of both LR and PC.Bob Wilson2011-02-011-2/+3
| | | | | | | This is completely untested but pretty straightforward, so hopefully I got it right. llvm-svn: 124694
* Take Bill Wendling's suggestion for structuring a couple of asserts.Matt Beaumont-Gay2011-02-011-6/+6
| | | | llvm-svn: 124688
* Update to match changes in lldb interface.Devang Patel2011-02-011-1/+2
| | | | llvm-svn: 124687
* Fix imm printing for logical instructions.Anton Korobeynikov2011-02-013-24/+45
| | | | | | Patch by Brian G. Lucas! llvm-svn: 124679
* Document the LLVM GIT mirrorAnton Korobeynikov2011-02-011-0/+20
| | | | llvm-svn: 124677
* [AVX] Implement EnforceSmallerThan for mixed int/fp type lists. ThisDavid Greene2011-02-011-27/+130
| | | | | | | | | | | | | makes type checking for extract_subvector and insert_subvector more robust and will allow stricter typechecking of more patterns in the future. This change handles int and fp as disjoint sets so that it will enforce integer types to be smaller than the largest integer type and fp types to be smaller than the largest fp type. There is no attempt to check type sizes across the int/fp sets. llvm-svn: 124672
* Remove stale references of obsolete @llvm.dbg.variable.Devang Patel2011-02-011-8/+3
| | | | llvm-svn: 124664
* Make SwitchInst::removeCase() more efficient.Jay Foad2011-02-012-9/+6
| | | | llvm-svn: 124659
* Add a m_Undef pattern for convenience. This is so that code that usesDuncan Sands2011-02-012-16/+26
| | | | | | | pattern matching can also pattern match undef, creating a more uniform style. llvm-svn: 124657
* Add a m_SignBit pattern for convenience.Duncan Sands2011-02-012-3/+16
| | | | llvm-svn: 124656
* Have m_One also match constant vectors for which every element is 1.Duncan Sands2011-02-015-11/+16
| | | | llvm-svn: 124655
* Test commit - fix a double 'should' in a comment.Carl Norum2011-02-011-1/+1
| | | | llvm-svn: 124652
* Correctly merge available_externally and regular definitions when they haveRafael Espindola2011-02-013-2/+13
| | | | | | different visibilities. llvm-svn: 124650
* Fix bogus assert condition noticed by Csaba Raduly.Evan Cheng2011-02-011-2/+2
| | | | llvm-svn: 124645
* Reapply 124275 since the Dragonegg failure was unreproducible.Eric Christopher2011-02-012-85/+88
| | | | llvm-svn: 124641
* Fix test for non-darwin targets.Evan Cheng2011-02-011-2/+2
| | | | llvm-svn: 124640
* Patches to build EFI with Clang/LLVM. By Carl Norum.Evan Cheng2011-02-018-17/+41
| | | | llvm-svn: 124639
* Remove stale test that has never worked, afaik.Devang Patel2011-02-011-60/+0
| | | | llvm-svn: 124635
* Don't tell the linker about available_externally definitions. If we do, it willRafael Espindola2011-02-011-0/+4
| | | | | | complain about duplicated definitions. llvm-svn: 124634
* Keep track of incoming argument's location while emitting LiveIns.Devang Patel2011-01-3113-32/+144
| | | | llvm-svn: 124611
* While printing "interesting" breakpoint locations for debug info quality ↵Devang Patel2011-01-311-27/+12
| | | | | | test harness, focus only on entry block's terminator for now. llvm-svn: 124610
* Enumerate .code16/32/64 instead of checking .code prefix. ThisRoman Divacky2011-01-311-1/+1
| | | | | | unbreaks some ARM tests. llvm-svn: 124608
* Tidy up. Devang Patel2011-01-311-35/+132
| | | | llvm-svn: 124605
* Focus on arguments for now.Devang Patel2011-01-311-2/+2
| | | | llvm-svn: 124604
* Error on all .code* directives instead of just .code16 as theyRoman Divacky2011-01-311-2/+2
| | | | | | all lead to a silent miscompilation of code. llvm-svn: 124603
* Fix vector sign extend to put the source and destination types in theDavid Greene2011-01-311-3/+3
| | | | | | correct places. llvm-svn: 124601
* add a note, progress unblocked by PR8575 being fixed.Chris Lattner2011-01-311-0/+48
| | | | llvm-svn: 124599
* Adds some platform checks to cmake/config-ix.cmake and fixes checkingOscar Fuentes2011-01-312-12/+36
| | | | | | | | for dlopen/dlerror. Patch by arrowdodger! llvm-svn: 124590
* Fix bug where ReduceLoadWidth was creating illegal ZEXTLOAD instructions.Richard Osborne2011-01-312-2/+12
| | | | llvm-svn: 124587
* CMake: Fix a few definition to suppress warnings.NAKAMURA Takumi2011-01-311-3/+3
| | | | llvm-svn: 124583
* Save a mapping between original and cloned constpool entries.Anton Korobeynikov2011-01-302-0/+25
| | | | llvm-svn: 124570
* Clarify the LSDASection NULL checkAnton Korobeynikov2011-01-301-0/+2
| | | | llvm-svn: 124569
* Recognize and simplifyAnders Carlsson2011-01-302-1/+27
| | | | | | | (A+B) == A -> B == 0 A == (A+B) -> B == 0 llvm-svn: 124567
* Respect the -tail-dup-size command line option even when optimizing for size.Jakob Stoklund Olesen2011-01-301-1/+2
| | | | | | | This is similar to the -unroll-threshold option. There should be no change in behavior when -tail-dup-size is not explicit on the llc command line. llvm-svn: 124564
* Commit 124487 broke 254.gap. See if disabling the part that might be triggeredDuncan Sands2011-01-302-9/+5
| | | | | | by PR9088 fixes things. llvm-svn: 124561
* Transform (X/Y)*Y into X if the division is exact. Instcombine already ↵Duncan Sands2011-01-302-0/+27
| | | | | | | | | | | | knows how to do this and more, but would only do it if X/Y had only one use. Spotted as the most common missed simplification in SPEC by my auto-simplifier, now that it knows about nuw/nsw/exact flags. This removes a bunch of multiplications from 447.dealII and 483.xalancbmk. It also removes a lot from tramp3d-v4, which results in much more inlining. llvm-svn: 124560
* Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, ↵Benjamin Kramer2011-01-303-21/+32
| | | | | | | | | | | | | | | | | | c1+c2) when c1 equals the amount of bits that are truncated off. This happens all the time when a smul is promoted to a larger type. On x86-64 we now compile "int test(int x) { return x/10; }" into movslq %edi, %rax imulq $1717986919, %rax, %rax movq %rax, %rcx shrq $63, %rcx sarq $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax" addl %ecx, %eax This fires 96 times in gcc.c on x86-64. llvm-svn: 124559
* Fix 'fcmp one' constant folding. Noticed by inspection.Nick Lewycky2011-01-301-1/+1
| | | | llvm-svn: 124557
* Fix some formatting and upgrade comments from llvm 1.x to 2.x syntax.Nick Lewycky2011-01-301-6/+6
| | | | llvm-svn: 124556
OpenPOWER on IntegriCloud