summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [SelectionDAG] Teach computeKnownBits some improvements to ISD::SRL with a ↵Craig Topper2017-12-042-6/+25
| | | | | | | | | non-splat constant shift amount. If we have a non-splat constant shift amount, the minimum shift amount can be used to infer the number of zero upper bits of the result. There's probably a lot more that we can do here, but this fixes a case where I wanted to infer the sign bit as zero when all the shift amounts are non-zero. llvm-svn: 319639
* [analyzer] Don't treat lambda-captures float constexprs as undefinedDevin Coughlin2017-12-042-2/+19
| | | | | | | | | | | | | | RegionStore has special logic to evaluate captured constexpr variables. However, if the constexpr initializer cannot be evaluated as an integer, the value is treated as undefined. This leads to false positives when, for example, a constexpr float is captured by a lambda. To fix this, treat a constexpr capture that cannot be evaluated as unknown rather than undefined. rdar://problem/35784662 llvm-svn: 319638
* [X86][AVX512] Tag PH2PS/PS2PH conversion instructions scheduler classesSimon Pilgrim2017-12-031-25/+41
| | | | llvm-svn: 319637
* [X86][AVX512] Tag packed F2I/I2F/F2F conversion instructions scheduler classSimon Pilgrim2017-12-033-219/+249
| | | | llvm-svn: 319636
* [X86][AVX512] Regenerate schedule tests.Simon Pilgrim2017-12-031-10/+10
| | | | llvm-svn: 319635
* [X86][SSE] Remove unused IIC_SSE_CVT_PI2PS_RR/IIC_SSE_CVT_PI2PS_RM itinerariesSimon Pilgrim2017-12-031-2/+0
| | | | llvm-svn: 319634
* [ASTImporter] Add unit tests for UsingDecl and UsingShadowDeclAleksei Sidorin2017-12-031-0/+41
| | | | | | | | Patch by Kareem Khazem! Differential Revision: https://reviews.llvm.org/D27181 llvm-svn: 319632
* Corrected a typo in the building libc++ docsHamza Sood2017-12-031-1/+1
| | | | llvm-svn: 319631
* CodeGen: Fix SelectionDAGISel::LowerArguments for sret addr spaceYaxun Liu2017-12-032-15/+21
| | | | | | | | | | | SelectionDAGISel::LowerArguments assumes sret addr space is 0, which is not true for amdgcn---amdgiz target. This patch fixes that. Differential Revision: https://reviews.llvm.org/D40255 llvm-svn: 319630
* Revert "[CodeGen] Add initial support for union members in TBAA"Hal Finkel2017-12-036-175/+38
| | | | | | | | This reverts commit r319413. See PR35503. We can't use "union member" as the access type here like this. llvm-svn: 319629
* [SelectionDAG] Use the inlined APInt shift methods since we've already ↵Craig Topper2017-12-031-8/+11
| | | | | | | | bounds checked the shift. The version that takes APInt is out of line. The 'unsigned' version optimizes for the common case of single word APInts. llvm-svn: 319628
* Reland "[WebAssembly] Add support for visibility flag""Sam Clegg2017-12-0314-47/+105
| | | | | | | | Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish Differential Revision: https://reviews.llvm.org/D40773 llvm-svn: 319627
* Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""Sam Clegg2017-12-037-11/+56
| | | | | | | | | | Original change was rL319488. This was reverted rL319602 due to a gcc 7.1 warning. Differential Revision: https://reviews.llvm.org/D40772 llvm-svn: 319626
* Fix typo in emitted attribute nameMatt Arsenault2017-12-031-1/+1
| | | | | | | Fixes build when using this attribute combination on an intrinsic. llvm-svn: 319625
* [ValueTracking] Pass only a single lambda to ↵Craig Topper2017-12-021-37/+29
| | | | | | computeKnownBitsFromShiftOperator by using KnownBits struct instead of separate APInts. NFCI llvm-svn: 319624
* [WebAssembly] Pass through --undefined to Wasm LLDSam Clegg2017-12-021-0/+1
| | | | | | | | | | | This is a follow-on to D40724 (Wasm entrypoint changes #1, add `--undefined` argument to LLD). Patch by Nicholas Wilson Differential Revision: https://reviews.llvm.org/D40739 llvm-svn: 319623
* CodeGen: Fix pointer info in ↵Yaxun Liu2017-12-0215-72/+88
| | | | | | | | | | | | | | | | | | | | | SplitVecOp_EXTRACT_VECTOR_ELT/SplitVecRes_INSERT_VECTOR_ELT Two issues found when doing codegen for splitting vector with non-zero alloca addr space: DAGTypeLegalizer::SplitVecRes_INSERT_VECTOR_ELT/SplitVecOp_EXTRACT_VECTOR_ELT uses dummy pointer info for creating SDStore. Since one pointer operand contains multiply and add, InferPointerInfo is unable to infer the correct pointer info, which ends up with a dummy pointer info for the target to lower store and results in isel failure. The fix is to introduce MachinePointerInfo::getUnknownStack to represent MachinePointerInfo which is known in alloca address space but without other information. TargetLowering::getVectorElementPointer uses value type of pointer in addr space 0 for multiplication of index and then add it to the pointer. However the pointer may be in an addr space which has different size than addr space 0. The fix is to use the pointer value type for index multiplication. Differential Revision: https://reviews.llvm.org/D39758 llvm-svn: 319622
* Fix assume-filename handling in clang-format.elPhilipp Stephani2017-12-021-16/+29
| | | | | | | | | | | | | | | | | | | | | Summary: When 'buffer-file-name' is nil 'call-process-region' returned a segmentation fault error. This was a problem when using clang-format-buffer on an orgmode source code editing buffer. I fixed this problem by excluding the '-assume-filename' argument when 'buffer-file-name' is nil. To make it a bit more flexible I also added an optional argument, 'assume-file-name', to specify an assume-filename that overrides 'buffer-file-name'. Reviewers: klimek, djasper, phst, phi Reviewed By: phst, phi Subscribers: phi, jholewinski, mgorny, javed.absar, eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D37903 llvm-svn: 319621
* [cmake] Re-commit: Remove redundant call to cmake when building host tools.Don Hinton2017-12-021-28/+15
| | | | | | | | | | | | | | | | | Also pass CMAKE_(C|CXX)_COMPILER to add_custom_command. Summary: Remove the redundant, config-time call to cmake when building host tools for cross compiles or optimized tablegen.. The config-time call to cmake is redundant because it will always get called again when the CONFIGURE_LLVM_${target_name} target fires at build-time. This speeds up initial configuration, but has no affect on build behavior. Differential Revision: https://reviews.llvm.org/D40229 llvm-svn: 319620
* [CodeGen] fix mapping from fmod calls to frem instructionSanjay Patel2017-12-023-32/+38
| | | | | | Similar to D40044 and discussed in D40594. llvm-svn: 319619
* [CodeGen] remove stale comment; NFCSanjay Patel2017-12-021-1/+1
| | | | | | | The libm functions with LLVM intrinsic twins were moved above this blob with: https://reviews.llvm.org/rL319593 llvm-svn: 319618
* [llvm-readobj] Remove redundant local variables to reduce the code. NFCSimon Atanasyan2017-12-021-9/+5
| | | | llvm-svn: 319617
* [llvm-readobj] Print static MIPS GOTSimon Atanasyan2017-12-023-31/+93
| | | | | | | | | | If a linked binary file contains a dynamic section, the GOT layout defined by the dynamic section entries. In a statically linked file the GOT is just a series of entries. This change teaches `llvm-readobj` to print the GOT in that case. That provides a feature parity with GNU `readelf`. llvm-svn: 319616
* [llvm-readobj] Delete unused method argument. NFCSimon Atanasyan2017-12-021-8/+9
| | | | llvm-svn: 319615
* [X86][SSE] Cleanup float/int conversion scheduler itinerary classesSimon Pilgrim2017-12-021-41/+79
| | | | | | Makes it easier to grok where each is supposed to be used, mainly useful for adding to the AVX512 instructions but hopefully can be used more in SSE/AVX as well. llvm-svn: 319614
* [X86] Fix copy paste mistake in test case for r319612.Craig Topper2017-12-021-1/+1
| | | | llvm-svn: 319613
* [X86] Teach the assembler to support %db8-%db15 as aliases for %dr8-%dr15.Craig Topper2017-12-022-13/+28
| | | | llvm-svn: 319612
* [X86] Support %dr8-%dr15 in the assembler.Craig Topper2017-12-022-1/+4
| | | | | | Apparently I failed to make this work when I fixed it in the disassembler way back in r224862. llvm-svn: 319611
* CMAKE: help CheckAtomic find check_library_existsMartell Malone2017-12-021-0/+1
| | | | | | | | | | | | | | | | | lldb fails to build standalone on x86 -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed CMake Error at CheckAtomic.cmake:66 (check_library_exists): Unknown CMake command "check_library_exists". Call Stack (most recent call first): LLDBStandalone.cmake:90 (include) CMakeLists.txt:3 (include) Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D40220 llvm-svn: 319610
* [ARC] Add instruction subset for the ARC backend.Tatyana Krasnukha2017-12-027-159/+1384
| | | | | | | | | | | | Reviewers: petecoup, kparzysz Reviewed By: petecoup Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37983 llvm-svn: 319609
* [clangd] Avoid enum in bitfields, can't satisfy old GCC and new MSVCSam McCall2017-12-021-1/+5
| | | | llvm-svn: 319608
* [DAG][AArch64] Disable post-legalization storeNirav Dave2017-12-026-23/+29
| | | | | | | Disable post-legalization store for AArch64 backend which is causing errors out-of-tree. llvm-svn: 319607
* [clangd] Fix FuzzyMatch tests on windows, NFCSam McCall2017-12-022-5/+5
| | | | | | | | Without specifying the signedness of the underlying type for Action, packing it in a 1-bit field may restrict its range to [-1, 0] which can't represent Match. llvm-svn: 319606
* PR35456: Track definedness of variable template specializations separately fromRichard Smith2017-12-028-12/+35
| | | | | | | | | | whether they have an initializer. We cannot distinguish between a declaration of a variable template specialization and a definition of one that lacks an initializer without this, and would previously mistake the latter for the former. llvm-svn: 319605
* [clangd] Try to appease gcc constexpr bug (58541)Sam McCall2017-12-021-2/+2
| | | | llvm-svn: 319604
* [WebAssembly] Revert r319592 "Add support for visibility flag"Heejin Ahn2017-12-0214-105/+47
| | | | | | | | | r319488 reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror), and this patch depends on that patch. See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werror/builds/3369 for details. llvm-svn: 319603
* [WebAssembly] Revert r319488 "Add visibility flag to Wasm symbol flags"Heejin Ahn2017-12-027-52/+4
| | | | | | | | | This patch reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror). See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werror/builds/3369 for details. llvm-svn: 319602
* Move comment back to being next to the code it's a comment for.Richard Smith2017-12-021-3/+3
| | | | llvm-svn: 319601
* Cache modulo values for the .gnu.hash section.Rui Ueyama2017-12-022-11/+13
| | | | | | | | | | This change actually makes the linker slightly faster. My observation is that, with this patch, link time of clang without debug is about 1% faster. Differential Revision: https://reviews.llvm.org/D40697 llvm-svn: 319600
* Add a symbols subcommand to lldb-test.Zachary Turner2017-12-022-1/+36
| | | | | | Differential Revision: https://reviews.llvm.org/D40745 llvm-svn: 319599
* Don't use llvm::EnablePrettyStackTrace on macOS.Jim Ingham2017-12-021-0/+2
| | | | | | | | | | | | | | | | | LLDB.framework gets loaded into Xcode and other frameworks, and this is inserting a signal handler into the process even when lldb isn't used. I have a bunch of reports of this SignalHandler blowing out the stack, which renders crash reports for the crash useless. And in any case libraries really shouldn't be installing signal handlers. I only turned this off for APPLE platforms, I'll let the maintainers of other platforms decide what policy they want to have w.r.t. this. llvm-svn: 319598
* Fix warning in DynamicLoaderDarwinKernel.cpp, NFCVedant Kumar2017-12-011-1/+1
| | | | llvm-svn: 319597
* Fix warnings in JSON.cpp, NFCVedant Kumar2017-12-011-3/+0
| | | | | | These asserts are no-ops, and are supplanted by -Wcovered-switch. llvm-svn: 319596
* Fix warnings in DNBDataRef.cpp, NFCVedant Kumar2017-12-011-6/+6
| | | | llvm-svn: 319595
* [AST] Try to fix build bot with modules broken r319589. However real fix may ↵Eugene Zelenko2017-12-011-0/+1
| | | | | | belong to other place. llvm-svn: 319594
* [CodeGen] convert math libcalls/builtins to equivalent LLVM intrinsicsSanjay Patel2017-12-016-215/+294
| | | | | | | | | | | | | | | | There are 20 LLVM math intrinsics that correspond to mathlib calls according to the LangRef: http://llvm.org/docs/LangRef.html#standard-c-library-intrinsics We were only converting 3 mathlib calls (sqrt, fma, pow) and 12 builtin calls (ceil, copysign, fabs, floor, fma, fmax, fmin, nearbyint, pow, rint, round, trunc) to their intrinsic-equivalents. This patch pulls the transforms together and handles all 20 cases. The switch is guarded by a check for const-ness to make sure we're not doing the transform if errno could possibly be set by the libcall or builtin. Differential Revision: https://reviews.llvm.org/D40044 llvm-svn: 319593
* [WebAssembly] Add support for visibility flagSam Clegg2017-12-0114-47/+105
| | | | | | | | Patch by Nicholas Wilson Differential Revision: https://reviews.llvm.org/D40690 llvm-svn: 319592
* Revert "[X86] Improvement in CodeGen instruction selection for LEAs."Matt Morehouse2017-12-0118-692/+163
| | | | | | This reverts r319543, due to ASan bot breakage. llvm-svn: 319591
* [libFuzzer] add a flag -malloc_limit_mbKostya Serebryany2017-12-016-2/+15
| | | | llvm-svn: 319590
* [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other ↵Eugene Zelenko2017-12-016-155/+260
| | | | | | minor fixes (NFC). llvm-svn: 319589
OpenPOWER on IntegriCloud