summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove Elf_Sym_Iter.Rafael Espindola2015-06-296-189/+124
| | | | | | | | | | | | | | | | | | | It was a fairly broken concept for an ELF only class. An ELF file can have two symbol tables, but they have exactly the same format. There is no concept of a dynamic or a static symbol. Storing this on the iterator also makes us do more work per symbol than necessary. To fetch a name we would: * Find if we had a static or a dynamic symbol. * Look at the corresponding symbol table and find the string table section. * Look at the string table section to fetch its contents. * Compute the name as a substring of the string table. All but the last step can be done per symbol table instead of per symbol. This is a step in that direction. llvm-svn: 240939
* [clang-tidy] Fix false positives in the macro parentheses checkerDaniel Marjamaki2015-06-292-2/+14
| | | | | | | | | | | Summary: There were false positives in C++ code where macro argument was a type. Reviewers: alexfh Differential Revision: http://reviews.llvm.org/D10801 llvm-svn: 240938
* [X86][AVX512BW] Add more intrinsics support:Asaf Badouh2015-06-293-0/+1185
| | | | | | | | | | Blend, abs, packs, adds, subs, avg, max, min, permute. all the intrinsics are covered by tests review: http://reviews.llvm.org/D10799 llvm-svn: 240937
* AVX-512: all forms of SCATTER instruction on SKX,Elena Demikhovsky2015-06-297-32/+567
| | | | | | encoding, intrinsics and tests. llvm-svn: 240936
* Add Support for LLVM_INSTALL_TOOLCHAIN_ONLY (bug #23784)Pavel Labath2015-06-293-15/+21
| | | | | | | | | Support for LLVM_INSTALL_TOOLCHAIN_ONLY is modeled on same functionality from LLVM and Clang CMake files. Patch by: Eugene Zelenko llvm-svn: 240935
* clang-format: Don't indent relative to unary operators (some more).Daniel Jasper2015-06-292-5/+7
| | | | | | | | | | | | | | | | Before: long aaaaaaaa = !aaaa( // break aaaaaa); long aaaaaaaa = !aa.aa( // break aaaaaa); After: long aaaaaaaa = !aaaa( // break aaaaaa); long aaaaaaaa = !aa.aa( // break aaaaaa); llvm-svn: 240934
* fix lldb-server linking on RHEL 6 (bug #23774)Pavel Labath2015-06-291-1/+3
| | | | | | Patch by: Eugene Zelenko llvm-svn: 240933
* [ARM]: Extend -mfpu options for half-precision and vfpv3xdJaved Absar2015-06-291-2/+0
| | | | | | | | removing default label in switch as it results. This is part of earlier commit http://reviews.llvm.org/D1064 Subscribers: llvm-commits llvm-svn: 240932
* This is a comment-only change to test commit accessIgor Breger2015-06-291-1/+1
| | | | llvm-svn: 240931
* [ARM]: Extend -mfpu options for half-precision and vfpv3xdJaved Absar2015-06-296-26/+123
| | | | | | | | | | | | | | | Some of the the permissible ARM -mfpu options, which are supported in GCC, are currently not present in llvm/clang.This patch adds the options: 'neon-fp16', 'vfpv3-fp16', 'vfpv3-d16-fp16', 'vfpv3xd' and 'vfpv3xd-fp16. These are related to half-precision floating-point and single precision. Reviewers: rengolin, ranjeet.singh Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10645 llvm-svn: 240930
* [ARM]: Extend -mfpu options for half-precision and vfpv3xdJaved Absar2015-06-291-0/+55
| | | | | | | | | | | | | | | Some of the the permissible ARM -mfpu options, which are supported in GCC, are currently not present in llvm/clang.This patch adds the options: 'neon-fp16', 'vfpv3-fp16', 'vfpv3-d16-fp16', 'vfpv3xd' and 'vfpv3xd-fp16. These are related to half-precision floating-point and single precision. Reviewers: rengolin, ranjeet.singh Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10764 llvm-svn: 240929
* AVX-512: Implemented AVX-512 FMA intrinsics and tests.Elena Demikhovsky2015-06-295-46/+2378
| | | | | | | | by Igor Breger http://reviews.llvm.org/D10797 llvm-svn: 240928
* [linux] Use cmake to detect support process_vm_readv (bug #23918)Pavel Labath2015-06-295-11/+57
| | | | | | | | | | | | | | | | | | Summary: Some old linux versions do not have process_vm_readv function defined. Even older versions do not have even the __NR_process_vm_readv syscall number. We use cmake to detect these situations and fallback appropriately: in the first case, we can issue the syscall manually, while it the latter case, we need to drop fast memory read support completely. Test Plan: linux test suite passes Reviewers: ovyalov, Eugene.Zelenko Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10727 llvm-svn: 240927
* AVX-512: Implemented missing encoding and intrinsics for FMA instructionsIgor Breger2015-06-299-636/+8675
| | | | | | | | Added tests for DAG lowering ,encoding and intrinsics Differential Revision: http://reviews.llvm.org/D10796 llvm-svn: 240926
* Whitespace.NAKAMURA Takumi2015-06-291-15/+15
| | | | llvm-svn: 240924
* Delete unused variables.Frederic Riss2015-06-291-3/+0
| | | | llvm-svn: 240923
* COFF: Fix logic to find default entry name or subsystem.Rui Ueyama2015-06-2941-263/+294
| | | | | | | | | | | | | | | | | | | The previous logic to find default entry name or subsystem does not seem correct (i.e. was not compatible with MSVC linker). Previously, default entry name was inferred from CRT functions and user-defined entry functions. Subsystem was inferred from CRT functions. Default entry name and subsystem are now inferred based on the following table. Note that we no longer use CRT functions to infer them. Entry name Subsystem main mainCRTStartup console wmain wmainCRTStartup console WinMain WinMainCRTStartup windows wWinMain wWinMainCRTStartup windows llvm-svn: 240922
* [MS ABI] Unify constant and non-constant member pointer conversionDavid Majnemer2015-06-291-138/+51
| | | | | | | | | | | We had two separate paths for member pointer conversion: one which takes a constant and another which takes an arbitrary value. In the latter case, we are permitted to construct arbitrary instructions. It turns out that the bulk of the member pointer conversion is sharable if we construct an artificial IRBuilder. llvm-svn: 240921
* Revert r240872, "Suppress clang/test/CodeGen/builtins-ppc-p8vector.c for ↵NAKAMURA Takumi2015-06-281-1/+1
| | | | | | | | -Asserts for now. Will fix later." This has been fixed since r240912. llvm-svn: 240920
* COFF: Allow mangled symbols as arguments for /export.Rui Ueyama2015-06-287-10/+60
| | | | | | | | | | | | | | | | | | | | Usually dllexported symbols are defined with 'extern "C"', so identifying them is easy. We can just do hash table lookup to look up exported symbols. However, C++ non-member functions are also allowed to be exported, and they can be specified with unmangled name. So, if /export:foo is given, we need to look up not only "foo" but also its all mangled names. In MSVC mangling scheme, that means that we need to look up any symbol which starts with "?foo@@Y". In this patch, we scan the entire symbol table to search for a mangled symbol. The symbol table is a DenseMap, and that doesn't support table lookup by string prefix. This is of course very inefficient. But that should be probably OK because the user should always add 'extern "C"' to dllexported symbols. llvm-svn: 240919
* COFF: Fix flaky test.Rui Ueyama2015-06-281-4/+5
| | | | | | This test was flaky because stdout and stderr can be mixed. llvm-svn: 240918
* COFF: Undefined weak aliases are not fatal if /force is given.Rui Ueyama2015-06-281-7/+4
| | | | llvm-svn: 240917
* COFF: Add a comment.Rui Ueyama2015-06-281-1/+2
| | | | llvm-svn: 240916
* COFF: Add /noentry flag.Rui Ueyama2015-06-284-5/+27
| | | | | | | This option is sometimes used to create a resource-only DLL that doesn't need any initialization. llvm-svn: 240915
* Fix broken test.Rui Ueyama2015-06-281-1/+1
| | | | llvm-svn: 240914
* COFF: Support /force flag.Rui Ueyama2015-06-284-0/+54
| | | | | | | | | | | | | This option is to ignore remaining undefined symbols and force the linker to create an output file anyways. The existing code assumes that there's no undefined symbol after reportRemainingUndefines(). That assumption is legitimate. I also don't want to mess up the existing code for this minor feature. In order to keep it as is, remaining undefined symbols are replaced with dummy defined symbols. llvm-svn: 240913
* [PPC] fixes typos in builtins-ppc-p8vector.cJingyue Wu2015-06-281-2/+2
| | | | | | The extra ] causes %{{[0-9]]*}} to match only %<single digit> such as %1. llvm-svn: 240912
* AMDGPU/SI: Fix extra space when printing v_div_fmas_*Matt Arsenault2015-06-282-3/+3
| | | | llvm-svn: 240911
* [SLSR] S's basis must have the same type as SJingyue Wu2015-06-282-2/+24
| | | | llvm-svn: 240910
* clang-format: Stop old options from overriding new optionsBirunthan Mohanathas2015-06-281-10/+10
| | | | | | | | | | | | | | Summary: Depends on D10785. Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10786 llvm-svn: 240909
* clang-format: Add missing members to FormatStyle::operator==Birunthan Mohanathas2015-06-281-0/+6
| | | | | | | | | | | | | | Summary: Depends on D10784. Reviewers: djasper Reviewed By: djasper Subscribers: dblaikie, klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10785 llvm-svn: 240908
* clang-format: Alphabetize FormatStyle membersBirunthan Mohanathas2015-06-282-299/+301
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10784 llvm-svn: 240907
* [x86][AVX512]Asaf Badouh2015-06-2810-9/+544
| | | | | | | | | | | Add vscalef support include encoding and intrinsics review: http://reviews.llvm.org/D10730 llvm-svn: 240906
* AVX-512: Added all SKX forms of GATHER instructions.Elena Demikhovsky2015-06-2811-121/+936
| | | | | | | Added intrinsics. Added encoding and tests. llvm-svn: 240905
* [Driver] x86-64 Windows is always PICDavid Majnemer2015-06-282-2/+12
| | | | | | This fixes PR23963. llvm-svn: 240902
* COFF: Remove a function that doesn't do much itself. NFC.Rui Ueyama2015-06-283-13/+5
| | | | llvm-svn: 240901
* COFF: Handle LINK environment variable.Rui Ueyama2015-06-284-1/+20
| | | | | | | If LINK is defined and not empty, it's supposed to contain command line options. llvm-svn: 240900
* COFF: Remove useless "explicit".Rui Ueyama2015-06-281-1/+1
| | | | llvm-svn: 240899
* COFF: Make doICF non-recursive. NFC.Rui Ueyama2015-06-281-18/+20
| | | | llvm-svn: 240898
* COFF: Fix ICF correctness bug.Rui Ueyama2015-06-286-6/+98
| | | | | | | | | | | | | | When comparing two COMDAT sections, we need to take section values and associative sections into account. This patch fixes that bug. It fixes a crash bug of llvm-tblgen when linked with /opt:lldicf. One thing I don't understand yet is that this logic seems to be too strict. MSVC linker is able to create more compact executables (which of course work correctly). With this ICF algorithm, LLD is able to make executable smaller, but the outputs are larger than MSVC's. There must be something I'm missing here. llvm-svn: 240897
* clang-format: Support @autoreleasepool.Nico Weber2015-06-282-0/+31
| | | | | | | | | | Format @autoreleasepool properly for the Attach brace style by recognizing @autoreleasepool as a block introducer. Patch from Strager Neds! http://reviews.llvm.org/D10372 llvm-svn: 240896
* Replace `rm -rf` with more portable implementation.Chaoren Lin2015-06-271-5/+20
| | | | | | | | | | Reviewers: clayborg, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10787 llvm-svn: 240895
* timegm in LibcGlue needs to be extern, not static.Chaoren Lin2015-06-271-1/+1
| | | | | | | | | | | | Reviewers: vharron Reviewed By: vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10778 llvm-svn: 240894
* Revert "Debug Info: One more bitfield bugfix. While yesterday's r240853 fixed"Adrian Prantl2015-06-272-19/+14
| | | | | | This reverts commit 240890. Breaking the gdb buildbot. llvm-svn: 240893
* Don't use %llc_dwarf for target-specific tests.Benjamin Kramer2015-06-272-4/+2
| | | | | | Should fix running them on windows. llvm-svn: 240892
* [SDAG] Now that we have a way to communicate the exact bit on sdiv use it to ↵Benjamin Kramer2015-06-275-21/+34
| | | | | | | | | | | | | | | | | simplify sdiv by a constant. We had a hack in SDAGBuilder in place to work around this but now we can avoid that. Call BuildExactSDIV from BuildSDIV so DAGCombiner can perform this trick automatically. The added check in DAGCombiner is necessary to prevent exact sdiv by pow2 from regressing as the target-specific pow2 lowering is not aware of exact bits yet. This is mostly covered by existing tests. One side effect is that we get the better lowering for exact vector sdivs now too :) llvm-svn: 240891
* Debug Info: One more bitfield bugfix. While yesterday's r240853 fixedAdrian Prantl2015-06-272-17/+22
| | | | | | | | | | the DW_AT_bit_offset computation, the byte offset is in fact also endian-dependent as it needs to point to the storage unit containing the most-significant bit of the the bitfield. I'm so looking forward to emitting the endian-agnostic DWARF 3 version instead. llvm-svn: 240890
* [Sema] Unions cannot have virtual functions.Davide Italiano2015-06-273-0/+12
| | | | | | | | PR: PR23931 Differential Revision: http://reviews.llvm.org/D10752 Reviewed by: rsmith llvm-svn: 240889
* Fix typo. NFC.Alex Denisov2015-06-271-2/+2
| | | | llvm-svn: 240888
* [mips] Fold duplicate big-endian disassembler tests together.Daniel Sanders2015-06-2714-1398/+122
| | | | llvm-svn: 240887
OpenPOWER on IntegriCloud