Alex Lorenz
d900714299
[Sema] Formatting warnings should see through Objective-C message sends
...
This commit improves the '-Wformat' warnings by ensuring that the formatting
checker can see through Objective-C message sends when we are calling an
Objective-C method with an appropriate format_arg attribute.
rdar://23622446
Differential Revision: https://reviews.llvm.org/D25820
llvm-svn: 284961
2016-10-24 09:42:34 +00:00
Artem Dergachev
bba497fb65
[analyzer] Add StdLibraryFunctions checker.
...
This checker does not emit reports, however it influences the analysis
by providing complete summaries for, or otherwise improving modeling of,
various standard library functions.
This should reduce the number of infeasible paths explored during analysis.
The custom function summary format used in this checker is superior to
body farms by causing less unnecessary state splits,
which would result in better analysis performance.
Differential Revision: https://reviews.llvm.org/D20811
llvm-svn: 284960
2016-10-24 09:41:38 +00:00
Alex Lorenz
cb642b9136
[Sema][TreeTransform] Re-create DesignatedInitExpr when a field designator
...
has no field declaration.
This commit fixes an invalid Winitializer-overrides warning that's shown
when analyzing a second (or any after the first) instantiation of a designated
initializer. This invalid warning is fixed by making sure that a
DesignatedInitExpr is rebuilt by the tree transformer when it has a field
designator whose FieldDecl* hasn't been yet initialized. This ensures that a
different DesignatedInitExpr is processed by Sema for every instantiation, and
thus the invalid warning is avoided.
rdar://28768441
Differential Revision: https://reviews.llvm.org/D25777
llvm-svn: 284959
2016-10-24 09:33:32 +00:00
Jonas Hahnfeld
9fe1b80164
Fix myriad test with CLANG_DEFAULT_CXX_STDLIB
...
llvm-svn: 284958
2016-10-24 08:04:17 +00:00
Hal Finkel
fd448408e3
[llvm-opt-report] Fix unroll-count reporting
...
Fix the implementation of OptReportLocationInfo's operator < so that contexts
with different unroll counts are reported separately.
llvm-svn: 284957
2016-10-24 05:07:18 +00:00
Craig Topper
531ce28311
[AVX-512] Replace 64-bit element and 512-bit vector pmin/pmax builtins with native IR like we do for 128/256-bit, but with the addition of masking.
...
llvm-svn: 284956
2016-10-24 04:04:24 +00:00
Craig Topper
8ec5c7326d
[AVX-512] Remove masked pmin/pmax intrinsics and autoupgrade to native IR.
...
Clang patch to replace 512-bit vector and 64-bit element versions with native IR will follow.
llvm-svn: 284955
2016-10-24 04:04:16 +00:00
Craig Topper
eee7c0520c
[AVX-512] Replace masked 128/256-bit byte, word, and dword min/max builtins with selects and the older unmasked builtins.
...
llvm-svn: 284954
2016-10-23 23:57:30 +00:00
Sanjay Patel
9ca028c2d6
[DAG] enhance computeKnownBits to handle SRL/SRA with vector splat constant
...
llvm-svn: 284953
2016-10-23 23:13:31 +00:00
Eric Fiselier
d11fdad33e
Backout enabling -Wshadow until I have time to fix the breakage
...
llvm-svn: 284952
2016-10-23 22:24:11 +00:00
Petr Hosek
93d28f3507
[libunwind] Add support for Fuchsia
...
Fuchsia is a new operating system which uses libunwind as unwinder.
Differential Revision: https://reviews.llvm.org/D25899
llvm-svn: 284951
2016-10-23 21:48:47 +00:00
Petr Hosek
642b5b27fe
[libcxx] Use C++14 when building libc++ with musl
...
musl's pthread implementations use volatile types in their structs
which is not being constexpr in C++11 but is in C++14.
Differential Revision: https://reviews.llvm.org/D25491
llvm-svn: 284950
2016-10-23 21:48:27 +00:00
Simon Pilgrim
d06641d3dc
Use SDValue::getConstantOperandVal() helper. NFCI.
...
llvm-svn: 284949
2016-10-23 20:17:21 +00:00
Justin Lebar
a45e6fde58
Remove LLVM_CONSTEXPR.
...
Summary: With MSVC 2013 and GCC < 4.8 gone, we can use the "constexpr" keyword.
Reviewers: bkramer, mehdi_amini
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25901
llvm-svn: 284947
2016-10-23 19:39:16 +00:00
Eric Fiselier
878e7e2ff6
Fix breakage introduced by adding -Wshadow.
...
llvm-svn: 284946
2016-10-23 19:26:39 +00:00
Eric Fiselier
81a09f2c9e
Fix libc++ specific assertion in permissions(...) tests
...
llvm-svn: 284945
2016-10-23 19:14:58 +00:00
Eric Fiselier
b51325cefe
Turn on -Wshadow so I find occurances before STL does
...
llvm-svn: 284944
2016-10-23 19:01:10 +00:00
Eric Fiselier
1e96d5380e
Make make_from_tuple tests more portable. Patch from STL@microsoft.com
...
llvm-svn: 284943
2016-10-23 18:55:51 +00:00
Eric Fiselier
eca753ad92
Fix unreferenced parameters. Patch from STL@microsoft.com
...
llvm-svn: 284942
2016-10-23 18:52:58 +00:00
Eric Fiselier
d06ee7706c
Fix shadowing warning. Patch from STL@microsoft.com
...
llvm-svn: 284941
2016-10-23 18:47:58 +00:00
Simon Pilgrim
d09c04d267
[CostModel][X86] Added tests for current integer signed/unsigned remainder costs
...
llvm-svn: 284940
2016-10-23 18:35:02 +00:00
Simon Pilgrim
6ac1e98b09
[X86][SSE] Add SSE41/AVX1 costs for vector shifts.
...
We were defaulting to SSE2 costs which weren't taking into account the availability of PBLENDW/PBLENDVB to improve merging of per-element shift results.
llvm-svn: 284939
2016-10-23 16:49:04 +00:00
Simon Pilgrim
e16b1e2271
[CostModel][X86] Added tests for current integer trunc costs
...
llvm-svn: 284938
2016-10-23 15:17:52 +00:00
Simon Pilgrim
96ef0c1103
Use APInt::isAllOnesValue instead of popcnt. NFCI.
...
More obvious implementation and faster too.
llvm-svn: 284937
2016-10-23 15:09:44 +00:00
Craig Topper
0c5da26572
[AVX-512] Replace 512-bit pmovzx/sx builtins with native IR.
...
llvm-svn: 284936
2016-10-23 07:35:47 +00:00
Craig Topper
4ef879ac2c
[AVX-512] Remove masked 128/256-bit packss/packus builtins and replace with selects and the older unmasked builtins.
...
llvm-svn: 284935
2016-10-23 07:35:39 +00:00
Ekaterina Romanova
06477bf035
Add more doxygen comments to emmintrin.h's intrinsics.
...
With this patch, all intrinsics in this file (with an exception of a handful of a recently added ones) will be documented. I will send out a patch for 4 missining intrisics later.
The doxygen comments are automatically generated based on Sony's intrinsics document.
I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream. This patch was internally reviewed by Yunzhong Gao.
llvm-svn: 284934
2016-10-23 07:30:50 +00:00
Richard Smith
c7f576fc91
Fix mangling numbers for varargs lambdas; varargs and non-varargs lambdas get
...
different lambda-sigs, so they should have different counters.
llvm-svn: 284933
2016-10-23 04:53:03 +00:00
Mandeep Singh Grang
249237cb2e
[compiler-rt] Remove redundant --check-prefix=CHECK from test
...
Reviewers: eugenis, rengolin
Subscribers: dberris
Differential Revision: https://reviews.llvm.org/D25892
llvm-svn: 284932
2016-10-23 00:55:12 +00:00
Mandeep Singh Grang
66215e97e3
[clang] Limit clang test to ARM and AArch64 only
...
Summary: Limit clang/test/Frontend/gnu-mcount.c to ARM and AArch64 only.
Reviewers: abdulras, honggyu.kim, rengolin
Subscribers: aemerson, rengolin, cfe-commits
Tags: #clang-c
Differential Revision: https://reviews.llvm.org/D25842
llvm-svn: 284931
2016-10-23 00:53:03 +00:00
Dylan McKay
479a13c0aa
[AVR] Add the machine code disassembler
...
This adds a super basic implementation of a machine code disassembler.
It doesn't support any operands with custom encoding.
llvm-svn: 284930
2016-10-22 23:57:59 +00:00
Craig Topper
4d63dfc286
[AVX-512] Replace masked 128/256-bit pavg builtins and replace with select and older unmasked builtins.
...
llvm-svn: 284929
2016-10-22 21:24:56 +00:00
Craig Topper
622c63614d
[AVX-512] Replace masked 128/256-bit saturating add/sub builtins with select and older unmasked builtins.
...
llvm-svn: 284928
2016-10-22 21:24:52 +00:00
Craig Topper
11dda92405
[AVX-512] Replace masked 128/256-bit vpmovzx/vpmovsx builtins with native IR.
...
llvm-svn: 284927
2016-10-22 21:24:48 +00:00
Craig Topper
f742445eb4
[AVX-512] Remove duplicate test cases from the avx512vlbw intrinsic test. These tests already exist in the avx512vl test and represent avx512vl instructions.
...
llvm-svn: 284926
2016-10-22 21:24:44 +00:00
Craig Topper
eb1c0afa90
[AVX-512] Remove masked 128/256-bit pshufb builtins. Replace with a select and the older unmaksed builtins.
...
llvm-svn: 284925
2016-10-22 21:24:42 +00:00
Craig Topper
78a9c40326
[AVX-512] Remove builtins for 128/256-bit pabsb/pabsw. We can use a select and the older non-masked versions instead.
...
llvm-svn: 284924
2016-10-22 21:24:38 +00:00
Craig Topper
c2c7e42bfe
[AVX-512] Add typecasts to alignr intrinsics that were modified in r284920.
...
llvm-svn: 284923
2016-10-22 21:24:34 +00:00
Simon Pilgrim
d3829c89bc
[X86][AVX512VL] Added support for combining target 256-bit shuffles to AVX512VL VPERMV3
...
llvm-svn: 284922
2016-10-22 20:15:39 +00:00
Simon Pilgrim
56c0524f0f
[X86][AVX512] Added support for combining target shuffles to AVX512 VPERMV3
...
llvm-svn: 284921
2016-10-22 19:53:59 +00:00
Craig Topper
f6373bc6fd
[AVX-512] Remove masked 128/256-bit palignr builtins. We can just use a select in the header file with the older unmasked versions instead.
...
llvm-svn: 284920
2016-10-22 18:32:33 +00:00
Brian Gesiak
ae8c2517b4
[lit] Add more testing instructions to README
...
Summary:
r283710 introduced two regressions, one to llvm-lit, and the other to
lit executables that were installed via setuptools. Add instructions on
how to test for these regressions in the future.
Reviewers: ddunbar, delcypher, beanz, chapuni, cmatthews, echristo
Subscribers: llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D25459
llvm-svn: 284919
2016-10-22 17:27:31 +00:00
James Molloy
2bae8640d7
[ARM] Fix crash in ConstantIslands
...
tPCRelJT may not be the first instruction in a block. Check that instead of dereferencing a broken iterator.
llvm-svn: 284917
2016-10-22 09:58:37 +00:00
Zvi Rackover
8eb99d88d4
[X86] Apply the Update LLC Test Checks tool on the mmx-bitcast test
...
llvm-svn: 284916
2016-10-22 07:15:00 +00:00
Craig Topper
b084c90a18
[X86] Add support for printing shuffle comments for VALIGN instructions.
...
llvm-svn: 284915
2016-10-22 06:51:56 +00:00
Craig Topper
7b2b8db438
[X86] Add support for lowering v4i64 and v8i64 shuffles directly to PALIGNR. I think shuffle combine can figure it out later, but we should try to get it right up front.
...
llvm-svn: 284914
2016-10-22 06:51:52 +00:00
Craig Topper
9f374533e3
[X86] Remove unnecessary AVX2 check that was already covered by an assertion earlier in the function. NFC
...
llvm-svn: 284913
2016-10-22 06:51:49 +00:00
Craig Topper
bea5cb5491
[X86] Remove 128-bit lane handling from the main loop of matchVectorShuffleAsByteRotate. Instead check for is128LaneRepeatedSuffleMask before the loop and just loop over the repeated mask.
...
I plan to use the loop to support VALIGND/Q shuffles so this makes it easier to reuse.
llvm-svn: 284912
2016-10-22 06:51:44 +00:00
Simon Pilgrim
0d376bcbf0
[X86][SSE] Use getConstVector helper for VPERMV mask generation. NFCI.
...
llvm-svn: 284911
2016-10-22 06:18:36 +00:00
Daniel Berlin
f5361139bb
Now that VS2013 is gone, make a memoryssa structure an anonymous union again
...
llvm-svn: 284910
2016-10-22 04:15:41 +00:00