- Feb 03, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 124813
-
Jakob Stoklund Olesen authored
If the found value is not live-through the block, we should only add liveness up to the requested slot index. When the value is live-through, the whole block should be colored. Bug found by SSA verification in the machine code verifier. llvm-svn: 124812
-
Jakob Stoklund Olesen authored
These end points come from the inserted copies, and can be passed directly to useIntv. This simplifies the coloring code. llvm-svn: 124799
-
Jakob Stoklund Olesen authored
llvm-svn: 124798
-
David Greene authored
[AVX] VEXTRACTF128 support. This commit includes patterns for matching EXTRACT_SUBVECTOR to VEXTRACTF128 along with support routines to examine and translate index values. VINSERTF128 comes next. With these two in place we can begin supporting more AVX operations as INSERT/EXTRACT can be used as a fallback when 256-bit support is not available. llvm-svn: 124797
-
Richard Osborne authored
llvm-svn: 124794
-
NAKAMURA Takumi authored
llvm-svn: 124793
-
Duncan Sands authored
auto-simplifier). This has a big impact on Ada code, but not much else. Unfortunately the impact is mostly negative! This is due to PR9004 (aka SCCP failing to resolve conditional branch conditions in the destination blocks of the branch), in which simple correlated expressions are not resolved but complicated ones are, so simplifying has a bad effect! llvm-svn: 124788
-
Duncan Sands authored
the loop. llvm-svn: 124784
-
NAKAMURA Takumi authored
test/Makefile: "check-all" should update tools/clang/test/Unit/lit.site.cfg, too. Follow up to clang r124777. llvm-svn: 124783
-
Eric Christopher authored
llvm-svn: 124779
-
Eric Christopher authored
llvm-svn: 124778
-
Oscar Fuentes authored
This is the cmake equivalent for r124769. llvm-svn: 124775
-
Rafael Espindola authored
llvm-svn: 124774
-
Rafael Espindola authored
Reversing the operands allows us to fold, but doesn't force us to. Also, at this point the DAG is still being optimized, so the check for hasOneUse is not very precise. llvm-svn: 124773
-
Daniel Dunbar authored
llvm-svn: 124771
-
Daniel Dunbar authored
llvm-svn: 124770
-
Daniel Dunbar authored
llvm-svn: 124769
-
Jakob Stoklund Olesen authored
The greedy register allocator revealed some problems with the value mapping in SplitKit. We would sometimes start mapping values before all defs were known, and that could change a value from a simple 1-1 mapping to a multi-def mapping that requires ssa update. The new approach collects all defs and register assignments first without filling in any live intervals. Only when finish() is called, do we compute liveness and mapped values. At this time we know with certainty which values map to multiple values in a split range. This also has the advantage that we can compute live ranges based on the remaining uses after rematerializing at split points. The current implementation has many opportunities for compile time optimization. llvm-svn: 124765
-
Devang Patel authored
llvm-svn: 124761
-
Devang Patel authored
llvm-svn: 124759
-
- Feb 02, 2011
-
-
Devang Patel authored
llvm-svn: 124755
-
Devang Patel authored
llvm-svn: 124752
-
Duncan Sands authored
overflow (nsw flag), which was disabled because it breaks 254.gap. I have informed the GAP authors of the mistake in their code, and arranged for the testsuite to use -fwrapv when compiling this benchmark. llvm-svn: 124746
-
Kevin Enderby authored
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
-
Bob Wilson authored
llvm-svn: 124725
-
Benjamin Kramer authored
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
-
Richard Osborne authored
llvm-svn: 124722
-
Duncan Sands authored
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
-
Nick Lewycky authored
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
-
Dan Gohman authored
reassociation. No testcase, because I wasn't able to create a testcase which actually demonstrates a problem. llvm-svn: 124713
-
Dan Gohman authored
llvm-svn: 124712
-
Sean Callanan authored
prefix would be misinterpreted in some cases on 32-bit x86 platforms. Thanks to Olivier Meurant for identifying the bug. llvm-svn: 124709
-
Evan Cheng authored
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
-
Bob Wilson authored
llvm-svn: 124705
-
- Feb 01, 2011
-
-
Bob Wilson authored
This is completely untested but pretty straightforward, so hopefully I got it right. llvm-svn: 124694
-
Matt Beaumont-Gay authored
llvm-svn: 124688
-
Devang Patel authored
llvm-svn: 124687
-
Anton Korobeynikov authored
Patch by Brian G. Lucas! llvm-svn: 124679
-
Anton Korobeynikov authored
llvm-svn: 124677
-