Nadav Rotem
ad2fd4eada
Enhance constant folding of bitcast operations on vectors of floats.
...
Add getAllOnesValue of FP numbers to Constants and APFloat.
Add more tests.
llvm-svn: 125776
2011-02-17 21:22:27 +00:00
Chris Lattner
e797a8c29f
add is always integer, thanks to Frits for noticing this.
...
llvm-svn: 125774
2011-02-17 20:55:29 +00:00
David Greene
244920d662
[AVX] Recorganize X86ShuffleDecode into its own library
...
(LLVMX86Utils.a) to break cyclic library dependencies between
LLVMX86CodeGen.a and LLVMX86AsmParser.a. Previously this code was in
a header file and marked static but AVX requires some additional
functionality here that won't be used by all clients. Since including
unused static functions causes a gcc compiler warning, keeping it as a
header would break builds that use -Werror. Putting this in its own
library solves both problems at once.
llvm-svn: 125765
2011-02-17 19:18:59 +00:00
Jakob Stoklund Olesen
65f52c387c
Split local live ranges.
...
A local live range is live in a single basic block. If such a range fails to
allocate, try to find a sub-range that would get a larger spill weight than its
interference.
llvm-svn: 125764
2011-02-17 19:13:53 +00:00
Dan Gohman
71117af2db
The labyrinthine X86 backend no longer appears to require
...
these patterns.
llvm-svn: 125759
2011-02-17 18:50:19 +00:00
Duncan Sands
9b4a2b4fe0
Fix wrong logic in promotion of signed mul-with-overflow (I pointed this out at
...
the time but presumably my email got lost). Examples where the previous logic
got it wrong: (1) a signed i8 multiply of 64 by 2 overflows, but the high part is
zero; (2) a signed i8 multiple of -128 by 2 overflows, but the high part is all
ones.
llvm-svn: 125748
2011-02-17 12:42:48 +00:00
NAKAMURA Takumi
00228d0c2c
Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 generally.
...
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way.
llvm-svn: 125747
2011-02-17 12:24:17 +00:00
NAKAMURA Takumi
8d39c3a632
Fix whitespace.
...
llvm-svn: 125746
2011-02-17 12:23:50 +00:00
Duncan Sands
e0ece264ba
This has been implemented.
...
llvm-svn: 125738
2011-02-17 08:16:56 +00:00
Duncan Sands
00610dbf64
Transform "A + B >= A + C" into "B >= C" if the adds do not wrap. Likewise for some
...
variations (some of these were already present so I unified the code). Spotted by my
auto-simplifier as occurring a lot.
llvm-svn: 125734
2011-02-17 07:46:37 +00:00
Cameron Zwarich
443d4193ef
Switch to SmallVector in SimpleRegisterCoalescing for a 3.5% speedup on 403.gcc.
...
llvm-svn: 125728
2011-02-17 06:52:07 +00:00
Cameron Zwarich
ebcd35fd5a
Adjust indenting of arguments.
...
llvm-svn: 125727
2011-02-17 06:13:46 +00:00
Cameron Zwarich
5ea289952e
Return Changed from SplitPHIEdges rather than always returning true.
...
llvm-svn: 125726
2011-02-17 06:13:43 +00:00
NAKAMURA Takumi
f9affc1dc9
lit/TestingConfig.py: Add the environment variable PRINTF_EXPONENT_DIGITS as workaround [PR6745] for mingw's tests. Danil Malyshev suggested this.
...
FIXME: It does not improve MSVC's issue.
[Danil Malyshev] Defining PRINTF_EXPONENT_DIGITS env is the suggested way to make MinGW ANSI/POSIX compatible. This is not only about the case we are discussing, but in general, I'd like to have explicitly defined compatibility mode for all the tests running on MinGW.
llvm-svn: 125725
2011-02-17 05:56:41 +00:00
Alexis Hunt
be0782975d
Add serialization for Expr* arguments for attributes to clang tablegen files.
...
Patch thanks to Zach Anderson.
llvm-svn: 125721
2011-02-17 03:30:09 +00:00
Chris Lattner
6e936c247f
preserve NUW/NSW when transforming add x,x
...
llvm-svn: 125711
2011-02-17 02:23:02 +00:00
Chris Lattner
79947d56ea
filecheckize
...
llvm-svn: 125710
2011-02-17 02:21:03 +00:00
Nick Lewycky
4e7ec00a1d
Fix thinko, basic blocks are SESE. The exits may have many edges though.
...
llvm-svn: 125709
2011-02-17 02:19:22 +00:00
Chris Lattner
035876162f
add some notes on compares + binops. Remove redundant entries.
...
llvm-svn: 125702
2011-02-17 01:43:46 +00:00
Chris Lattner
828b97cdc2
fix PR9215, preventing -reassociate from clearing nsw/nuw when
...
it swaps the LHS/RHS of a single binop.
llvm-svn: 125700
2011-02-17 01:29:24 +00:00
Chris Lattner
9f4e529571
Add a few missed xforms from GCC PR14753
...
llvm-svn: 125681
2011-02-16 19:16:34 +00:00
Stuart Hastings
47e45a32a8
Swap VT and DebugLoc operands of getExtLoad() for consistency with
...
other getNode() methods. Radar 9002173.
llvm-svn: 125665
2011-02-16 16:23:55 +00:00
Rafael Espindola
3c40b1fab0
Add a debug obj-path option to make it easy to keep the .o produce by LTO.
...
llvm-svn: 125663
2011-02-16 11:19:44 +00:00
Eli Friedman
b409f8da64
Remove outdated README entry.
...
llvm-svn: 125660
2011-02-16 07:41:19 +00:00
Eli Friedman
5f848d70fa
Remove outdated README entry.
...
llvm-svn: 125659
2011-02-16 07:18:18 +00:00
Eli Friedman
30a64ae1b9
Update README entry.
...
llvm-svn: 125658
2011-02-16 07:17:44 +00:00
Eric Christopher
25956e0c47
Refactor zero folding slightly. Clean up todo.
...
llvm-svn: 125651
2011-02-16 04:50:12 +00:00
Rafael Espindola
4ef1268b39
Gas is very inconsistent about when a relaxation/relocation is needed. Do
...
the right thing and stop trying to copy it. Fixes PR8944.
llvm-svn: 125648
2011-02-16 03:25:55 +00:00
Eric Christopher
8965ba39fb
The change for PR9190 wasn't quite right. We need to avoid making the
...
transformation if we can't legally create a build vector of the correct
type. Check that we can make the transformation first, and add a TODO to
refactor this code with similar cases.
Fixes: PR9223 and rdar://9000350
llvm-svn: 125631
2011-02-16 01:10:03 +00:00
Eric Christopher
2d3de0727f
Add testcase for PR9190.
...
llvm-svn: 125630
2011-02-16 01:08:31 +00:00
Rafael Espindola
b59fdeb3de
Add support for pushsection and popsection. Patch by Joerg Sonnenberger.
...
llvm-svn: 125629
2011-02-16 01:08:29 +00:00
Evan Cheng
1a5aa79d0e
Remove a duplicated check.
...
llvm-svn: 125625
2011-02-16 00:37:02 +00:00
Evan Cheng
d3928a2c3a
Some single precision VFP instructions may be executed on NEON pipeline, but not double precision ones.
...
llvm-svn: 125624
2011-02-16 00:35:02 +00:00
Nick Lewycky
5c854580b2
Teach PatternMatch that splat vectors could be floating point as well as
...
integer. Fixes PR9228!
llvm-svn: 125613
2011-02-15 23:13:23 +00:00
Roman Divacky
3277e18a42
Add support for parsing [expr].
...
This is submitted by Joerg Sonnenberger and fixes his PR8685.
llvm-svn: 125595
2011-02-15 20:43:39 +00:00
Jakob Stoklund Olesen
d8c18daea5
Teach ARMLoadStoreOptimizer to remove kill flags from merged instructions as well.
...
This is necessary to avoid a crash in certain tangled situations where a kill
flag is first correctly moved to a merged instruction, and then needs to be
moved again:
STR %R0, a...
STR %R0<kill>, b...
First becomes:
STR %R0, b...
STM a, %R0<kill>, ...
and then:
STM a, %R0, ...
STM b, %R0<kill>, ...
We can now remove the kill flag from the merged STM when needed. 8960050.
llvm-svn: 125591
2011-02-15 19:51:58 +00:00
Devang Patel
d5b7c28519
Ignore DBG_VALUE machine instructions while constructing instruction ranges based on location info.
...
Machine instruction range consisting of only DBG_VALUE MIs only contributes consecutive labels in assembly output, which is harmless, and empty scope entry in DebugInfo, which confuses debugger tools.
llvm-svn: 125577
2011-02-15 17:56:09 +00:00
Argyrios Kyrtzidis
bd74fadd7b
Implement a function from PathV2 whose definition is missing.
...
llvm-svn: 125574
2011-02-15 17:51:19 +00:00
Devang Patel
f927b9703e
Move DbgInfoPrinter specific utlities inside DbgInfoPrinter.cpp
...
llvm-svn: 125571
2011-02-15 17:36:11 +00:00
Devang Patel
8b9081b0bf
Print function info. Patch by Minjang Kim.
...
llvm-svn: 125567
2011-02-15 17:24:56 +00:00
Duncan Sands
061150ac1b
Spelling fix: consequtive -> consecutive.
...
llvm-svn: 125563
2011-02-15 09:23:02 +00:00
Argyrios Kyrtzidis
f19978df28
When tablegen'ing the clang analyzer checkers:
...
-Use the tablegen class name for the checker class name.
-Mark checker packages as hidden/not hidden.
llvm-svn: 125558
2011-02-15 07:42:16 +00:00
Nadav Rotem
5306a4ae96
Fix 9216 - Endless loop in InstCombine pass.
...
The pattern "A&(A^B) -> A & ~B" recreated itself because ~B is
actually a xor -1.
llvm-svn: 125557
2011-02-15 07:13:48 +00:00
Evan Cheng
c6f645610e
Fix thinko. Cmp can be the first instruction in a MBB.
...
llvm-svn: 125552
2011-02-15 05:00:24 +00:00
Devang Patel
091c6a8907
Do not forget DebugLoc!
...
llvm-svn: 125547
2011-02-15 02:02:30 +00:00
Chris Lattner
ccb24014c2
tidy up a bit.
...
llvm-svn: 125546
2011-02-15 01:56:08 +00:00
Chris Lattner
f661ea3f4a
Minor fixes to tutorial, patch by Benjamin Meyer!
...
llvm-svn: 125544
2011-02-15 00:24:32 +00:00
Chris Lattner
f800339278
fix comments
...
llvm-svn: 125543
2011-02-15 00:23:53 +00:00
Chris Lattner
db204cbe42
convert ConstantVector::get to use ArrayRef.
...
llvm-svn: 125537
2011-02-15 00:14:00 +00:00
Chris Lattner
0848675c80
fix some typos.
...
llvm-svn: 125536
2011-02-15 00:06:37 +00:00