Craig Topper
32b7343a96
Replace a couple if/elses around similar calls with conditional operators on the varying arguments. No functional change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164886 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29 06:54:22 +00:00
Nadav Rotem
72f7b0811e
A DAGCombine optimization for merging consecutive stores. This optimization is not profitable in many cases
...
because moden processos can store multiple values in parallel, and preparing the consecutive store requires
some work. We only handle these cases:
1. Consecutive stores where the values and consecutive loads. For example:
int a = p->a;
int b = p->b;
q->a = a;
q->b = b;
2. Consecutive stores where the values are constants. Foe example:
q->a = 4;
q->b = 5;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164885 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29 06:33:25 +00:00
Craig Topper
aa64c18280
Remove more LLVM_DELETED_FUNCTIONs from destructors to fix -std=c++11 build on gcc 4.7.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164880 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29 02:25:34 +00:00
Evan Cheng
aa7e47416a
Add test case for r164850.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164867 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29 00:12:08 +00:00
Evan Cheng
465970736b
Do not delete BBs if their addresses are taken. rdar://12396696
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164866 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 23:58:57 +00:00
Bill Wendling
dc998ccb65
Don't use bit-wise operations to query for inclusion/exclusion of attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164860 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 22:30:18 +00:00
Evan Cheng
f5fdc14df9
GlobalDCE should be run at -O2 / -Os to eliminate unused dtor, etc. rdar://9142819
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164850 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 21:23:26 +00:00
Akira Hatanaka
21731d876c
MIPS DSP: add operands to make sure instruction strings are being matched.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164849 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 21:23:16 +00:00
Bill Wendling
6eec6ffb9b
Remove unused methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164848 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 21:22:24 +00:00
Sean Silva
74a19f0729
docs: dedent list on index.rst
...
In reStructuredText, indented blocks denote block quotes [1]. This list
is not a block quote.
[1]. http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164847 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 21:18:37 +00:00
Akira Hatanaka
93ba059e48
MIPS DSP: other miscellaneous instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164845 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 20:50:31 +00:00
Manman Ren
284c1004f7
Testcase for r164835
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164842 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 20:26:33 +00:00
Akira Hatanaka
e91ff1d135
MIPS DSP: ADDUH.QB instruction sub-class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164840 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 20:16:04 +00:00
Manman Ren
bc96bcdaf9
X86: when replacing SUB with TEST in ISelDAGToDAG, only replace uses of the
...
second output of SUB with first output of TEST.
PR13966
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164835 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 18:53:24 +00:00
Andrew Kaylor
770b97b995
Removing dependency on third party library for Intel JIT event support.
...
Patch committed on behalf of Kirill Uhanov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164831 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 17:35:20 +00:00
Benjamin Kramer
07b4d5592a
PackedVector: Make the BitVector implementation configurable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164826 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 16:40:29 +00:00
Benjamin Kramer
deda7b6e75
Provide malloc-free sentinels for the SparseBitVector internals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164823 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 15:36:41 +00:00
Dmitri Gribenko
04cb564c8d
Replace the use of strncpy() and sprintf() with std::string and LLVM streams.
...
Patch by Martinez, Javier E.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164822 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 14:15:28 +00:00
Benjamin Kramer
8be16fe703
CorrelatedPropagation: BasicBlock::removePredecessor can simplify PHI nodes. If the it's the condition of a SwitchInst, reload it.
...
Fixes PR13972.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164818 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 10:42:50 +00:00
Benjamin Kramer
53347ed2f8
Make backtraces work again with both the configure and cmake build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164817 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 10:10:46 +00:00
Benjamin Kramer
ab16423c91
GlobalOpt: non-constexpr bitcasts or GEPs can occur even if the global value is only stored once.
...
Fixes PR13968.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164815 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 10:01:27 +00:00
Nick Lewycky
7e0e166d17
Surprisingly, we missed a trivial case here. Fix that!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164814 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 09:33:53 +00:00
Craig Topper
8bb12aeeb4
Remove a LLVM_DELETED_FUNCTION from destructor to fix -std=c++11 build on gcc 4.7.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164813 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 07:17:01 +00:00
Reed Kotler
c94a38ff17
1. Add load/store words from the stack
...
2. As part of this, added assembly format FEXT_RI16_SP_explicit_ins and
moved other lines for FEXT_RI16 formats to be in the right place in the code.
3. Added mayLoad and mayStore assignements for the load/store instructions added and for ones already there that did not have this assignment.
4. Another patch will deal with the problem of load/store byte/halfword to the stack. This is a particular Mips16 problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164811 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 02:26:24 +00:00
Jakob Stoklund Olesen
83ef63efce
Remove <def,read-undef> flags from partial redefinitions.
...
The new coalescer can turn a full virtual register definition into a
partial redef by merging another value into an unused vector lane.
Make sure to clear the <read-undef> flag on such defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164807 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 23:31:32 +00:00
Micah Villmow
6f6ea93c92
Fix more crlf issues.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164805 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 22:14:10 +00:00
Meador Inge
ce71822d38
instcombine: Add more test cases for __strncpy_chk simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164800 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:21:31 +00:00
Meador Inge
a968582978
instcombine: Add more test cases for __strcpy_chk simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164799 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:21:28 +00:00
Meador Inge
c8613c9089
instcombine: Add more test cases for __memmove_chk simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164798 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:21:25 +00:00
Meador Inge
012ffd251b
instcombine: Add more test cases for __memcpy_chk simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164797 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:21:21 +00:00
Meador Inge
910c564d3b
instcombine: Add more test cases for __memset_chk simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164796 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:21:18 +00:00
Jakob Stoklund Olesen
5cf178f281
Enable the new coalescer algorithm by default.
...
The new coalescer is better at merging values into unused vector lanes,
improving NEON code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164794 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:06:02 +00:00
Jakob Stoklund Olesen
657720bc6e
Don't dereference begin() on an empty vector.
...
The fix is obvious and the only test case I have is horrible, so I am
not including it. The problem shows up when self-hosting clang on i386
with -new-coalescer enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164793 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 21:05:59 +00:00
Akira Hatanaka
cb39aa05af
MIPS DSP: ABSQ_S.PH instruction sub-class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164787 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 19:09:21 +00:00
Akira Hatanaka
23bb38f034
MIPS DSP: SHLL.QB instruction sub-class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164786 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 19:05:08 +00:00
Benjamin Kramer
465251a7ce
Fix a integer overflow in SimplifyCFG's look up table formation logic.
...
If the width is very large it gets truncated from uint64_t to uint32_t when
passed to TD->fitsInLegalInteger. The truncated value can fit in a register.
This manifested in massive memory usage or crashes (PR13946).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164784 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 18:29:58 +00:00
Micah Villmow
593c0b08e6
Fix CRLF issues.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164782 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 17:51:02 +00:00
Jakob Stoklund Olesen
ddc26d8936
Avoid dereferencing a NULL pointer.
...
Fixes PR13943.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164778 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 16:34:19 +00:00
Micah Villmow
7149ef0176
Patch for HowToBuildOnARM documentation from Wei-Ren Chen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164776 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 15:05:49 +00:00
Sylvestre Ledru
94c22716d6
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164768 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 10:14:43 +00:00
Sylvestre Ledru
7e2c793a2b
Fix a typo 'iff' => 'if'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164767 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 09:59:43 +00:00
Nick Lewycky
466e0f38d3
Prefer shuffles to selects. Backends love shuffles!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164763 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 08:33:56 +00:00
Bill Wendling
37d3ef3140
Add constructors to the attribute builder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164762 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 07:22:30 +00:00
Nick Lewycky
e2d02349c3
Add missing function CreateFPCast to the TargetFolder. It's there in the other
...
folders and not having it here fails to compile if you actually try to use it.
Also, CreatePointerCast was failing to do the part where it does TD-aware
constant folding. Granted there is exactly one case where that it will ever
do anything, but there's no reason to skip it. For reference, that case is a
subtraction between two constant offsets on the same global variable, eg.,
"&A[123] - &A[4].f".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164760 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 06:33:40 +00:00
Jush Lu
8f50647662
[arm-fast-isel] Add support for ELF PIC.
...
This is a preliminary step towards ELF support; currently ARMFastISel hasn't
been used for ELF object files yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164759 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 05:21:41 +00:00
Akira Hatanaka
5e92990703
Test case for r164755 and 164756.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164757 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 04:12:30 +00:00
Akira Hatanaka
833f7a5c4b
MIPS DSP: rddsp (instruction which reads DSPControl register fields to a GPR).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164756 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 04:08:42 +00:00
Akira Hatanaka
451b0e7b8a
MIPS DSP: CMPU.EQ.QB instruction sub-class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164755 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 03:58:34 +00:00
Akira Hatanaka
a216401621
MIPS DSP: ADDU.QB instruction sub-class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164754 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 03:13:59 +00:00
Akira Hatanaka
01f7089bca
MIPS DSP: Branch on Greater Than or Equal To Value 32 in DSPControl Pos Field instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164751 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 02:15:57 +00:00