summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86][SSE] Dropped -mcpu from vector shift testsSimon Pilgrim2017-06-291-4/+3
| | | | | | Use triple and attribute only for consistency llvm-svn: 306662
* [X86][SSE] Dropped -mcpu from zero insertion testsSimon Pilgrim2017-06-291-9/+6
| | | | | | Use triple and attribute only for consistency llvm-svn: 306661
* Revert r306653, "[OpenCL] Allow function declaration with empty argument list."NAKAMURA Takumi2017-06-293-11/+2
| | | | | | It broke bots. llvm-svn: 306660
* [Tooling] FixedCompilationDatabase should be able to strip positionalAlex Lorenz2017-06-292-3/+26
| | | | | | | | | | | | | arguments when `-fsyntax-only` is used Previously, Clang failed to create a fixed compilation database when the compilation arguments use -fsyntax-only instead of -c. This commit fixes the issue by forcing Clang to look at the compilation job when stripping the positional arguments. Differential Revision: https://reviews.llvm.org/D34687 llvm-svn: 306659
* [LLVM][X86][Goldmont] Adding new target-cpu: GoldmontMichael Zuckerman2017-06-297-2/+47
| | | | | | | | | | | | | | | | [LLVM SIDE] Connecting the GoldMont processor to his feature. Reviewers: 1. igorb 2. zvi 3. delena 4. RKSimon 5. craig.topper Differential Revision: https://reviews.llvm.org/D34504 llvm-svn: 306658
* Test commitNAKAMURA Takumi2017-06-292-2/+2
| | | | llvm-svn: 306657
* [clangd] Run a test, searching for gcc install, only on Unix.Ilya Biryukov2017-06-291-0/+3
| | | | | | This should fix windows buildbots. llvm-svn: 306656
* [SLPVectorizer] Introducing getTreeEntry() helper function [NFC]Dinar Temirbulatov2017-06-291-34/+33
| | | | | | Differential Revision: https://reviews.llvm.org/D34756 llvm-svn: 306655
* [ARM] Add tGPRwithpc register class and use it for TBB/THHFlorian Hahn2017-06-293-6/+10
| | | | | | | | | | | | | | | | | | | | | | Summary: TBB and THH allow using a Thumb GPR or the PC as destination operand. A few machine verifier failures where due to those instructions not expecting PC as destination operand. Add -verify-machineinstrs to test/CodeGen/ARM/jump-table-tbh.ll to add test coverage even if expensive checks are disabled. Reviewers: MatzeB, t.p.northover, jmolloy Reviewed By: MatzeB Subscribers: aemerson, javed.absar, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D34610 llvm-svn: 306654
* [OpenCL] Allow function declaration with empty argument list.Alexey Bader2017-06-293-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: does it make sense to enable K&R function declaration style for OpenCL? clang throws following error message for the declaration w/o arguments: ``` int my_func(); error: function with no prototype cannot use the spir_function calling convention ``` Current way to fix this issue is to specify that parameter list is empty by using 'void': ``` int my_func(void); ``` Let me know what do you think about this patch. Reviewers: Anastasia, yaxunl Reviewed By: Anastasia Subscribers: cfe-commits, echuraev Differential Revision: https://reviews.llvm.org/D33681 llvm-svn: 306653
* [clangd] Added a test, checking that gcc install is searched via VFS.Ilya Biryukov2017-06-291-1/+62
| | | | | | | | | | | | Reviewers: bkramer, krasimir, klimek Reviewed By: klimek Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D34755 llvm-svn: 306652
* [clang-tidy] Fix modernize-use-nullptr only warns the first NULL argument.Haojian Wu2017-06-292-1/+29
| | | | | | | | | | | | Reviewers: alexfh Reviewed By: alexfh Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D34526 llvm-svn: 306651
* [clang-tidy] follow-up on misc-definitions-in-header check.Haojian Wu2017-06-293-3/+7
| | | | | | | | | | | | | | | | | Summary: A follow-up on D34449: * add `-std=c++11` to `.hpp` file by default. * add constexpr function to test and doc. Reviewers: alexfh Reviewed By: alexfh Subscribers: JDevlieghere, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D34771 llvm-svn: 306650
* Initializing NVPTX backend within PollySingapuram Sanjay Srivallabh2017-06-291-0/+5
| | | | | | | | | | | | | | | | | Summary: The NVPTX backend is now initialised within Polly. A language front-end need not be modified to initialise the backend, just for Polly. Reviewers: Meinersbur, grosser Reviewed By: Meinersbur Subscribers: vchuravy, mgorny Tags: #polly Differential Revision: https://reviews.llvm.org/D31859 llvm-svn: 306649
* Factor out a functionality from isBeforeInTranslationUnitGabor Horvath2017-06-292-37/+59
| | | | | | | | | | The first user of this API will be the cross translation unit functionality of the Static Analyzer which will be committed in a follow-up patch. Differential Revision: https://reviews.llvm.org/D34506 llvm-svn: 306648
* [BinaryFormat] Identify AArch64 COFF filesMartin Storsjo2017-06-291-2/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D34742 llvm-svn: 306647
* [X86] Adding shuffle tests demonstrating missed vcompress opportunities. NFCZvi Rackover2017-06-292-0/+145
| | | | llvm-svn: 306646
* Revert "[LSan] Make LSan allocator allocator_may_return_null compliant"Michael Zolotukhin2017-06-293-127/+3
| | | | | | | | This reverts commit r306624. The committed test failed on various bots (e.g. on green dragon). llvm-svn: 306644
* [lit] Re-apply: Fix some convoluted logic around Unicode encoding, and ↵David L. Jones2017-06-292-51/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | de-duplicate across modules that used it. (Take 2: this patch re-applies r306625, which was reverted in r306629. This patch includes only trivial fixes.) In Python2 and Python3, the various (non-)?Unicode string types are sort of spaghetti. Python2 has unicode support tacked on via the 'unicode' type, which is distinct from 'str' (which are bytes). Python3 takes the "unicode-everywhere" approach, with 'str' representing a Unicode string. Both have a 'bytes' type. In Python3, it is the only way to represent raw bytes. However, in Python2, 'bytes' is an alias for 'str'. This leads to interesting problems when an interface requires a precise type, but has to run under both Python2 and Python3. The previous logic appeared to be correct in all cases, but went through more layers of indirection than necessary. This change does the necessary conversions in one shot, with documentation about which paths might be taken in Python2 or Python3. Changes from r306625: some tests just print binary outputs, so in those cases, fall back to str() in Python3. For googletests, add one missing call to to_string(). (Tested by verifying the visible breakage with Python3. Verified that everything works in py2 and py3.) llvm-svn: 306643
* Fix two places in RegisterContextLLDB::InitializeNonZerothFrame whereJason Molenda2017-06-291-13/+14
| | | | | | | | I'm not running the saved pc through FixCodeAddress as soon as I should. <rdar://problem/30686307> llvm-svn: 306634
* Change the ABI class to have a weak pointer to its Process;Jason Molenda2017-06-2933-78/+88
| | | | | | | | | | | | | | | | some methods in the ABI need a Process to do their work. Instead of passing it in as a one-off argument to those methods, this patch puts it in the base class and the methods can retrieve if it needed. Note that ABI's are sometimes built without a Process (e.g. SBTarget::GetStackRedZoneSize) so it's entirely possible that the process weak pointer will not be able to reconsistitue into a strong pointer. <rdar://problem/32526754> llvm-svn: 306633
* [libc++] Hoist explicit instantiation above implicit. NFCShoaib Meenai2017-06-291-4/+4
| | | | | | | | | | | | | | | | The string literal operators have implicit instantiations of basic_string<char> and basic_string<wchar>, which prevent the dllimport on the subsequent explicit instantiation declarations from having an effect. Hoisting the explicit instantiations above the implicit ones fixes the issue. I think it's pretty unfortunate that the ordering has such an effect, and I'd fixed the same issue for dllexport in r288682. dllimport is more complicated from a codegen perspective, however, and clang's behavior of ignoring the dllimport when there's a previous implicit instantiation is consistent with cl, so changing the order is our only recourse. llvm-svn: 306632
* llvm-profdata: Indirect infrequently used fields to reduce memory usageDavid Blaikie2017-06-292-30/+66
| | | | | | | | | | | | | | | | | | | | | | | | | Examining a large profile example, it seems relatively few records have non-empty IndirectCall and MemOP data, so indirecting these through a unique_ptr (non-null only when they are non-empty) Reduces memory usage on this particular example from 14GB to 10GB according to valgrind's massif. I suspect it'd still be worth moving InstrProfWriter to its own data structure that had Counts and the indirected IndirectCall+MemOP, and did not include the Name, Hash, or Error fields. This would reduce the size of this dominant data structure by half of this new, lower amount. (Name(2), Hash(1), Error(1) ~= Counts(vector, 3), ValueProfData (unique_ptr, 1)) -> From code review feedback, might actually refactor InstrProfRecord itself to have a sub-struct with all the counts, and use that from InstrProfWriter, rather than InstrProfWriter owning its own data structure for this. Reviewers: davidxl Differential Revision: https://reviews.llvm.org/D34694 llvm-svn: 306631
* Revert "[asan] Control location of symbolizer on device using ↵Vitaly Buka2017-06-291-3/+0
| | | | | | | | | | ANDROID_SYMBOLIZER_PATH" Not needed, I am going to put symbolizer into tests dir. This reverts commit r306627. llvm-svn: 306630
* Revert "[lit] Fix some convoluted logic around Unicode encoding, and ↵David L. Jones2017-06-292-62/+51
| | | | | | | | de-duplicate across modules that used it." This reverts r306625. llvm-svn: 306629
* Track the set of module maps read while building a .pcm file and reload ↵Richard Smith2017-06-2915-54/+127
| | | | | | those when preprocessing from that .pcm file. llvm-svn: 306628
* [asan] Control location of symbolizer on device using ANDROID_SYMBOLIZER_PATHVitaly Buka2017-06-291-0/+3
| | | | llvm-svn: 306627
* Fix spelling: uncode -> unicode.David L. Jones2017-06-291-1/+1
| | | | | | | Remember kids: there is no 'I' in str or bytes, but there is ALWAYS an 'I' in unicode. llvm-svn: 306626
* [lit] Fix some convoluted logic around Unicode encoding, and de-duplicate ↵David L. Jones2017-06-292-51/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | across modules that used it. Summary: In Python2 and Python3, the various (non-)?Unicode string types are sort of spaghetti. Python2 has unicode support tacked on via the 'unicode' type, which is distinct from 'str' (which are bytes). Python3 takes the "unicode-everywhere" approach, with 'str' representing a Unicode string. Both have a 'bytes' type. In Python3, it is the only way to represent raw bytes. However, in Python2, 'bytes' is an alias for 'str'. This leads to interesting problems when an interface requires a precise type, but has to run under both Python2 and Python3. The previous logic appeared to be correct in all cases, but went through more layers of indirection than necessary. This change does the necessary conversions in one shot, with documentation about which paths might be taken in Python2 or Python3. Reviewers: zturner, modocache Subscribers: llvm-commits, sanjoy Differential Revision: https://reviews.llvm.org/D34793 llvm-svn: 306625
* [LSan] Make LSan allocator allocator_may_return_null compliantAlex Shlyapnikov2017-06-293-3/+127
| | | | | | | | | | | | | | | Summary: LSan allocator used to always return nullptr on too big allocation requests (the definition of "too big" depends on platform and bitness), now it follows policy configured by allocator_may_return_null flag. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34786 llvm-svn: 306624
* [lit] Remove dead code not referenced in the LLVM SVN repo.David L. Jones2017-06-293-120/+90
| | | | | | | | | | | | | | | | | | | | | | | Summary: This change removes the intermediate 'FileBasedTest' format from lit. This format is only ever used by the ShTest format, so the logic can be moved into ShTest directly. In order to better clarify what the TestFormat subclasses do, I fleshed out the TestFormat base class with Python's notion of abstract methods, using @abc.abstractmethod. This gives a convenient way to document the expected interface, without the risk of instantiating an abstract class (that's what ABCMeta does -- it raises an exception if you try to instantiate a class which has abstract methods, but not if you instantiate a subclass that implements them). Reviewers: zturner, modocache Subscribers: sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D34792 llvm-svn: 306623
* CodeGen: handle missed case of COMDAT handlingSaleem Abdulrasool2017-06-292-6/+13
| | | | | | | | When Protocol references are constructed, we need to add the reference symbol to a COMDAT group on non-MachO object file formats (MachO handles this by having a coalesced attribute). This adds the missing case. llvm-svn: 306622
* [asan] Fix try to fix test on AndroidVitaly Buka2017-06-291-4/+4
| | | | | | %T is dir on host system, device does not have it llvm-svn: 306621
* [asan] Disable tests which do no work on AndroidVitaly Buka2017-06-293-0/+9
| | | | llvm-svn: 306620
* [asan] This test now passesVitaly Buka2017-06-291-3/+0
| | | | llvm-svn: 306619
* Revert "Replace trivial use of external rc.exe by writing our own .res file."Eric Beckmann2017-06-2915-159/+128
| | | | | | | | | | | | | | | This reverts commit d4c7e9fc63c10dbab0c30186ef8575474a704496. This is done in order to address the failure of CrWinClangLLD etc. bots. These throw an error of "side-by-side configuration is incorrect" during compilation, which sounds suspiciously related to these manifest changes. Revert "Switch external cvtres.exe for llvm's own resource library." This reverts commit 71fe8ef283a9dab9a3f21432c98466cbc23990d1. llvm-svn: 306618
* [InstCombine] In visitXor, use m_Not on the instruction itself instead of ↵Craig Topper2017-06-291-3/+2
| | | | | | looking for all ones in Op1. This is consistent with 3 other not checks before this one. NFCI llvm-svn: 306617
* [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko2017-06-2924-161/+312
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 306616
* [InstCombine] Retain TBAA when narrowing memory accessesKeno Fischer2017-06-283-3/+74
| | | | | | | | | | | | Summary: As discussed on the mailing list it is legal to propagate TBAA to loads/stores from/to smaller regions of a larger load tagged with TBAA. Do so for (load->extractvalue)=>(gep->load) and similar foldings. Reviewed By: sanjoy Differential Revision: https://reviews.llvm.org/D31954 llvm-svn: 306615
* Delete comparison with GlobalOffsetTable.Rafael Espindola2017-06-281-3/+0
| | | | | | | Now that _GLOBAL_OFFSET_TABLE_ is defined, we can just use R_PC for it if needed. llvm-svn: 306614
* [NFC] Remove multiple semicolonsMandeep Singh Grang2017-06-282-2/+2
| | | | | | | | | | | | Reviewers: bogner, whitequark, mgrang Reviewed By: mgrang Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34785 llvm-svn: 306613
* clangDaemon requires clangLex.NAKAMURA Takumi2017-06-281-0/+1
| | | | llvm-svn: 306612
* Added a project for the unified IR interpreter.Sean Callanan2017-06-281-0/+12
| | | | llvm-svn: 306611
* Introduce symbol cache to PDB NativeSessionAdrian McCarthy2017-06-283-7/+28
| | | | | | | | | | | | | Instead of creating symbols directly in the findChildren methods of the native symbol implementations, they will rely on the NativeSession to act as a factory for these types. This lets NativeSession cache the NativeRawSymbols in its new symbol cache and makes that cache the source of unique IDs for the symbols. Right now, this affects only NativeCompilandSymbols. There's no external change yet, so I think the existing tests are still sufficient. Coming soon are patches to extend this to built-in types and enums. llvm-svn: 306610
* Fix indentation.Rafael Espindola2017-06-281-1/+1
| | | | llvm-svn: 306609
* Revert "Make OrderedInstructions and OrderedBasicBlock use AssertingVH, to ↵Xin Tong2017-06-282-5/+3
| | | | | | | | | | | | | try and catch mistakes" This reverts commit 50ec560f05dcb8a1be18be442660d0305bc7de25. It catches some bug in NewGVN it seems. I am in middle of something and will not be able to investigate Revert for now. http://lab.llvm.org:8011/builders/clang-atom-d525-fedora-rel/builds/6268 llvm-svn: 306608
* Make OrderedInstructions and OrderedBasicBlock use AssertingVH, to try and ↵Xin Tong2017-06-282-3/+5
| | | | | | | | | | | | | | catch mistakes Summary: Make OrderedInstructions and OrderedBasicBlock use AssertingVH to try and catch mistakes Reviewers: efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34780 llvm-svn: 306605
* [Sanitizers] Operator new() interceptors always die on allocation errorAlex Shlyapnikov2017-06-2812-164/+342
| | | | | | | | | | | | | | | | | | | | | Summary: Operator new interceptors behavior is now controlled by their nothrow property as well as by allocator_may_return_null flag value: - allocator_may_return_null=* + new() - die on allocation error - allocator_may_return_null=0 + new(nothrow) - die on allocation error - allocator_may_return_null=1 + new(nothrow) - return null Ideally new() should throw std::bad_alloc exception, but that is not trivial to achieve, hence TODO. Reviewers: eugenis Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D34731 llvm-svn: 306604
* AMDGPU: Remove SITypeRewriterMatt Arsenault2017-06-2817-564/+401
| | | | | | | This was an old workaround for using v16i8 in some old intrinsics for resource descriptors. llvm-svn: 306603
* [lit] Remove dead code (not referenced anywhere), and clarify some function ↵David L. Jones2017-06-281-177/+41
| | | | | | | | | | | | | | | | | | | | | | | names. Summary: The dead code seems to be unreferenced, according to textual search across the LLVM SVN repo. The clarification part of this change alters the name of a module-level function so that it is different from the name of the class-methods that call it. Currently, there are no erroneous references, but stylistically (c.f. PEP-8), internal "helper" functions should generally be named accordingly by prepending an underscore. (I also chose to add '_impl', which isn't necessary, but helps me at least to mentally disambiguate the interface and implementation functions.) Reviewers: zturner, modocache Subscribers: sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D34775 llvm-svn: 306600
OpenPOWER on IntegriCloud