summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR17295: Do not allow explicit conversion functions to be used in cases whereRichard Smith2013-09-215-8/+127
| | | | | | | | | | an additional conversion (other than a qualification conversion) would be required after the explicit conversion. Conversely, do allow explicit conversion functions to be used when initializing a temporary for a reference binding in direct-list-initialization. llvm-svn: 191150
* tsan: allow to obtain code range for a particular moduleDmitry Vyukov2013-09-213-0/+49
| | | | | | this is required to ignore interceptors when called from the module llvm-svn: 191149
* Peter Collingbourne: Fix warnings when compiling with -DNDEBUG.Howard Hinnant2013-09-211-0/+3
| | | | llvm-svn: 191148
* Some comment updates and tweaks for clarity.Richard Smith2013-09-212-23/+32
| | | | llvm-svn: 191147
* Rearrange narrowing checks in initialization to be a different form of stepRichard Smith2013-09-212-38/+49
| | | | | | | | rather than a post-processing action, so we can support inserting these checks at stages other than the end of the initialization. No functionality change intended. llvm-svn: 191146
* Peter Collingbourne: If a pointer is passed as the third argument of the ↵Howard Hinnant2013-09-212-10/+26
| | | | | | | | | | | | (iterator, iterator, allocator) constructor with the intention of it being implicitly converted to the allocator type, it is possible for overload resolution to favour the (iterator, iterator, enable_if) constructor. Eliminate this possibility by moving the enable_if to one of the existing arguments and removing the third argument. llvm-svn: 191145
* tsan: intercept fork syscallDmitry Vyukov2013-09-213-22/+84
| | | | llvm-svn: 191144
* SROA: Handle casts involving vectors of pointers and integer scalars.Benjamin Kramer2013-09-212-11/+100
| | | | | | | | | | SROA wants to convert any types of equivalent widths but it's not possible to convert vectors of pointers to an integer scalar with a single cast. As a workaround we add a bitcast to the corresponding int ptr type first. This type of cast used to be an edge case but has become common with SLP vectorization. Fixes PR17271. llvm-svn: 191143
* Apply LWG 2048. It is amazing to me that this actually works, but the ↵Howard Hinnant2013-09-212-45/+1
| | | | | | existing tests confirm that it does. c++1y status page now showing libc++ is complete for c++1y modulo dynarray issues. llvm-svn: 191142
* Apply LWG 2021. This is only a documentation change. Also bringing c++1y ↵Howard Hinnant2013-09-212-6/+6
| | | | | | status page up to date. llvm-svn: 191141
* Apply LWG 2017. This is a only a documentation change.Howard Hinnant2013-09-211-1/+1
| | | | llvm-svn: 191140
* clang-format: Improve address-of-operator detectionDaniel Jasper2013-09-212-1/+2
| | | | | | | | | | Before: size = sizeof * a; After: size = sizeof *a; llvm-svn: 191139
* Revert "SelectionDAG: Teach the legalizer to split SETCC if VSELECT needs ↵Juergen Ributzka2013-09-214-83/+9
| | | | | | | | splitting too." This reverts commit r191130. llvm-svn: 191138
* Fix clang-format-diff.py to accept -style again.Daniel Jasper2013-09-211-1/+1
| | | | | | Copy and paste error in r190935.. llvm-svn: 191137
* Remove alignment restrictions from FMA load folding.Craig Topper2013-09-211-31/+31
| | | | llvm-svn: 191136
* SLPVectorizer: Fix multiline comment warningArnold Schwaighofer2013-09-211-2/+2
| | | | llvm-svn: 191135
* ELF: Parse types in directives like binutils gasDavid Majnemer2013-09-213-21/+72
| | | | | | | | | | Allow binutils .type and .section directives to take the following forms: - @<type> - %<type> - "<type>" llvm-svn: 191134
* Fix the buildbotJuergen Ributzka2013-09-211-3/+3
| | | | llvm-svn: 191133
* tsan: do not try to use builtin atomic operationsDmitry Vyukov2013-09-211-29/+11
| | | | | | see the comment in code llvm-svn: 191132
* [X86] Emulate AVX 256bit MIN/MAX support by splitting the vector.Juergen Ributzka2013-09-212-19/+54
| | | | | | | | | | | In AVX 256bit vectors are valid vectors and therefore the Type Legalizer doesn't split the VSELECT and SETCC nodes. AVX only supports MIN/MAX on 128bit vectors and this fix enables vector splitting for this special case in the X86 DAG Combiner. This fix is related to PR16695, PR17002, and <rdar://problem/14594431>. llvm-svn: 191131
* SelectionDAG: Teach the legalizer to split SETCC if VSELECT needs splitting too.Juergen Ributzka2013-09-214-9/+74
| | | | | | | | | | | | | | | | | | The Type Legalizer recognizes that VSELECT needs to be split, because the type is to wide for the given target. The same does not always apply to SETCC, because less space is required to encode the result of a comparison. As a result VSELECT is split and SETCC is unrolled into scalar comparisons. This commit fixes the issue by checking for VSELECT-SETCC patterns in the DAG Combiner. If a matching pattern is found, then the result mask of SETCC is promoted to the expected vector mask for the given target. This mask has usually te same size as the VSELECT return type (except for Intel KNL). Now the type legalizer will split both VSELECT and SETCC. This allows the following X86 DAG Combine code to sucessfully detect the MIN/MAX pattern. This fixes PR16695, PR17002, and <rdar://problem/14594431>. llvm-svn: 191130
* tsan: intercept close syscallDmitry Vyukov2013-09-212-1/+23
| | | | llvm-svn: 191129
* Initialize BSSSection explicitly in InitMachOMCObjectFileInfo() to appease msvc.NAKAMURA Takumi2013-09-214-9/+3
| | | | | | This can revert r191087. llvm-svn: 191128
* N3659: Shared locking in C++ Revision 2, c++1y onlyHoward Hinnant2013-09-2139-32/+2300
| | | | llvm-svn: 191127
* David Chisnall: macro protect 'test' in __has_pointer_type_imp.Howard Hinnant2013-09-211-3/+3
| | | | llvm-svn: 191126
* Set .reorder for the stub so that gas takes care of delay slot processing.Reed Kotler2013-09-212-1/+23
| | | | llvm-svn: 191125
* [Mips] Allocate NaClTargetInfo for MIPSEL NaClPetar Jovanovic2013-09-212-0/+47
| | | | | | | | A patch to AllocateTarget function to recognize llvm::Triple::NaCl for MIPSEL and return NaClTargetInfo. Additional test has been added to check if the expected macros get defined. llvm-svn: 191124
* Reapply "SLPVectorizer: Handle more horizontal reductions (disabled)""Arnold Schwaighofer2013-09-212-8/+779
| | | | | | | | | | | | | | Reapply r191108 with a fix for a memory corruption error I introduced. Of course, we can't reference the scalars that we replace by vectorizing and then call their eraseFromParent method. I only 'needed' the scalars to get the DebugLoc. Just store the DebugLoc before actually vectorizing instead. As a nice side effect, this also simplifies the interface between BoUpSLP and the HorizontalReduction class to returning a value pointer (the vectorized tree root). radar://14607682 llvm-svn: 191123
* LoopVectorizer: Only allow vectorization of intrinsics. We can't know for ↵Nadav Rotem2013-09-212-5/+39
| | | | | | | | sure that the functions 'abs' or 'round' are the functions from libm. rdar://15012650 llvm-svn: 191122
* Revert "SLPVectorizer: Handle more horizontal reductions (disabled)"Arnold Schwaighofer2013-09-212-783/+8
| | | | | | | | | This reverts commit r191108. The horizontal.ll test case fails under libgmalloc. Thanks Shuxin for pointing this out to me. llvm-svn: 191121
* Fix return type of _mm_extract_epi8 etc.Eli Friedman2013-09-212-2/+10
| | | | | | PR17300. llvm-svn: 191120
* Move emission of the debug string table to early in the debugEric Christopher2013-09-206-35/+59
| | | | | | | info finalization to greatly reduce the number of fixups that the assembler has to handle in order to improve compile time. llvm-svn: 191119
* Resurrect r191017 " GVN proceeds in the presence of dead code" plus a fix to ↵Shuxin Yang2013-09-209-28/+388
| | | | | | | | | PR17307 & 17308. The problem of r191017 is that when GVN fabricate a val-number for a dead instruction (in order to make following expr-PRE happy), it forget to fabricate a leader-table entry for it as well. llvm-svn: 191118
* MC: Tidy up.Jim Grosbach2013-09-201-743/+723
| | | | | | | | Clean up some simple code quality issues. Bring internal naming conventions up to current standard, fix inconsistent formatting, and tidy up a couple of odd contructs. llvm-svn: 191117
* Various small changes for build of LLDB on Visual Studio 2013 RC (MSVC12)Virgile Bello2013-09-206-1/+27
| | | | llvm-svn: 191116
* Add backslash as path separator for Win32.Virgile Bello2013-09-201-1/+10
| | | | llvm-svn: 191115
* Remove unused friend class forward definitions (causing problem with MSVC ↵Virgile Bello2013-09-202-3/+0
| | | | | | anyway). llvm-svn: 191114
* Migrate addGlobalName to the .cpp file as an intermediate stepEric Christopher2013-09-202-2/+6
| | | | | | to further work. llvm-svn: 191113
* InstCombine: Remove unused argument. No functionality change.Benjamin Kramer2013-09-202-12/+6
| | | | llvm-svn: 191112
* Fix some more MCJIT PIC test XFAILs (for i386)Andrew Kaylor2013-09-205-5/+5
| | | | | | Patch by Dimitry Andric llvm-svn: 191111
* Change posix thread so that it creates a breakpoint stop reason if the ↵Matt Kopec2013-09-201-18/+9
| | | | | | breakpoint isn't valid for the current thread but specify should stop to false. Also remove selecting a thread on a breakpoint hit. llvm-svn: 191110
* [mips] MUL should clobber HI0 and LO0.Akira Hatanaka2013-09-201-0/+1
| | | | | | I cannot think of a test case that reliably triggers this bug. llvm-svn: 191109
* SLPVectorizer: Handle more horizontal reductions (disabled)Arnold Schwaighofer2013-09-202-8/+783
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Match reductions starting at binary operation feeding into a phi. The code handles trees like r += v1 + v2 + v3 ... and r += v1 r += v2 ... and r *= v1 + v2 + ... We currently only handle associative operations (add, fadd fast). The code can now also handle reductions feeding into stores. a[i] = v1 + v2 + v3 + ... The code is currently disabled behind the flag "-slp-vectorize-hor". The cost model for most architectures is not there yet. I found one opportunity of a horizontal reduction feeding a phi in TSVC (LoopRerolling-flt) and there are several opportunities where reductions feed into stores. radar://14607682 llvm-svn: 191108
* Switch tests in test/Headers to use %clang_cc1 rather than %clang. ThereChandler Carruth2013-09-208-14/+16
| | | | | | | | is no need to go through the driver indirection here, and it clutters things up as dependencies can sneak in for specific things the driver is doing. llvm-svn: 191107
* GC empty directoryJoerg Sonnenberger2013-09-200-0/+0
| | | | llvm-svn: 191106
* Delete empty files.Joerg Sonnenberger2013-09-202-0/+0
| | | | llvm-svn: 191105
* Revert r191017, it results in segmentation faults in Qt.Joerg Sonnenberger2013-09-209-384/+28
| | | | llvm-svn: 191104
* Refactor: CheckExplicitInitList is only called to check an entire InitListExpr,Richard Smith2013-09-201-15/+20
| | | | | | | so the Index in/out parameters are pointless (always passed in as 0, always ignored by the caller). llvm-svn: 191103
* Fix lldb regressions due to r190812 in the case where debug info is present.Ashok Thirumurthi2013-09-204-10/+7
| | | | | | | | | | | | Specifically, allows the unwinder to handle the case where sc.function gets resolved with a pc that is one past the address range of the function (consistent with a tail call). However, there is no matching symbol. Adds eSymbolContextTailCall to provide callers with control over the scope of symbol resolution and to allow ResolveSymbolContextForAddress to handle tail calls since this routine is common to unwind and disassembly. llvm-svn: 191102
* Add an xfail test as 'expr myfloat' can add digits consistentAshok Thirumurthi2013-09-201-1/+12
| | | | | | with the closest available 32-bit floating point representation. llvm-svn: 191101
OpenPOWER on IntegriCloud