summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvm-dwp: Provide error handling for invalid string field formsDavid Blaikie2016-05-173-8/+19
| | | | | | | | | | This diagnostic could be improved by adding the name of the input file containing the invalid data and/or some information about how to identify the specific offending attribute/tag in the input. But that's not an immediate priority as these corner cases of invalid input shouldn't come up too often. llvm-svn: 269727
* Remove .hot and .unlikely prefixes from function section names.Easwaran Raman2016-05-162-47/+2
| | | | | | This code currently relies on static methods in ProfileSummary to determine whether a function is hot or unlikley. I am refactoring the ProfileSummary code and these methods will be removed. As discussed offline, the right way to re-introduce this is to add a pass to annotate functions with unlikely/hot hints and use the hints to determine the prefix here. llvm-svn: 269726
* AMDGPU/R600: Use correct number of vector elements when lowering private loadsJan Vesely2016-05-162-5/+108
| | | | | | | | | | Reviewer: tstellardAMD, arsenm Subscribers: arsenm, kzhuravl, llvm-commits Differential Revision: http://reviews.llvm.org/D20032 llvm-svn: 269725
* Avoid leak. Free before resetting.Sean Silva2016-05-161-1/+1
| | | | llvm-svn: 269724
* llvm-dwp: Add error handling for invalid (non-CU) top level tag in ↵David Blaikie2016-05-163-8/+17
| | | | | | | | | | debug_info.dwo The diagnostic could be improved a bit to include information about which input file had the mistake (& which unit (counted, since the name of the unit won't be accessible) within the input). llvm-svn: 269723
* Remove extra semicolon to fix warning. NFC.Michael Kuperstein2016-05-161-1/+1
| | | | llvm-svn: 269722
* Less broken fix for buildbot breakage.Richard Smith2016-05-161-1/+7
| | | | llvm-svn: 269721
* Try to make the buildbots green again: avoid the need for class Attr to beRichard Smith2016-05-161-0/+7
| | | | | | complete for users of AttrVec. llvm-svn: 269720
* [profile] Add portability macro for atomic fetch_and_addXinliang David Li2016-05-163-1/+19
| | | | | | | This is another enabler patch to support value profiling without dynamic memory allocation. llvm-svn: 269719
* Doxygen comments for avxintrin.h.Ekaterina Romanova2016-05-163-169/+853
| | | | | | | | | | | | | | | Added doxygen comments to avxintrin.h's intrinsics. As of now, only around 50% of the intrinsics in this file are documented here. The patches for the other half will be sent out later. Updated bmiintrin.h to fix an incorrect section name. Updated f16cintrin.h to fix incorect parameter names. 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. llvm-svn: 269718
* Switch from SmallVector to TinyPtrVector for the list of attributes on a ↵Richard Smith2016-05-161-2/+3
| | | | | | declaration. This removes a memory allocation for the common case where the declaration has only one attribute. llvm-svn: 269717
* Avoid O(n^2) string analysis when handling GNU __asm__ statements.Richard Smith2016-05-161-8/+15
| | | | llvm-svn: 269716
* Avoid temporary vector for sorting in BitcodeWriterMehdi Amini2016-05-161-13/+10
| | | | | | | As suggested by Duncan, fixup for r269634 and r269635 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269715
* Debug info: Don't emit a DW_AT_byte_size when emitting a DWARF4 bit field.Adrian Prantl2016-05-162-3/+9
| | | | | | | | | | The DWARF spec clearly states that a bit field member should have either a DW_AT_byte_size or a DW_AT_bit_size, but not both. Also the DW_AT_byte_size is redundant with the size of the type of the member. This fixes a bug found in PR 27758. llvm-svn: 269714
* Look for CMake.app when searching for cmakeTodd Fiala2016-05-161-0/+18
| | | | | | | | | | | | | | On OS X systems, look for /Applications/CMake.app and ~/Applications/CMake.app versions of the cmake command line binary when trying harder to find a cmake not on the system path. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20303 llvm-svn: 269713
* AMDGPU: Add some private element size testsMatt Arsenault2016-05-161-6/+126
| | | | llvm-svn: 269712
* Add a (size, value) constructor to TinyPtrVector.Richard Smith2016-05-161-2/+10
| | | | llvm-svn: 269711
* Add missing TinyPtrVector functionality: reverse iterators and conversion ofRichard Smith2016-05-161-1/+21
| | | | | | TinyPtrVector<T*> to ArrayRef<const T*>. llvm-svn: 269710
* [PS4] Tighten up a test (noticed in passing)Paul Robinson2016-05-161-2/+2
| | | | llvm-svn: 269709
* AMDGPU: Fix promote alloca pass creating huge arraysMatt Arsenault2016-05-1615-72/+387
| | | | | | | | | | | | | | | This was assuming it could use all memory before, which is a bad decision because it restricts occupancy. By default, only try to use enough space that could reduce occupancy to 7, an arbitrarily chosen limit. Based on the exist LDS usage, try to round up to the limit in the current tier instead of further hurting occupancy. This isn't ideal, because it doesn't accurately know how much space is going to be used for alignment padding. llvm-svn: 269708
* Make sure we notify that the section module was loaded when ↵Greg Clayton2016-05-161-5/+30
| | | | | | | | SBTarget::SetSectionLoadAddress() is called. Also make sure that the section module is unloaded when SBTarget::ClearSectionLoadAddress() or SBTarget::ClearModuleLoadAddress() is called. <rdar://problem/25119335> llvm-svn: 269707
* Fail early on unknown appending linkage variables.Rafael Espindola2016-05-164-18/+12
| | | | | | | | | | | | | In practice only a few well known appending linkage variables work. Currently if codegen sees an unknown appending linkage variable it will just print it as a regular global. That is wrong as the symbol in the produced object file has different semantics as the one provided by the appending linkage. This just errors early instead of producing a broken .o. llvm-svn: 269706
* llvm-dwp: Add .test files missing from r269339David Blaikie2016-05-162-0/+6
| | | | llvm-svn: 269705
* Fixed and re-enabled the Clang modules testcase.Sean Callanan2016-05-161-3/+2
| | | | | | | Macros work again after Clang r269554. This testcase just needed some small tweaks to get it going again. llvm-svn: 269704
* Add `explicit`.Rui Ueyama2016-05-162-3/+4
| | | | llvm-svn: 269703
* Revert "Reapply^2 "[ProfileData] (compiler-rt) Use Error in InstrProf and ↵Vedant Kumar2016-05-161-3/+4
| | | | | | | | Coverage, NFC"" This reverts commit r269696. The llvm commit does not pass the MSVC bot. llvm-svn: 269702
* Revert "Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and ↵Vedant Kumar2016-05-163-14/+10
| | | | | | | | Coverage, NFC"" This reverts commit r269695. The llvm commit does not pass the MSVC bot. llvm-svn: 269701
* Revert "Retry^2 "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC""Vedant Kumar2016-05-1618-612/+504
| | | | | | | | This reverts commit r269694. MSVC says: error C2086: 'char llvm::ProfErrorInfoBase<enum llvm::instrprof_error>::ID' : redefinition llvm-svn: 269700
* SelectionDAG: Select min/max when both are usedMatt Arsenault2016-05-163-2/+95
| | | | | | | | | | | Allow two users of the condition if the other user is also a min/max select. i.e. %c = icmp slt i32 %x, %y %min = select i1 %c, i32 %x, i32 %y %max = select i1 %c, i32 %y, i32 %x llvm-svn: 269699
* Test diamond virtual inheritance in top-level expressions.Sean Callanan2016-05-161-1/+45
| | | | llvm-svn: 269698
* [AArch64] Fix bug in large stack spill slot handling (PR27717)Geoff Berry2016-05-161-1/+3
| | | | | | | | | | | | | | | | | Summary: Fix bug in MachO path where a frame index offset would not be reserved for handling large frames when an extra non-used callee-save register was saved. In the case where the extra register is reserved or not a GPR (e.g. %FP in the MachO case), this would lead to the register scavenger later failing when called from PrologEpilogInserter. Reviewers: t.p.northover Subscribers: aemerson, rengolin, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20185 llvm-svn: 269697
* Reapply^2 "[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC"Vedant Kumar2016-05-161-4/+3
| | | | | | | | Sync up with "(llvm) Use Error in InstrProf and Coverage". Differential Revision: http://reviews.llvm.org/D19903 llvm-svn: 269696
* Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"Vedant Kumar2016-05-163-10/+14
| | | | | | | | Sync up with "(llvm) Use Error in InstrProf and Coverage". Differential Revision: http://reviews.llvm.org/D19902 llvm-svn: 269695
* Retry^2 "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC"Vedant Kumar2016-05-1618-504/+612
| | | | | | | | | | | | | | | Transition InstrProf and Coverage over to the stricter Error/Expected interface. Changes since the initial commit: - Address undefined-var-template warning. - Fix error message printing in llvm-profdata. - Check errors in loadTestingFormat() + annotateAllFunctions(). - Defer error handling in InstrProfIterator to InstrProfReader. Differential Revision: http://reviews.llvm.org/D19901 llvm-svn: 269694
* Added support to the ASTImporter for C++ constructor initializers.Sean Callanan2016-05-164-2/+171
| | | | | | | | | Also added named casts and propagation of "implicit" to fix the LLDB testsuite. This is a fixed commit of r269546, which was reverted by r269575. Thanks to Aleksei Sidorin for review and advice. llvm-svn: 269693
* llvm-dwp: Streamline duplicate DWO ID diagnostic handlingDavid Blaikie2016-05-162-30/+33
| | | | | | | | Actually use the error return path rather than printing the duplicate information then a separate error. But also just tidy up/deduplicate some of the code for generating the diagnostic text. llvm-svn: 269692
* sync up common profile header /nfcXinliang David Li2016-05-161-9/+27
| | | | llvm-svn: 269690
* [profile] minor code restructuring /NFCXinliang David Li2016-05-164-15/+40
| | | | | | | This is one of the enabler patch to allow value profiler to allocate counter statically. llvm-svn: 269689
* [SystemZ] Support LRVH and STRVH opcodesBryan Chan2016-05-168-5/+417
| | | | | | | | | | | | Summary: On Linux, /usr/include/bits/byteswap-16.h defines __byteswap_16(x) as an inlined LRVH (Load Reversed Half-word) instruction. The SystemZ back-end did not support this opcode and the inlined assembly would cause a fatal error. Reviewers: bryanpkc, uweigand Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18732 llvm-svn: 269688
* [Lex] inferModuleFromLocation should do no work if there are no modulesDavid Majnemer2016-05-161-0/+3
| | | | | | | | | | | | getModuleContainingLocation ends up on the hot-path for typical C code which can lead to calls to getFileIDSlow. To speed this up, short circuit inferModuleFromLocation when there aren't any modules, implicit or otherwise. This shaves 4-5% build time when building the linux kernel. llvm-svn: 269687
* Don't crash when OS plug-in returns None from any of the functions we might ↵Greg Clayton2016-05-161-16/+24
| | | | | | | | call. <rdar://problem/24489419> llvm-svn: 269686
* Remove extra whitespace. NFC.Chad Rosier2016-05-161-1/+1
| | | | llvm-svn: 269685
* ThinLTO: sort inputs and schedule by decreasing sizeMehdi Amini2016-05-161-4/+18
| | | | | | | | | | | This is a compile time optimization: keeping a large file to process at the end hurts parallelism. The heurisitic used right now is the input buffer size, however we may want to consider the number of functions to import or the different number of files to load for importing as well. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269684
* [WebAssembly] Mark COPY_LOCAL and TEE_LOCAL instructions has having no side ↵Dan Gohman2016-05-162-3/+7
| | | | | | effects. llvm-svn: 269683
* ThinLTO caching: reload cached file with mmap and drop heap-allocated memory ↵Mehdi Amini2016-05-161-5/+14
| | | | | | | | | | | | buffer This is reducing pressure on the OS memory system, and is NFC when not using a cache. I measure a 10x memory consumption reduction when linking opt with full debug info. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269682
* [WebAssembly] Use eqz to negate a branch conditions.Dan Gohman2016-05-162-10/+3
| | | | llvm-svn: 269681
* [Clang][AVX512] completing missing intrinsics for [vpabs] instruction setMichael Zuckerman2016-05-162-0/+61
| | | | | | Differential Revision: http://reviews.llvm.org/D20069 llvm-svn: 269680
* Change embed-bitcode linkage typeSteven Wu2016-05-162-26/+55
| | | | | | | | | | | Embedded bitcode should have private linkage instead of appending or external. Otherwise, it will cause link failure due to duplicated symbols. Also add llvm.embedded.module and llvm.cmdline to llvm.compiler.used so they don't get optimized out. rdar://problem/21555860 llvm-svn: 269679
* [BasicAA] Update comments based on feedback from hfinkel. NFCI.Geoff Berry2016-05-161-1/+4
| | | | | | | Original change Hal's comments were based on: http://reviews.llvm.org/D19730 llvm-svn: 269678
* [WebAssembly] Add a few optimization ideas to README.txt.Dan Gohman2016-05-161-0/+15
| | | | llvm-svn: 269677
OpenPOWER on IntegriCloud