summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* AMDGPU: Fix verifier error with kill intrinsicMatt Arsenault2016-07-123-70/+272
| | | | | | | Don't create a terminator in the middle of the block. We should probably get rid of this intrinsic. llvm-svn: 275203
* [PM] Port LoopIdiomRecognize Pass to new PMDehao Chen2016-07-127-38/+116
| | | | | | | | | | | | Summary: Port LoopIdiomRecognize Pass to new PM Reviewers: davidxl Subscribers: davide, sanjoy, mzolotukhin, llvm-commits Differential Revision: http://reviews.llvm.org/D22250 llvm-svn: 275202
* BranchFolding: Use LivePhysReg to update live in lists.Matthias Braun2016-07-122-29/+30
| | | | | | | | | | | | | | | Use LivePhysRegs with a backwards walking algorithm to update live in lists, this way the results do not depend on the presence of kill flags anymore. This patch also reduces the number of registers added as live-in. Previously all pristine registers as well as all sub registers of a super register were added resulting in unnecessarily large live in lists. This fixed https://llvm.org/PR25263. Differential Revision: http://reviews.llvm.org/D22027 llvm-svn: 275201
* AMDGPU: Set isConvergent on v_cmpx* instructionsMatt Arsenault2016-07-121-2/+3
| | | | | | | No test since these aren't used now, except for one place in a pre-emit pass. llvm-svn: 275200
* Tweaks to the NSIndexPath formatter to enhance stabilityEnrico Granata2016-07-121-89/+118
| | | | | | rdar://problem/25767901 llvm-svn: 275199
* Add logging to Linux Host::GetProcessAndStatInfo.Oleksiy Vyalov2016-07-121-4/+16
| | | | llvm-svn: 275198
* AMDGPU: Add LLVM IR Intrinsic for v_lerp_u8Wei Ding2016-07-123-0/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D22239 llvm-svn: 275197
* Fix printing of debugging information in LiveIntervals::shrinkToUsesKrzysztof Parzyszek2016-07-121-1/+1
| | | | | | | Print VNI->def before calling VNI->markUnused(), since markUnused makes the def invalid. llvm-svn: 275196
* AArch64: fix return type of vqmovun_high_*.Tim Northover2016-07-122-1/+8
| | | | | | These should be returning an unsigned quantity. llvm-svn: 275195
* Add print/dump routines to LiveInterval::SubRangeKrzysztof Parzyszek2016-07-122-10/+27
| | | | llvm-svn: 275194
* [PGO] Don't include full file path in static function profile counter namesXinliang David Li2016-07-122-3/+23
| | | | | | | Patch by Jake VanAdrighem Differential Revision: http://reviews.llvm.org/D22028 llvm-svn: 275193
* add tests for missing DeMorgan's Law foldsSanjay Patel2016-07-121-0/+55
| | | | llvm-svn: 275192
* Fix for the mingw builderDavid Majnemer2016-07-121-1/+1
| | | | llvm-svn: 275191
* [ItaniumMangle] Correctly mangle BuiltinTemplateDeclsDavid Majnemer2016-07-122-1/+17
| | | | | | | | | | A BuiltinTemplateDecl has no underlying templated decl and as such they cannot be relied upon for mangling. The ItaniumMangler had some bugs here which lead to crashes. This fixes PR28519. llvm-svn: 275190
* Add CHECK line to test case. NFC.Michael Kruse2016-07-121-2/+7
| | | | | | | | | | Check not only that the compiler is not crashing, but also whether the probablematic part (The sequence of instructions simplified to '4') is reflected in the output. Thanks to Tobias for the hint. llvm-svn: 275189
* auto-generate checksSanjay Patel2016-07-121-20/+23
| | | | llvm-svn: 275188
* auto-generate checksSanjay Patel2016-07-121-12/+13
| | | | llvm-svn: 275187
* auto-generate checksSanjay Patel2016-07-121-159/+190
| | | | llvm-svn: 275186
* Increase "process load" timeoutPavel Labath2016-07-121-0/+1
| | | | | | | | | | Loading a dynamic library can take quite a long time, since it triggers a number of shared-library-event stops for dependent libraries. This is especially true for remote targets due to communication latency. Increase the default 500ms timeout to account for that. Committing as obvious. llvm-svn: 275185
* Add tests for the meta.unary.props that do not require a complete type. This ↵Marshall Clow2016-07-124-0/+14
| | | | | | is part of LWG#2582 llvm-svn: 275184
* clang-format: [JS] Allow top-level conditionals again.Daniel Jasper2016-07-122-2/+2
| | | | | | | | I am not sure exactly which test breakage Martin was trying to fix in r273694. For now, fix the behavior for top-level conditionals, which (surprisingly) are actually used somewhat commonly. llvm-svn: 275183
* Disable the "gcd-io-race.mm" test to investigate bot hangs due to the test ↵Kuba Brecka2016-07-121-0/+2
| | | | | | being deadlocked. llvm-svn: 275182
* [compiler-rt] Disable a test failing on windows.Etienne Bergeron2016-07-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The unittest is not working on windows. The "regexp.h" is not available and gtest-port won't support regexp with operator '|'. The test wasn't failing on 32-bits because of this check: ``` if (SANITIZER_WORDSIZE != 64 || ASAN_AVOID_EXPENSIVE_TESTS) return; ``` ``` [ RUN ] AddressSanitizer.HugeMallocTest C:/src/llvm/llvm/utils/unittest/googletest\src/gtest-port.cc(272): error: Failed Syntax error at index 30 in simple regular expression "is located 1 bytes to the left|AddressSanitizer failed to allocate": '|' is unsupported. C:/src/llvm/llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc(308): error: Death test: Ident((char*)malloc(n_megs << 20))[-1] = 0 Result: died but not with expected error. Expected: is located 1 bytes to the left|AddressSanitizer failed to allocate ``` See gtest-port.h: ``` #elif GTEST_OS_WINDOWS // <regex.h> is not available on Windows. Use our own simple regex // implementation instead. # define GTEST_USES_SIMPLE_RE 1 ``` Reviewers: rnk Subscribers: llvm-commits, wang0109, kubabrecka, chrisha Differential Revision: http://reviews.llvm.org/D22257 llvm-svn: 275181
* [compiler-rt] Enhance function padding detection for function interceptionEtienne Bergeron2016-07-121-1/+24
| | | | | | | | | | | | | | | | | Summary: Many CRT (64-bits) functions contains a "hint-nop". The current padding detection is not able to recognize the 10-bytes padding and the HotPatch hooking technique cannot be used. Other patterns may be discover and may be added later. Reviewers: rnk Subscribers: llvm-commits, wang0109, chrisha Differential Revision: http://reviews.llvm.org/D22258 llvm-svn: 275180
* [MC] Flip llc's assembly comment preservation flag to have consistentNirav Dave2016-07-121-3/+4
| | | | | | orientation with llvm-mc. llvm-svn: 275179
* [AArch64] Set FMOVS0 and FMOVD0 as isAsCheapAsAMove when needed.Haicheng Wu2016-07-122-4/+10
| | | | | | | | | If a subtarget has both ZCZeroing and CustomCheapAsMoveHandling features (now only Kryo has both), set FMOVS0 and FMOVD0 isAsCheapAsAMove. Differential Revision: http://reviews.llvm.org/D22256 llvm-svn: 275178
* mark issue #2422 as complete; this was just a wording clarificationMarshall Clow2016-07-121-1/+1
| | | | llvm-svn: 275177
* mark issue #2181 as complete; this was just a wording clarificationMarshall Clow2016-07-121-1/+1
| | | | llvm-svn: 275176
* [NPL] Increase ETXTBSY workaround sleepPavel Labath2016-07-121-1/+1
| | | | | | 10ms does not seem to be enough all the time, go to 50. llvm-svn: 275175
* [SCEVAffinator] Fix assertion checking for constant divisor.Michael Kruse2016-07-122-1/+56
| | | | | | | | | | | An assertion in visitSDivInstruction() checked whether the divisor is constant by checking whether the argument is a ConstantInt. However, SCEVValidator allows the divisor to be simplified to a constant by ScalarEvolution. We synchronize the implementation of SCEVValidator and SCEVAffinator to both accept simplified SCEV expressions. llvm-svn: 275174
* [test] Fix category-based skippingPavel Labath2016-07-121-2/+0
| | | | | | | | | | | | | | | Summary: LLDBTestResult.hardMarkAsSkipped marked the whole class as skipped when the first class in the test failed the category check. This meant that subsequent tests in the same class did not run even if they were passing the category filter. Fix that. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D22213 llvm-svn: 275173
* Add option to disable __deallocate #warningSaleem Abdulrasool2016-07-123-0/+10
| | | | | | | | | | | | | | From r229162: Visual Studio's SAL extension uses a macro named __deallocate. This macro is used pervasively Using -Werror when building for Windows can force the use of -Wno-#warnings specifically because of this __deallocate #warning. Instead of forcing builds to disable all #warnings, this option allows libc++ to be built without this particular warning, while leaving other #warnings enabled. Patch by Dave Lee! llvm-svn: 275172
* Put the status in the right columnMarshall Clow2016-07-121-1/+1
| | | | llvm-svn: 275171
* Mark P0067 as 'postponed', because it will be revised before the next meetingMarshall Clow2016-07-121-2/+2
| | | | llvm-svn: 275170
* [Clang][AVX512] Making cosmetic changesMichael Zuckerman2016-07-121-12/+6
| | | | llvm-svn: 275169
* [PowerPC] Cannonicalize applicable vector shift immediates as swapsNemanja Ivanovic2016-07-126-11/+53
| | | | | | | | | | | This patch corresponds to review: http://reviews.llvm.org/D21358 Vector shifts that have the same semantics as a vector swap are cannonicalized as such to provide additional opportunities for swap removal optimization to remove unnecessary swaps. llvm-svn: 275168
* [codeview] Improved array type support.Amjad Aboud2016-07-125-33/+305
| | | | | | | | | | | | Added support for: 1. Multi dimension array. 2. Array of structure type, which previously was declared incompletely. 3. Dynamic size array. 4. Array where element type is a typedef, volatile or constant (this should resolve PR28311). Differential Revision: http://reviews.llvm.org/D21526 llvm-svn: 275167
* Recommit r275161 "[ELF] - Move section factory out from writer to make it ↵George Rimar2016-07-123-105/+132
| | | | | | | | | | | | | | | | | | reusable." With fix: * fixed compilation error under linux: template <class ELFT> class OutputSectionFactory { ... typedef typename SectionKey<ELFT::Is64Bits> Key; changed to: template <class ELFT> class OutputSectionFactory { ... typedef typename elf::SectionKey<ELFT::Is64Bits> Key; llvm-svn: 275166
* Fix a race on process exitPavel Labath2016-07-121-8/+0
| | | | | | | | | | | | | | | | | | | | | Summary: Process::SetExitStatus was popping the process io handler and resetting m_process_input_reader shared pointer, which is not a safe thing to do as the function is called asynchronously and other threads may be accessing the member variable. (E.g. if the process terminates really quickly, the private state thread might only be in the process of pushing the handler on the stack. Sometimes, this leads to deadlock, as the shared pointer's state gets corrupted by the concurrent access. Since the IOHandler will be popped anyway in Process:HandleProcessStateChangedEvent when the exited event gets processed, doing the same in SetExitStatus seems to be unnecessary. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D22209 llvm-svn: 275165
* Dwarf parser: don't lookup void typedefs in the DWOPavel Labath2016-07-121-1/+1
| | | | | | | | | | | | | | Summary: void typedefs do not have a DW_AT_type attribute, so we end up with an empty encoding_uid variable. These don't need to be looked up and trying to look that will assert in a debug build. Reviewers: clayborg Subscribers: lldb-commits, tberghammer Differential Revision: http://reviews.llvm.org/D22218 llvm-svn: 275164
* Revert r275161 "[ELF] - Move section factory out from writer to make it ↵George Rimar2016-07-123-132/+105
| | | | | | | | | reusable." It broke build bot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-debian-fast/builds/39652 llvm-svn: 275163
* [ELF] - Make few members of Writer to be global and export them for reuseGeorge Rimar2016-07-124-33/+52
| | | | | | | | | | | Creating sections on linkerscript side requires some methods that can be reused if are exported from writer. Patch implements that change. Differential revision: http://reviews.llvm.org/D20104 llvm-svn: 275162
* [ELF] - Move section factory out from writer to make it reusable.George Rimar2016-07-123-105/+132
| | | | | | | | | | | Since linkerscript should create sections by itself (if SECTIONS command is present), then we might want to reuse the OutputSectionFactory (D19976 already do that now), so this patch moves it out from writer cpp file for that purpose. Differential revision: http://reviews.llvm.org/D19977 llvm-svn: 275161
* AMDGPU: Unify MOVRELSOffset and MOVRELDOffsetNicolai Haehnle2016-07-125-40/+23
| | | | | | | | | | | | | | | | Summary: Previously, constant index insertelements would be turned into SI_INDIRECT_DST, which is bound to prevent some optimization opportunities. Worse, it mislead the heuristic that decides whether immediates should be lowered to S_MOV_B32 or V_MOV_B32 in a way that resulted in unnecessary v_readfirstlanes. Reviewers: arsenm, tstellarAMD Subscribers: arsenm, kzhuravl, llvm-commits Differential Revision: http://reviews.llvm.org/D22217 llvm-svn: 275160
* [ELF] - Add Id field to Version struct.George Rimar2016-07-124-11/+21
| | | | | | | | | | | That helps to avoid expressions like I + 2 in code that assigns version number to symbols. Change was suggested by Rui Ueyama. Differential revision: http://reviews.llvm.org/D22086 llvm-svn: 275159
* [ELF] Support for symbol assignment in linker scripts within SECTIONS {} blockEugene Leviant2016-07-124-19/+73
| | | | llvm-svn: 275158
* [ASTMatchers] isSignedInteger() and isUnsignedInteger()Clement Courbet2016-07-124-4/+76
| | | | | | | | Complementary to isInteger(), these match signed and unsigned integers respectively. Review: http://reviews.llvm.org/D21989 llvm-svn: 275157
* Revert "New pass manager for LICM."Vitaly Buka2016-07-1231-175/+67
| | | | | | | | | | Summary: This reverts commit r275118. Subscribers: sanjoy, mehdi_amini Differential Revision: http://reviews.llvm.org/D22259 llvm-svn: 275156
* [AVX512] Remove masked logic op intrinsics and autoupgrade them to native IR.Craig Topper2016-07-127-1276/+1197
| | | | llvm-svn: 275155
* [MS ABI] Support throwing/catching __unaligned typesDavid Majnemer2016-07-124-11/+31
| | | | | | | | We need to mark the appropriate bits in ThrowInfo and HandlerType so that the personality routine can correctly handle qualification conversions. llvm-svn: 275154
OpenPOWER on IntegriCloud