summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ELF] - Separate locals list from versions.George Rimar2016-11-163-13/+10
| | | | | | | | | This change separates all versioned locals to be a separate list in config, that was suggested by Rafael and simplifies the logic a bit. Differential revision: https://reviews.llvm.org/D26754 llvm-svn: 287132
* AMDGPU/SI: Avoid creating unnecessary copies in the SIFixSGPRCopies passTom Stellard2016-11-168-36/+89
| | | | | | | | | | | | | | | | | | | | | | Summary: 1. Don't try to copy values to and from the same register class. 2. Replace copies with of registers with immediate values with v_mov/s_mov instructions. The main purpose of this change is to make MachineSink do a better job of determining when it is beneficial to split a critical edge, since the pass assumes that copies will become move instructions. This prevents a regression in uniform-cfg.ll if we enable critical edge splitting for AMDGPU. Reviewers: arsenm Subscribers: arsenm, kzhuravl, llvm-commits Differential Revision: https://reviews.llvm.org/D23408 llvm-svn: 287131
* [ExecutionEngine] Fix examples build broken in r287126 and other Include ↵Eugene Zelenko2016-11-161-0/+16
| | | | | | What You Use warnings. llvm-svn: 287130
* Fixed layout of test/ASTMerge.Sean Callanan2016-11-1661-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | As outlined in a previous RFC, the test/ASTMerge/Inputs folder is getting full and the tests are starting to become interdependent. This is undesirable because - it makes it harder to write new tests - it makes it harder to figure out at a glance what old tests are doing, and - it adds the risk of breaking one test while changing a different one, because of the interdependencies. To fix this, according to the conversation in the RFC, I have changed the layout from a.c Inputs/a1.c Inputs/a2.c to a/test.c a/Inputs/a1.c a/Inputs/a2.c for all existing tests. I have also eliminated interdependencies by replicating the input files for each test that uses them. https://reviews.llvm.org/D26571 llvm-svn: 287129
* [Frontend] Allow attaching an external sema source to compiler instance and ↵Benjamin Kramer2016-11-165-0/+93
| | | | | | | | | | | extra diags to TypoCorrections This can be used to append alternative typo corrections to an existing diag. include-fixer can use it to suggest includes to be added. Differential Revision: https://reviews.llvm.org/D26745 llvm-svn: 287128
* fix comment formatting; NFCSanjay Patel2016-11-162-11/+7
| | | | llvm-svn: 287127
* [ExecutionEngine] Fix some Clang-tidy modernize-use-default, ↵Eugene Zelenko2016-11-1610-92/+147
| | | | | | | | modernize-use-equals-delete and Include What You Use warnings; other minor fixes. Differential revision: https://reviews.llvm.org/D26729 llvm-svn: 287126
* Don't error if __tls_get_addr is defined.Rafael Espindola2016-11-162-1/+12
| | | | | | | Turns out some systems do define it. Not producing an error in this case matches gold and bfd. llvm-svn: 287125
* [ELF] - Added support for extern "c++" local symbols in version script.George Rimar2016-11-165-48/+90
| | | | | | | | | Previously we did not support them, patch implements this functionality Differential revision: https://reviews.llvm.org/D26604 llvm-svn: 287124
* [ELF] - Change error message according to review comment. NFC.George Rimar2016-11-162-2/+2
| | | | | | Forgot about that, I am sorry. llvm-svn: 287123
* [x86] add fake scalar FP logic instructions to ReplaceableInstrs to save ↵Sanjay Patel2016-11-166-122/+130
| | | | | | | | | | | | | | | | | | | some bytes We can replace "scalar" FP-bitwise-logic with other forms of bitwise-logic instructions. Scalar SSE/AVX FP-logic instructions only exist in your imagination and/or the bowels of compilers, but logically equivalent int, float, and double variants of bitwise-logic instructions are reality in x86, and the float variant may be a shorter instruction depending on which flavor (SSE or AVX) of vector ISA you have...so just prefer float all the time. This is a preliminary step towards solving PR6137: https://llvm.org/bugs/show_bug.cgi?id=6137 Differential Revision: https://reviews.llvm.org/D26712 llvm-svn: 287122
* [Orc] Re-enable the RPC unit test disabled in r286917.Lang Hames2016-11-161-168/+163
| | | | | | | | | This unit test infinite-looped on s390x due to a thread_yield being optimized out. I've updated the QueueChannel class (where thread_yield was called) to use a condition variable instead. This should cause the unit test to behave correctly. llvm-svn: 287121
* [ELF] - Improve diagnostic messages.George Rimar2016-11-162-4/+6
| | | | | | | | | Particulaty "cannot preempt symbol" message is extended with locations now. Differential revision: https://reviews.llvm.org/D26738 llvm-svn: 287120
* Define -build-id=tree as a synonym for -build-id=sha1.Rui Ueyama2016-11-162-12/+22
| | | | | | | | Our build-id is a tree hash anyway, so I'll define this as a synonym for sha1. GNU gold takes this parameter, so this is for compatibility with that. llvm-svn: 287119
* [change-namespace] handle constructor initializer: Derived : Base::Base() {} ↵Eric Liu2016-11-164-24/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | and added conflict detections Summary: namespace nx { namespace ny { class Base { public: Base(i) {}} } } namespace na { namespace nb { class X : public nx::ny { public: X() : Base::Base(1) {} }; } } When changing from na::nb to x::y, "Base::Base" will be changed to "nx::ny::Base" and "Base::" in "Base::Base" will be replaced with "nx::ny::Base" too, which causes conflict. This conflict should've been detected when adding replacements but was hidden by `addOrMergeReplacement`. We now also detect conflict when adding replacements where conflict must not happen. The namespace lookup is tricky here, we simply replace "Base::Base()" with "nx::ny::Base()" as a workaround, which compiles but not perfect. Reviewers: hokein Subscribers: bkramer, cfe-commits Differential Revision: https://reviews.llvm.org/D26637 llvm-svn: 287118
* [sancov] Name the global containing the main source file nameReid Kleckner2016-11-162-4/+4
| | | | | | | If the global name doesn't start with __sancov_gen, ASan will insert unecessary red zones around it. llvm-svn: 287117
* test commit, changed tab to spaces, NFCDaniil Fukalov2016-11-161-1/+1
| | | | llvm-svn: 287116
* target-data test update for TCE and TCELEPekka Jaaskelainen2016-11-161-1/+5
| | | | llvm-svn: 287115
* Remove duplicate condition (PR30648). NFCI.Simon Pilgrim2016-11-161-2/+1
| | | | | | We only need to check that the bitstream entry is a Record. llvm-svn: 287114
* Remove Windows-specific minidump pluginAdrian McCarthy2016-11-1611-1028/+1
| | | | | | | | | | | | With the cross-platform minidump plugin working, the Windows-specific one is no longer needed. This eliminates the unnecessary code. This does not eliminate the Windows-specific tests, as they hit a few cases the general tests don't. (The Windows-specific tests are currently passing.) I'll look into a separate patch to make sure we're not doing too much duplicate testing. After that I might do a little re-org in the Windows plugin, as there was some factoring there (Common & Live) that probably isn't necessary anymore. Differential Revision: https://reviews.llvm.org/D26697 llvm-svn: 287113
* Add a little endian variant of TCE.Pekka Jaaskelainen2016-11-165-2/+52
| | | | llvm-svn: 287112
* Add a little endian variant of TCE.Pekka Jaaskelainen2016-11-162-1/+11
| | | | llvm-svn: 287111
* [X86] Add integer division test for PR23590Simon Pilgrim2016-11-161-0/+41
| | | | | | Shows missed opportunity to recognise reduced integer division result size llvm-svn: 287110
* Fix -verify tests for older ccache versionsEric Fiselier2016-11-161-2/+8
| | | | llvm-svn: 287109
* [X86][AVX512] Autoupgrade lossless i32/u32 to f64 conversion intrinsics with ↵Simon Pilgrim2016-11-169-167/+127
| | | | | | | | | | | | generic IR Both the (V)CVTDQ2PD (i32 to f64) and (V)CVTUDQ2PD (u32 to f64) conversion instructions are lossless and can be safely represented as generic SINT_TO_FP/UINT_TO_FP calls instead of x86 intrinsics without affecting final codegen. LLVM counterpart to D26686 Differential Revision: https://reviews.llvm.org/D26736 llvm-svn: 287108
* [clang-tidy] New check to prefer transparent functors to non-transparent ones.Gabor Horvath2016-11-168-0/+324
| | | | llvm-svn: 287107
* [X86][AVX512] Added some mask/maskz tests for sitofp/uitofp i32 to f64Simon Pilgrim2016-11-161-0/+68
| | | | llvm-svn: 287106
* [www] Fix spelling error in checker release notes.Devin Coughlin2016-11-161-1/+1
| | | | llvm-svn: 287105
* [X86] Regenerated integer divide tests to test on 32 and 64 bit targetsSimon Pilgrim2016-11-163-121/+631
| | | | llvm-svn: 287104
* [X86][SSE] Added PSUBUS from SELECT tests from D25987Simon Pilgrim2016-11-161-0/+651
| | | | llvm-svn: 287103
* Rangify for loop, NFC.Yaron Keren2016-11-161-6/+4
| | | | llvm-svn: 287102
* [clang-move] Support moving function.Haojian Wu2016-11-164-11/+124
| | | | | | | | | | Reviewers: ioeric Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26665 llvm-svn: 287101
* [OpenCL] Use the semantic spelling of the Access attribute, rather than a ↵Joey Gouly2016-11-162-12/+21
| | | | | | | | | string. Also fix a latent bug, due to an incorrect traversal of the AttributeList. llvm-svn: 287100
* [mips] Fix unsigned/signed type errorSimon Dardis2016-11-162-3/+21
| | | | | | | | | | | | | | | MipsFastISel uses a a class to represent addresses with a signed member to represent the offset. MipsFastISel::emitStore, emitLoad and computeAddress all treated the offset as being positive. In cases where the offset was actually negative and a frame pointer was used, this would cause the constant synthesis routine to crash as it would generate an unexpected instruction sequence when frame indexes are replaced. Reviewers: vkalintiris Differential Revision: https://reviews.llvm.org/D26192 llvm-svn: 287099
* Update to isl-0.17.1-267-gbf9723dTobias Grosser2016-11-1634-284/+485
| | | | | | | This update corrects an incorrect generation of min/max expressions in the isl AST generator and a problematic nullptr dereference. llvm-svn: 287098
* [mips] not instruction aliasSimon Dardis2016-11-1620-0/+38
| | | | | | | | | | | This patch adds the single operand form of the not alias to microMIPS and MIPS along with additional tests. This partially resolves PR/30381. Thanks to Sean Bruno for reporting the issue! llvm-svn: 287097
* Remove TimeValue classPavel Labath2016-11-166-276/+19
| | | | | | | | | | | | | | | Summary: All usages have been replaced by appropriate std::chrono funcionality, and the class is now unused. The only used part of the cpp file is the DumpTimePoint function, which I have moved into the only caller (CommandObjectTarget.cpp). Reviewers: clayborg, zturner Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D26451 llvm-svn: 287096
* Fix printf warning I introduced in ModuleSpec.hPavel Labath2016-11-161-1/+1
| | | | llvm-svn: 287095
* Remove TimeValue classPavel Labath2016-11-165-504/+0
| | | | | | | | | | | | | | Summary: All uses have been replaced by appropriate std::chrono types, and the class is now unused. Reviewers: zturner, mehdi_amini Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D26447 llvm-svn: 287094
* [ELF] Convert RelocationSection to input sectionEugene Leviant2016-11-167-209/+215
| | | | | | Differential revision: https://reviews.llvm.org/D26669 llvm-svn: 287092
* [clang-tidy] Handle template instantiations in modenize-use-default checkMalcolm Parsons2016-11-162-0/+21
| | | | | | | | | | | | | | | | Summary: Duplicate fixes were being created for explicit template instantiations of out-of-line constructors or destructors. Fixes PR30921. Reviewers: alexfh, aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26582 llvm-svn: 287091
* [ELF] Add Section() to expression objectEugene Leviant2016-11-167-60/+99
| | | | | | | | | This allows making symbols containing ADDR(section) synthetic, and defining synthetic symbols outside SECTIONS block. Differential revision: https://reviews.llvm.org/D25441 llvm-svn: 287090
* [XRay][compiler-rt] Attempt to fix ARM buildbots after r287068Diana Picus2016-11-161-0/+1
| | | | | | | | | | | Include xray_defs.h in xray_arm.cc (seems to be the only one that doesn't include it). Buildbot errors: [...]/compiler-rt/lib/xray/xray_arm.cc:31:58: error: expected initializer before 'XRAY_NEVER_INSTRUMENT' inline static uint32_t getMovwMask(const uint32_t Value) XRAY_NEVER_INSTRUMENT { llvm-svn: 287089
* [X86][AVX512] Replace lossless i32/u32 to f64 conversion intrinsics with ↵Simon Pilgrim2016-11-165-94/+106
| | | | | | | | | | | | | | generic IR Both the (V)CVTDQ2PD (i32 to f64) and (V)CVTUDQ2PD (u32 to f64) conversion instructions are lossless and can be safely represented as generic __builtin_convertvector calls instead of x86 intrinsics without affecting final codegen. This patch removes the clang builtins and their use in the headers - a future patch will deal with removing the llvm intrinsics. This is an extension patch to D20528 which dealt with the equivalent sse/avx cases. Differential Revision: https://reviews.llvm.org/D26686 llvm-svn: 287088
* [X86][AVX512] Removing llvm x86 intrinsics for _mm_mask_move_{ss|sd} intrinsics.Ayman Musa2016-11-164-18/+64
| | | | | | Differential Revision: https://reviews.llvm.org/D26128 llvm-svn: 287087
* [ELF] - Better diagnostic for "can't create dynamic relocation" error.George Rimar2016-11-1612-14/+17
| | | | | | | | | Patch improves message to show locations for "can't create dynamic relocation" error. Differential revision: https://reviews.llvm.org/D26548 llvm-svn: 287086
* Improve handling of __FUNCTION__ and other predefined expression for ↵Mehdi Amini2016-11-168-34/+129
| | | | | | | | | | | | | | Objective-C Blocks Instead of always displaying the mangled name, try to do better and get something closer to regular functions. Recommit r287039 (that was reverted in r287039) with a tweak to be more generic, and test fixes! Differential Revision: https://reviews.llvm.org/D26522 llvm-svn: 287085
* [Driver] Infer the correct option to ld64 for -fembed-bitcodeSteven Wu2016-11-164-27/+39
| | | | | | | | | | | | | | | | | | Summary: -fembed-bitcode infers -bitcode_bundle to ld64 but it is not correctly passed when using LTO. LTO is a special case of -fembed-bitcode which it doesn't require embed the bitcode in a special section in the object file but it requires linker to save that as part of the final executable. rdar://problem/29274226 Reviewers: mehdi_amini Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26690 llvm-svn: 287084
* [X86] Remove the scalar intrinsics for fadd/fsub/fdiv/fmulCraig Topper2016-11-1613-450/+314
| | | | | | | | | | | | Summary: These intrinsics have been unused for clang for a while. This patch removes them. We auto upgrade them to extractelements, a scalar operation and then an insertelement. This matches the sequence used by clangs intrinsic file. Reviewers: zvi, delena, RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26660 llvm-svn: 287083
* [ELF] Update lld now that ELF.h in LLVM has been converted to Expected.Davide Italiano2016-11-163-5/+13
| | | | llvm-svn: 287082
OpenPOWER on IntegriCloud