summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixing buildbot error introduced with r332759.Wolfgang Pieb2018-05-181-1/+1
| | | | llvm-svn: 332772
* AMDGPU: Add pass to optimize reqd_work_group_sizeMatt Arsenault2018-05-185-0/+781
| | | | | | | | | | | Eliminate loads from the dispatch packet when they will have a known value. Also pattern match the code used by the library to handle partial workgroup dispatches, which isn't necessary if reqd_work_group_size is used. llvm-svn: 332771
* [InstCombine] Qualify a select pattern based transform to restrct to only ↵Craig Topper2018-05-181-1/+1
| | | | | | min/max and ignore abs/nabs. llvm-svn: 332770
* [WebAssembly] Object: Add more error checking for object file readingSam Clegg2018-05-181-3/+9
| | | | | | | | | | This should address some the assert failures the fuzzer has been finding such as: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6719 Differential Revision: https://reviews.llvm.org/D47046 llvm-svn: 332769
* Implement deduction guides for <array>; Reviewed as ↵Marshall Clow2018-05-183-1/+102
| | | | | | https://reviews.llvm.org/D46964 llvm-svn: 332768
* private_typeinfo: limit is_dst_type_derived_from_static_type optimizationEric Fiselier2018-05-182-32/+84
| | | | | | | | | | | | | | | | Patch by Ryan Prichard If the destination type does not derive from the static type, we can skip the search_above_dst call, but we still need to run the !does_dst_type_point_to_our_static_type block of code. That block of code will increment info->number_to_dst_ptr to 2, and because dest isn't derived from static, the cast will ultimately fail. Fixes PR33439 Reviewed as https://reviews.llvm.org/D36447 llvm-svn: 332767
* Addressing a couple of compiler warnings introduced with r332759.Wolfgang Pieb2018-05-181-2/+2
| | | | llvm-svn: 332766
* private_typeinfo: propagate static flags in vmi search_above_dst methodEric Fiselier2018-05-181-0/+103
| | | | | | | | | | | | | | | This adds the test which was mistakenly not committed in r332763. Patch by Ryan Prichard Propagate the found_our_static_ptr and found_any_static_type flags from __vmi_class_type_info::search_above_dst to its caller. Fixes PR33425 and PR33487 Reviewed as https://reviews.llvm.org/D36446 llvm-svn: 332764
* private_typeinfo: propagate static flags in vmi search_above_dst methodEric Fiselier2018-05-181-0/+4
| | | | | | | | | | | | | Patch by Ryan Prichard Propagate the found_our_static_ptr and found_any_static_type flags from __vmi_class_type_info::search_above_dst to its caller. Fixes PR33425 and PR33487 Reviewed as https://reviews.llvm.org/D36446 llvm-svn: 332763
* Fixing build error introduced with r332759.Wolfgang Pieb2018-05-181-1/+1
| | | | llvm-svn: 332762
* [msan] Don't check divisor shadow in fdiv.Evgeniy Stepanov2018-05-184-8/+42
| | | | | | | | | | | | | | | | Summary: Floating point division by zero or even undef does not have undefined behavior and may occur due to optimizations. Fixes https://bugs.llvm.org/show_bug.cgi?id=37523. Reviewers: kcc Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D47085 llvm-svn: 332761
* Revert r332470 (and corresponding tests in r332492).Richard Smith2018-05-1815-768/+57
| | | | | | | This regressed our support for __attribute__((section)). See added test file for example of code broken by this. llvm-svn: 332760
* [DWARF v5] Improved support for .debug_rnglists (consumer). Enables any ↵Wolfgang Pieb2018-05-189-30/+459
| | | | | | | | | | | | consumer to extract DWARF v5 encoded rangelists. Reviewer: JDevlieghere Differential Revision: https://reviews.llvm.org/D45549 llvm-svn: 332759
* [NFC] Change cast from r332739 to a static castJessica Paquette2018-05-181-1/+2
| | | | | | | | | The casts in the delta computation for size remarks should have been static casts. This fixes that. Thanks to Dávid Bolvanský for pointing that out. llvm-svn: 332758
* Support: Simplify endian stream interface. NFCI.Peter Collingbourne2018-05-1823-158/+128
| | | | | | | | | | | | Provide some free functions to reduce verbosity of endian-writing a single value, and replace the endianness template parameter with a field. Part of PR37466. Differential Revision: https://reviews.llvm.org/D47032 llvm-svn: 332757
* adding baseline fp fold tests for unsafe on and offMichael Berg2018-05-181-0/+62
| | | | llvm-svn: 332756
* Delete a test that was missed in the revert r332747.Amara Emerson2018-05-181-51/+0
| | | | | | r332747 originally reverted r332654 which added this test. llvm-svn: 332755
* Revert r332683 & r332684 relating to compiler runtime checksReid Kleckner2018-05-183-91/+33
| | | | | | | r332683 passes flags to the compiler without first checking if they are supported. llvm-svn: 332754
* AMDGPU/NFC: Set symbol's type that is coming from an argument inKonstantin Zhuravlyov2018-05-181-1/+1
| | | | | | EmitAMDGPUSymbolType, instead of hard-coding it to STT_AMDGPU_HSA_KERNEL. llvm-svn: 332753
* Revert "[clangd] Adapt file migration in r332720"Eric Liu2018-05-182-2/+1
| | | | | | This reverts commit r332721 because the dependency r33270 will be reverted. llvm-svn: 332752
* Revert "Move #include manipulation code to new lib/Tooling/Inclusions."Eric Liu2018-05-1811-26/+15
| | | | | | | This reverts commit r332720. This break build bot with modules. Need to investigate. Revert the change to unbreak bots. llvm-svn: 332751
* [Support] Avoid normalization in sys::getDefaultTargetTriplePetr Hosek2018-05-184-7/+8
| | | | | | | | | | | | | | | | | | | | | | The return value of sys::getDefaultTargetTriple, which is derived from -DLLVM_DEFAULT_TRIPLE, is used to construct tool names, default target, and in the future also to control the search path directly; as such it should be used textually, without interpretation by LLVM. Normalization of this value may lead to unexpected results, for example if we configure LLVM with -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnu, normalization will transform that value to x86_64--linux-gnu. Driver will use that value to search for tools prefixed with x86_64--linux-gnu- which may be confusing. This is also inconsistent with the behavior of the --target flag which is taken as-is without any normalization and overrides the value of LLVM_DEFAULT_TARGET_TRIPLE. Users of sys::getDefaultTargetTriple already perform their own normalization as needed, so this change shouldn't impact existing logic. Differential Revision: https://reviews.llvm.org/D46910 llvm-svn: 332750
* MC: Change the streamer ctors to take an object writer instead of a stream. ↵Peter Collingbourne2018-05-1843-156/+210
| | | | | | | | | | | | | | NFCI. The idea is that a client that wants split dwarf would create a specific kind of object writer that creates two files, and use it to create the streamer. Part of PR37466. Differential Revision: https://reviews.llvm.org/D47050 llvm-svn: 332749
* [Hexagon] Generate post-increment for floating point typesBrendon Cahoon2018-05-185-6/+98
| | | | | | | | | | The code that generates post-increments for Hexagon considered integer values only. This patch adds support to generate them for floating point values, f32 and f64. Differential Revision: https://reviews.llvm.org/D47036 llvm-svn: 332748
* Reverted r332654 as it has broken some buildbots and left unfixed for a long ↵Galina Kistanova2018-05-189-838/+42
| | | | | | | | | | | time. The introduced problem is: llvm.src/lib/Transforms/Vectorize/VPlanVerifier.cpp:29:13: error: unused function 'hasDuplicates' [-Werror,-Wunused-function] static bool hasDuplicates(const SmallVectorImpl<VPBlockBase *> &VPBlockVec) { ^ llvm-svn: 332747
* [asan] Explicitly declare memintrinsics interceptors to have C linkageWalter Lee2018-05-181-6/+6
| | | | | | | | This is needed on RTEMS. Also update a comment. Differential Revision: https://reviews.llvm.org/D47079 llvm-svn: 332746
* [X86] Add GPR<->XMM Schedule TagsSimon Pilgrim2018-05-1822-500/+400
| | | | | | | | | | BtVer2 - fix NumMicroOp and account for the Lat+6cy GPR->XMM and Lat+1cy XMm->GPR delays (see rL332737) The high number of MOVD/MOVQ equivalent instructions meant that there were a number of missed patterns in SNB/Znver1: SNB - add missing GPR<->MMX costs (taken from Agner / Intel AOM) Znver1 - add missing GPR<->XMM MOVQ costs (taken from Agner) llvm-svn: 332745
* [asan] Remove an unsigned compare >= 0Walter Lee2018-05-181-1/+1
| | | | | | | | | This is not needed after we've forked the Myriad version. Not to mention it produces a compiler warning. Differential Revision: https://reviews.llvm.org/D47054 llvm-svn: 332744
* [X86] Directly legalize v16i16/v8i16 vselect to vXi8 vselect to use VPBLENDVBCraig Topper2018-05-182-4/+46
| | | | | | | | | | | | | | The intrinsic legalization for masked truncate uses ISD::TRUNCATE which can be constant folded by getNode. This prevents getVectorMaskingNode from seeing the ISD::TRUNCATE special case where it should emit X86ISD::SELECT instead of ISD::VSELECT. This causes a vselect with a v16i1 or v8i1 condition to be emitted during vector legalization. but vector legalization doesn't revisit nodes it creates. DAG combine will then promote this condition to match the result type. Then op legalization will try to legalize it, but the custom lowering hook returned SDValue(). But op legalization doesn't have an Expand for VSELECT because it expects vector legalization to have taken care of it. So the operation sticks around and fails in isel. This patch adds a custom legalization hook to morph it to a vXi8 vselect instead. This also simplifies the normal vXi16 vselect handling because vector legalization was normally expanding to AND/ANDN/OR and DAG combine was turning that into VBLENDVB. So we can skip a step by doing it directly. Fixes PR37499 Differential Revision: https://reviews.llvm.org/D47025 llvm-svn: 332743
* Revert changes from D46265.Than McIntosh2018-05-182-164/+2
| | | | | | | | | | | | This is a revert of the changes from https://reviews.llvm.org/D46265; the new test introduced (test/CodeGen/X86/PR37310.mir) causes buildbot failures. Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D47061 llvm-svn: 332742
* [MC] Relax .fill size requirementsNirav Dave2018-05-189-51/+158
| | | | | | | | | | | | | | | Avoid requirement that number of values must be known at assembler time. Fixes PR33586. Reviewers: rnk, peter.smith, echristo, jyknight Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D46703 llvm-svn: 332741
* [X86] Update fast-isel test cases for _mm256_mask_cvtepi16_epi8 to match ↵Craig Topper2018-05-181-14/+6
| | | | | | clang r332738. llvm-svn: 332740
* Add remarks describing when a pass changes the IR instruction count of a moduleJessica Paquette2018-05-189-4/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a remark which tells the user when a pass changes the number of IR instructions in a module. It can be enabled by using -Rpass-analysis=size-info. The point of this is to make it easier to collect statistics on how passes modify programs in terms of code size. This is similar in concept to timing reports, but using a remark-based interface makes it easy to diff changes over multiple compilations of the same program. By adding functionality like this, we can see * Which passes impact code size the most * How passes impact code size at different optimization levels * Which pass might have contributed the most to an overall code size regression The patch lives in the legacy pass manager, but since it's simply emitting remarks, it shouldn't be too difficult to adapt the functionality to the new pass manager as well. This can also be adapted to handle MachineInstr counts in code gen passes. https://reviews.llvm.org/D38768 llvm-svn: 332739
* [X86] Fix a bad cast from mask16 to mask8 in _mm256_mask_cvtepi16_epi8 ↵Craig Topper2018-05-181-2/+2
| | | | | | introduced in r332266. llvm-svn: 332738
* [X86][BtVer2] Improve simulation of (V)PINSR valuesSimon Pilgrim2018-05-187-37/+38
| | | | | | Include the 6cy delay transferring from the GPR to FPU. llvm-svn: 332737
* [docs] Scudo documentation minor updateKostya Kortchinsky2018-05-181-13/+22
| | | | | | | | | | | | | | | | | | | Summary: Minor changes to reflect changes to the code that were not documented: - `SCUDO_DEFAULT_OPTIONS` compile time way of defining options; - MIPS added as a supported architecture; - clarification on how to fully disable the Quarantine; - rewording in a few places. Reviewers: alekseyshl, flowerhack Reviewed By: alekseyshl Subscribers: sdardis, arichardson, atanasyan, llvm-commits Differential Revision: https://reviews.llvm.org/D47071 llvm-svn: 332736
* [NFC] update coding standard links to HTTPSJF Bastien2018-05-181-11/+11
| | | | | | Update one link which redirected, and remove an Amazon ref. llvm-svn: 332735
* Fix unused variable warning in r332724Eric Liu2018-05-181-0/+1
| | | | llvm-svn: 332734
* [lldb] Fix compile warnings in r332702Eric Liu2018-05-182-4/+5
| | | | | | | | | | | | | | | | Summary: - Fix #include path - Fix warning: ```` error: format specifies type 'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Werror,-Wformat] ``` Reviewers: labath, javed.absar Differential Revision: https://reviews.llvm.org/D47072 llvm-svn: 332733
* Trying to fix clang-move tests on windows build bot broken by r332717Eric Liu2018-05-181-17/+18
| | | | | | http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/10702 llvm-svn: 332732
* [Tooling] Add an overload of runToolOnCodeWithArgs that takes VFSEric Liu2018-05-182-10/+30
| | | | | | | | | | | | Summary: ... to support purely VFS-based tools. Reviewers: bkramer Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D47074 llvm-svn: 332731
* Revert "[DWARF] Extract indexing code into a separate class hierarchy"Amara Emerson2018-05-1812-911/+702
| | | | | | | This reverts commit r332719 due to breaking this green dragon build: http://green.lab.llvm.org/green/job/lldb-xcode/6644 llvm-svn: 332730
* MCSchedModel: Add comments to IssueWidth.Andrew Trick2018-05-181-1/+54
| | | | llvm-svn: 332729
* [ASTImporter] Enable disabled but passing testGabor Marton2018-05-181-1/+1
| | | | | | | | | | | | | | Summary: There is a test which passes since D32947, but it was forgotten to be enabled. This patch enables that disabled test. Reviewers: a.sidorin, r.stahl, xazax.hun Subscribers: rnkovacs, dkrupp, cfe-commits Differential Revision: https://reviews.llvm.org/D47069 llvm-svn: 332728
* [clang-format/ObjC] Correctly annotate single-component ObjC method invocationsBen Hamilton2018-05-182-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, clang-format's parser would fail to annotate the selector in a single-component Objective-C method invocation with `TT_SelectorName`. For example, the following: [foo bar]; would parse `bar` as `TT_Unknown`: M=0 C=1 T=Unknown S=0 B=0 BK=0 P=140 Name=identifier L=34 PPK=2 FakeLParens= FakeRParens=0 II=0x559d5db51770 Text='bar' This caused us to fail to insert a space after a closing cast rparen, so the following: [((Foo *)foo) bar]; would format as: [((Foo *)foo)bar]; This diff fixes the issue by ensuring we annotate the selector in a single-component Objective-C method invocation as `TT_SelectorName`. Test Plan: New tests added. Ran tests with: % make -j16 FormatTests && ./tools/clang/unittests/Format/FormatTests Reviewers: djasper, jolesiak Reviewed By: jolesiak Subscribers: Wizard, klimek, hokein, cfe-commits Differential Revision: https://reviews.llvm.org/D47028 llvm-svn: 332727
* [InstCombine] add tests for lack of abs/nabs canonicalization; NFCSanjay Patel2018-05-181-24/+141
| | | | llvm-svn: 332726
* [InstCombine] regenerate checks; NFCSanjay Patel2018-05-181-326/+392
| | | | | | | There were a combination of auto-generated styles in use here because the scripts have evolved. llvm-svn: 332725
* [HIP] Support offloading by linker scriptYaxun Liu2018-05-186-60/+237
| | | | | | | | | | | | To support linking device code in different source files, it is necessary to embed fat binary at host linking stage. This patch emits an external symbol for fat binary in host codegen, then embed the fat binary by lld through a linker script. Differential Revision: https://reviews.llvm.org/D46472 llvm-svn: 332724
* Silence more truncation warnings; NFC.Aaron Ballman2018-05-181-5/+5
| | | | llvm-svn: 332723
* [X86][BtVer2] Partial vector stores (inc MMX) have a 2cy latencySimon Pilgrim2018-05-188-38/+38
| | | | llvm-svn: 332722
OpenPOWER on IntegriCloud