Benjamin Kramer
b4a61e5a00
GlobalOpt: non-constexpr bitcasts or GEPs can occur even if the global value is only stored once.
...
Fixes PR13968.
llvm-svn: 164815
2012-09-28 10:01:27 +00:00
Nick Lewycky
689f61680b
Surprisingly, we missed a trivial case here. Fix that!
...
llvm-svn: 164814
2012-09-28 09:33:53 +00:00
Craig Topper
a320f275b7
Remove a LLVM_DELETED_FUNCTION from destructor to fix -std=c++11 build on gcc 4.7.
...
llvm-svn: 164813
2012-09-28 07:17:01 +00:00
Reed Kotler
aa1af91a31
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.
llvm-svn: 164811
2012-09-28 02:26:24 +00:00
Jakob Stoklund Olesen
13c6c0b45c
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.
llvm-svn: 164807
2012-09-27 23:31:32 +00:00
Micah Villmow
ee6440e8ae
Fix more crlf issues.
...
llvm-svn: 164805
2012-09-27 22:14:10 +00:00
Meador Inge
55db33f26d
instcombine: Add more test cases for __strncpy_chk simplification
...
llvm-svn: 164800
2012-09-27 21:21:31 +00:00
Meador Inge
5e916a5b6f
instcombine: Add more test cases for __strcpy_chk simplification
...
llvm-svn: 164799
2012-09-27 21:21:28 +00:00
Meador Inge
a7ed72c476
instcombine: Add more test cases for __memmove_chk simplification
...
llvm-svn: 164798
2012-09-27 21:21:25 +00:00
Meador Inge
89cd434f53
instcombine: Add more test cases for __memcpy_chk simplification
...
llvm-svn: 164797
2012-09-27 21:21:21 +00:00
Meador Inge
8fb8751a66
instcombine: Add more test cases for __memset_chk simplification
...
llvm-svn: 164796
2012-09-27 21:21:18 +00:00
Jakob Stoklund Olesen
6f2b596e57
Enable the new coalescer algorithm by default.
...
The new coalescer is better at merging values into unused vector lanes,
improving NEON code.
llvm-svn: 164794
2012-09-27 21:06:02 +00:00
Jakob Stoklund Olesen
efc4920548
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.
llvm-svn: 164793
2012-09-27 21:05:59 +00:00
Akira Hatanaka
4282b930ad
MIPS DSP: ABSQ_S.PH instruction sub-class.
...
llvm-svn: 164787
2012-09-27 19:09:21 +00:00
Akira Hatanaka
1b01d7ee93
MIPS DSP: SHLL.QB instruction sub-class.
...
llvm-svn: 164786
2012-09-27 19:05:08 +00:00
Benjamin Kramer
cb89947f87
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).
llvm-svn: 164784
2012-09-27 18:29:58 +00:00
Micah Villmow
66c88768ad
Fix CRLF issues.
...
llvm-svn: 164782
2012-09-27 17:51:02 +00:00
Jakob Stoklund Olesen
ffe0e379b9
Avoid dereferencing a NULL pointer.
...
Fixes PR13943.
llvm-svn: 164778
2012-09-27 16:34:19 +00:00
Micah Villmow
466ac299d9
Patch for HowToBuildOnARM documentation from Wei-Ren Chen.
...
llvm-svn: 164776
2012-09-27 15:05:49 +00:00
Sylvestre Ledru
b77340e506
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
...
llvm-svn: 164768
2012-09-27 10:14:43 +00:00
Sylvestre Ledru
1c5e7904de
Fix a typo 'iff' => 'if'
...
llvm-svn: 164767
2012-09-27 09:59:43 +00:00
Nick Lewycky
9ae46f5c91
Prefer shuffles to selects. Backends love shuffles!
...
llvm-svn: 164763
2012-09-27 08:33:56 +00:00
Bill Wendling
c8cda02cd8
Add constructors to the attribute builder.
...
llvm-svn: 164762
2012-09-27 07:22:30 +00:00
Nick Lewycky
95ec62ccf1
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".
llvm-svn: 164760
2012-09-27 06:33:40 +00:00
Jush Lu
ff46f6b0c6
[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.
llvm-svn: 164759
2012-09-27 05:21:41 +00:00
Akira Hatanaka
573895e81e
Test case for r164755 and 164756.
...
llvm-svn: 164757
2012-09-27 04:12:30 +00:00
Akira Hatanaka
dbe52eccf8
MIPS DSP: rddsp (instruction which reads DSPControl register fields to a GPR).
...
llvm-svn: 164756
2012-09-27 04:08:42 +00:00
Akira Hatanaka
6ad7cd9351
MIPS DSP: CMPU.EQ.QB instruction sub-class.
...
llvm-svn: 164755
2012-09-27 03:58:34 +00:00
Akira Hatanaka
8e6fa1d3a5
MIPS DSP: ADDU.QB instruction sub-class.
...
llvm-svn: 164754
2012-09-27 03:13:59 +00:00
Akira Hatanaka
5a5e58b7ab
MIPS DSP: Branch on Greater Than or Equal To Value 32 in DSPControl Pos Field instruction.
...
llvm-svn: 164751
2012-09-27 02:15:57 +00:00
Akira Hatanaka
b33fd0ad28
MIPS DSP: all the remaining instructions which read or write accumulators.
...
llvm-svn: 164750
2012-09-27 02:11:20 +00:00
Akira Hatanaka
b2ac1bfabe
MIPS DSP: add support for extract-word instructions.
...
llvm-svn: 164749
2012-09-27 02:05:42 +00:00
Akira Hatanaka
74880b0bd8
MIPS DSP: add functions which decode DSP and accumulator registers.
...
llvm-svn: 164748
2012-09-27 02:01:10 +00:00
Akira Hatanaka
d8a832c6e6
MIPS DSP: add code necessary for pseudo instruction lowering.
...
llvm-svn: 164747
2012-09-27 01:59:07 +00:00
Akira Hatanaka
882f4d03f6
MIPS DSP: add bitcast patterns between vectors and int.
...
No test cases. These patterns will get tested along with dsp intrinsics.
llvm-svn: 164746
2012-09-27 01:56:38 +00:00
Akira Hatanaka
804a9036c3
MIPS DSP: add vector load/store patterns.
...
llvm-svn: 164744
2012-09-27 01:50:59 +00:00
Andrew Kaylor
d4fd8dc580
Fix of hang during Intel JIT profiling
...
Committed on behalf of Kirill Uhanov
llvm-svn: 164736
2012-09-26 23:43:56 +00:00
Bill Wendling
8a18a7b5f5
Buildbot Fix.
...
This method can be called with a '0' argument which checks the return
value. However, the method it calls doesn't expect '0' as a valid value. Call the
correct method when it's 0.
llvm-svn: 164735
2012-09-26 23:38:00 +00:00
Nick Lewycky
e74df57cd4
Disable the new SROA pass to get the tree back in working order. We don't yet
...
have testcases for the current problems.
llvm-svn: 164731
2012-09-26 22:43:04 +00:00
Dan Gohman
28f428eb2b
Add IRBuilder code for adding !tbaa.struct metadata tags to llvm.memcpy calls.
...
llvm-svn: 164728
2012-09-26 22:17:14 +00:00
Bill Wendling
511b13f148
Query the parameter attributes directly instead of using the Attribute symbols.
...
llvm-svn: 164727
2012-09-26 22:15:19 +00:00
Bill Wendling
92f3ab845d
Remove the `hasFnAttr' method from Function.
...
The hasFnAttr method has been replaced by querying the Attributes explicitly. No
intended functionality change.
llvm-svn: 164725
2012-09-26 21:48:26 +00:00
Jim Grosbach
22a8871d1f
X86_32: Large Symbol+Offset relocations.
...
If the offset is more than 24-bits, it won't fit in a scattered
relocation offset field, so we fall back to using a non-scattered
relocation.
rdar://12358909
llvm-svn: 164724
2012-09-26 21:27:45 +00:00
Bill Wendling
814c41e2c5
Initial commit for the AttributesImpl class.
...
This opaque class will contain all of the attributes. All attribute queries will
go through this object. This object will also be uniqued in the LLVMContext.
Currently not used, so no implementation change.
llvm-svn: 164722
2012-09-26 21:07:29 +00:00
Akira Hatanaka
0239560105
Add case clauses for returning dsp accumulator encoding values in function
...
getMipsRegisterNumbering.
llvm-svn: 164720
2012-09-26 19:27:24 +00:00
Akira Hatanaka
38d50c9afd
Add DSP accumulator registers and register class. Remove hi/lo registers.
...
llvm-svn: 164719
2012-09-26 19:25:21 +00:00
Akira Hatanaka
91bf56ac6c
Delete member MipsFunctionInfo::OutArgFIRange and code that accesses it.
...
llvm-svn: 164718
2012-09-26 19:18:19 +00:00
Benjamin Kramer
058817c6d4
Add support for detecting some corei7-class Xeons.
...
llvm-svn: 164714
2012-09-26 18:21:47 +00:00
Duncan Sands
c10b8fc428
Now that invoke of an intrinsic is possible (for the llvm.do.nothing intrinsic)
...
teach the callgraph logic to not create callgraph edges to intrinsics for invoke
instructions; it already skips this for call instructions. Fixes PR13903.
llvm-svn: 164707
2012-09-26 17:16:01 +00:00
Benjamin Kramer
e7022be429
YAMLParser: Fix invalid reads when encountering incorrectly quoted scalar.
...
Fixes PR12632.
llvm-svn: 164701
2012-09-26 15:52:15 +00:00