Nick Lewycky
90053a1214
Remove mid-optimizer warning. This situation should be handled differently,
...
such as by a compiler warning, a check in clang -fsanitizer=undefined, being
optimized to unreachable, or a combination of the above. PR14722.
llvm-svn: 171119
2012-12-26 22:00:35 +00:00
Craig Topper
1b8c0750ee
Mark all the _REV instructions as not having side effects. They aren't really emitted by the backend, but it reduces the number of instructions in the output files with unmodelled side effects to make auditing easier.
...
llvm-svn: 171118
2012-12-26 21:30:22 +00:00
Craig Topper
18f2675e9b
Remove a special conditional setting of neverHasSideEffects if the instruction didn't have a pattern. This was leftover from when tablegen used to complain if things were already inferred from patterns.
...
llvm-svn: 171117
2012-12-26 21:04:30 +00:00
Nadav Rotem
0bbf81e311
Update the docs with the new workload that was added.
...
llvm-svn: 171115
2012-12-26 19:45:00 +00:00
Nadav Rotem
3f7c4f36ba
LoopVectorizer: Optimize the vectorization of consecutive memory access when the iteration step is -1
...
llvm-svn: 171114
2012-12-26 19:08:17 +00:00
Eli Bendersky
8d5f8dc485
Fix comment typo
...
llvm-svn: 171113
2012-12-26 18:15:42 +00:00
Alexey Samsonov
d66b12b701
[ASan] Teach ASan to print demangled function name when describing stack frame
...
llvm-svn: 171112
2012-12-26 14:44:46 +00:00
Kostya Serebryany
390cf94f88
[asan] asan_allocator2: do not align the requested size to the redzone size (saves a bit more memory)
...
llvm-svn: 171111
2012-12-26 12:20:35 +00:00
Evgeniy Stepanov
5eb5bf8b46
[msan] Raise alignment of origin stores/loads when possible.
...
Origin alignment is as high as the alignment of the corresponding application
location, but never less than 4.
llvm-svn: 171110
2012-12-26 11:55:09 +00:00
Evgeniy Stepanov
d8be0c510c
[msan] Expand the file comment with track-origins info.
...
llvm-svn: 171109
2012-12-26 10:59:00 +00:00
Benjamin Kramer
d14720dced
Fix quoting in configure. Patch by Krzysztof Parzyszek!
...
llvm-svn: 171108
2012-12-26 10:48:49 +00:00
Kostya Serebryany
35cc75876a
[asan] asan_allocator2: implement adaptive redzones. Now with asan_allocator2 allocations <= 48 bytes have 16 byte redzone, allocations of 48-96 bytes -- have 32 bytes redzone, etc (max redzone is 2048). If ASAN_OPTIONS=redzone=n is set, it changes the minimal redzone size
...
llvm-svn: 171107
2012-12-26 10:41:24 +00:00
Evgeniy Stepanov
fee82c68ae
[msan] MSan, New Year Tree style.
...
llvm-svn: 171106
2012-12-26 10:16:45 +00:00
Evgeniy Stepanov
367dc64563
[msan] Refactor report printing.
...
llvm-svn: 171105
2012-12-26 09:32:05 +00:00
Alexey Samsonov
c914281341
[Sanitizer] attempt to fix InterlockedCompareExchangePointer intrinsic on MSVC
...
llvm-svn: 171104
2012-12-26 09:25:09 +00:00
Craig Topper
24f316e4db
Merge still more SSE/AVX instruction definitions.
...
llvm-svn: 171103
2012-12-26 07:54:43 +00:00
Craig Topper
af629e2700
Merge more SSE/AVX instruction definitions.
...
llvm-svn: 171102
2012-12-26 07:20:35 +00:00
NAKAMURA Takumi
bf99a426cb
TableGen/FixedLenDecoderEmitter.cpp: Fix a potential mask overflow in fieldFromInstruction().
...
Reported by Yang Yongyong, thanks!
llvm-svn: 171101
2012-12-26 06:43:14 +00:00
Evgeniy Stepanov
794a73124b
[msan] Check for conflicting memory mappings.
...
Check for conflicting memory mappings before attempting to map shadow.
Helps avoid segfault on Linux with disabled ASLR.
llvm-svn: 171100
2012-12-26 06:37:23 +00:00
Kostya Serebryany
a11cd57a78
[asan] asan_allocator2: by default use the StackDepot to store the stack traces instead of storing them in the redzones
...
llvm-svn: 171099
2012-12-26 06:30:02 +00:00
Nadav Rotem
a1d2436b5f
revert an accidental commit.
...
llvm-svn: 171098
2012-12-26 06:16:03 +00:00
Craig Topper
65fe30450d
Fix 80 column violation.
...
llvm-svn: 171097
2012-12-26 06:15:53 +00:00
Craig Topper
f4d0fe8fcd
Fix class name in comment.
...
llvm-svn: 171096
2012-12-26 06:15:09 +00:00
Craig Topper
59747c4dbd
Merge SSE/AVX PCMPEQ/PCMPGT instruction definitions.
...
llvm-svn: 171095
2012-12-26 06:14:15 +00:00
Nadav Rotem
7375d35711
Doc: add fmuladd to the list of vectorizeable functions. Thanks hfinkel.
...
llvm-svn: 171094
2012-12-26 06:03:35 +00:00
Craig Topper
8a48677586
Remove 'v' from mnemonic to fix asm matching failures.
...
llvm-svn: 171093
2012-12-26 06:02:15 +00:00
Craig Topper
b4ef0fa3a1
Use an additional multiclass to merge the 128/256-bit SSE/AVX instruction definitions for a bunch of SSE2 integer arithmetic instructions.
...
llvm-svn: 171092
2012-12-26 05:49:15 +00:00
Nadav Rotem
5267bb71b8
Reformat the docs.
...
llvm-svn: 171091
2012-12-26 04:59:20 +00:00
Nadav Rotem
0e1d662d56
white space
...
llvm-svn: 171090
2012-12-26 04:58:12 +00:00
Kostya Serebryany
27ad15e165
[asan] asan_allocator2: store the user requested size in just 32 bits (larger sizes use metadata). This allows to put one more 32-bit field into the chunk header
...
llvm-svn: 171089
2012-12-26 04:52:07 +00:00
Rafael Espindola
1779760cb4
Fix a regression from the previous commit.
...
Template instantiation can set the canonical decl to used after subsequent
decls have been chained, so we have to check that too.
llvm-svn: 171088
2012-12-26 04:38:44 +00:00
Craig Topper
a2594dd5f0
Use an additional multiclass to merge the 128/256-bit SSE/AVX instruction definitions for PAND/POR/PXOR/PANDN
...
llvm-svn: 171087
2012-12-26 04:36:03 +00:00
Craig Topper
97730a0d6a
Merge an AVX/SSE 256-bit and 128-bit multiclass.
...
llvm-svn: 171086
2012-12-26 03:56:47 +00:00
Craig Topper
8b59746390
Mark VANDNPD/VANDNPDS as not commutable.
...
llvm-svn: 171085
2012-12-26 03:48:10 +00:00
NAKAMURA Takumi
40aa3285f4
llvm/test/CodeGen/X86: FileCheck-ize two tests in r171083.
...
llvm-svn: 171084
2012-12-26 03:19:30 +00:00
NAKAMURA Takumi
334f685328
llvm/test/CodeGen/X86: Disable avx in two tests corresponding to r171082.
...
llvm-svn: 171083
2012-12-26 03:08:55 +00:00
Craig Topper
81d1e596bb
Remove alignment from a bunch more VEX encoded operations in the folding tables.
...
llvm-svn: 171082
2012-12-26 02:44:47 +00:00
Craig Topper
b2922164f0
Remove alignment from folding table for VMOVUPD as an unaligned instruction it shouldn't require alignment...
...
llvm-svn: 171081
2012-12-26 02:14:19 +00:00
Craig Topper
d09a9af9b6
Remove alignment requirements from (V)EXTRACTPS. This instruction does 32-bit stores which aren't required to be aligned on SSE or AVX.
...
llvm-svn: 171080
2012-12-26 01:47:12 +00:00
Hal Finkel
30e95a8ebb
BBVectorize: Use VTTI to compute costs for intrinsics vectorization
...
For the time being this includes only some dummy test cases. Once the
generic implementation of the intrinsics cost function does something other
than assuming scalarization in all cases, or some target specializes the
interface, some real test cases can be added.
Also, for consistency, I changed the type of IID from unsigned to Intrinsic::ID
in a few other places.
llvm-svn: 171079
2012-12-26 01:36:57 +00:00
Craig Topper
caef1c5d86
Remove alignment requirement from VCVTSS2SD in folding tables. Reverting r171049. This instruction doesn't require alignment.
...
llvm-svn: 171078
2012-12-26 00:35:47 +00:00
Rafael Espindola
dfa5f9b511
Use the most recent redecl to decide if it is needed.
...
This fixes pr14691, which I think is a regression from r168519.
llvm-svn: 171077
2012-12-26 00:13:29 +00:00
Hal Finkel
b44f890133
LoopVectorize: Enable vectorization of the fmuladd intrinsic
...
llvm-svn: 171076
2012-12-25 23:21:29 +00:00
Hal Finkel
2a456112ec
BBVectorize: Enable vectorization of the fmuladd intrinsic
...
llvm-svn: 171075
2012-12-25 22:36:08 +00:00
Richard Smith
940a6d73ce
Produce an actual error before attempting to attach notes to it when bailing out
...
due to FORCE_CLANG_DIAGNOSTICS_CRASH=1. Also add a test for that env var.
llvm-svn: 171074
2012-12-25 21:56:27 +00:00
Hal Finkel
2ebe6d08cd
Loosen scheduling restrictions on the PPC dcbt intrinsic
...
As with the prefetch intrinsic to which it maps, simply have dcbt
marked as reading from and writing to its arguments instead of having
unmodeled side effects. While this might cause unwanted code motion
(because aliasing checks don't really capture cache-line sharing),
it is more important that prefetches in unrolled loops don't block
the scheduler from rearranging the unrolled loop body.
llvm-svn: 171073
2012-12-25 18:51:18 +00:00
Hal Finkel
1b5ff08d43
Expand PPC64 atomic load and store
...
Use of store or load with the atomic specifier on 64-bit types would
cause instruction-selection failures. As with the 32-bit case, these
can use the default expansion in terms of cmp-and-swap.
llvm-svn: 171072
2012-12-25 17:22:53 +00:00
Evgeniy Stepanov
84f46d9993
[msan] Improve recvfrom interceptor.
...
llvm-svn: 171071
2012-12-25 16:51:57 +00:00
Evgeniy Stepanov
f19c086d1e
[msan] Fix handling of vectors of pointers.
...
VectorType::getInteger() can not be used with them, because pointer size
depends on the target.
llvm-svn: 171070
2012-12-25 16:04:38 +00:00
Evgeniy Stepanov
ec8371283b
[msan] Fix handling of select with vector condition.
...
llvm-svn: 171069
2012-12-25 14:56:21 +00:00