summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [X86][SSE] Add cost model for BSWAP of vectorsSimon Pilgrim2016-06-204-175/+130
| | | | | | | | The BSWAP of vector types is quite efficiently implemented using vector shuffles on SSE/AVX targets, we should reflect the typical cost of this to encourage vectorization. Differential Revision: http://reviews.llvm.org/D21521 llvm-svn: 273217
* [X86][X87] Fix issue with sitofp i64 -> fp128 on 32-bit targetsSimon Pilgrim2016-06-202-94/+176
| | | | | | | | Fix for PR27726 - sitofp i64 to fp128 was loading the merged load i64 to a x87 register preventing legalization for conversion to fp128. Added 32-bit tests for fp128 cast/conversions. llvm-svn: 273210
* don't repeat function names in documentation comments; NFCSanjay Patel2016-06-201-68/+62
| | | | llvm-svn: 273209
* Forgot to svn add one of my test files for the change in r273207.Kevin Enderby2016-06-201-0/+0
| | | | llvm-svn: 273208
* Add support for Darwin’s 64-bit universal files with 64-bit offsets and ↵Kevin Enderby2016-06-206-21/+122
| | | | | | | | | | | | | | | | sizes for the objects. Darwin added support in its Xcode 8.0 tools (released in the beta) for universal files where offsets and sizes for the objects are 64-bits to allow support for objects contained in universal files to be larger then 4gb. The change is very straight forward. There is a new magic number that differs by one bit, much like the 64-bit Mach-O files. Then there is a new structure that follow the fat_header that has the same layout but with the offset and size fields using 64-bit values instead of 32-bit values. rdar://26899493 llvm-svn: 273207
* Delete dead code. NFC.Rafael Espindola2016-06-201-8/+0
| | | | llvm-svn: 273206
* Remove interface to get/set MaxFunctionCountEaswaran Raman2016-06-202-18/+0
| | | | | | Differential revision: http://reviews.llvm.org/D19185 llvm-svn: 273203
* [tsan] Do not instrument accesses to the gcov counters arrayVedant Kumar2016-06-202-0/+12
| | | | | | | | There is a known intended race here. This is a follow-up to r264805, which disabled tsan instrumentation for updates to instrprof counters. For more background on this please see the discussion in D18164. llvm-svn: 273202
* [InstSimplify] analyze (optionally casted) icmps to eliminate obviously ↵Sanjay Patel2016-06-205-55/+129
| | | | | | | | | | | | | | | false logic (PR27869) By moving this transform to InstSimplify from InstCombine, we sidestep the problem/question raised by PR27869: https://llvm.org/bugs/show_bug.cgi?id=27869 ...where InstCombine turns an icmp+zext into a shift causing us to miss the fold. Credit to David Majnemer for a draft patch of the changes to InstructionSimplify.cpp. Differential Revision: http://reviews.llvm.org/D21512 llvm-svn: 273200
* Pass AssumptionCacheTracker from SampleProfileLoader to InlinerDehao Chen2016-06-203-4/+92
| | | | | | | | | | | | Summary: Inliner needs ACT when calling InlineFunction. Instead of nullptr, we need to pass it in from SampleProfileLoader Reviewers: davidxl Subscribers: eraman, vsk, danielcdh, llvm-commits Differential Revision: http://reviews.llvm.org/D21205 llvm-svn: 273199
* test commit: remove trailing whitespaceThomas Jablin2016-06-201-1/+1
| | | | llvm-svn: 273197
* Fix a relatively nasty bug with fs::getPathFromOpenFD() on Windows. The ↵Aaron Ballman2016-06-202-4/+46
| | | | | | GetFinalPathNameByHandle API does not behave as documented; if given a buffer that has enough space for the path but not the null terminator, the call will return the number of characters required *without* the null terminator (despite being documented otherwise) and it will not set GetLastError(). The result was that this function would return a bogus path and no error. Instead, ensure there is sufficient space for a null terminator (we already strip it off manually for compatibility with older versions of Windows). llvm-svn: 273195
* Rename to be consistent with other type names. NFCDaniel Berlin2016-06-202-16/+16
| | | | llvm-svn: 273194
* [MemorySSA] Clean up unit tests a tiny bit. NFC.George Burgess IV2016-06-201-4/+4
| | | | | | | | | We recently made MemorySSA own the walker it creates. As a part of this, the MSSA test fixture was changed to have a `Walker*` instead of a `unique_ptr<Walker>`. So, we no longer need to do `&*Walker` in order to get a `Walker*`. llvm-svn: 273189
* InstCombine: Don't strip convergent from intrinsic callsitesMatt Arsenault2016-06-202-1/+13
| | | | | | | Specific instances of intrinsic calls may want to be convergent, such as certain register reads but the intrinsic declaration is not. llvm-svn: 273188
* Add a isPositionIndependent helper to ARMFastISel. NFC.Rafael Espindola2016-06-201-8/+13
| | | | llvm-svn: 273187
* [InstCombine] consolidate some icmp+logic tests and improve checksSanjay Patel2016-06-204-47/+53
| | | | llvm-svn: 273186
* [AArch64] Adjust the loop buffer size for Exynos M1 (NFC)Evandro Menezes2016-06-201-1/+1
| | | | llvm-svn: 273185
* [Kaleidoscope][BuildingAJIT] Remove some superfluous commas in Chapter 2.Lang Hames2016-06-201-2/+2
| | | | llvm-svn: 273184
* [Kaleidoscope][BuildingAJIT] Fix a punctuation mistake in Chapter 2.Lang Hames2016-06-201-1/+1
| | | | llvm-svn: 273183
* AMDGPU: Preserve undef flag on vcc when shrinking v_cndmask_b32Matt Arsenault2016-06-202-17/+43
| | | | | | | | | The implicit operand is added by the initial instruction construction, so this was adding an additional vcc use. The original one was missing the undef flag the original condition had, so the verifier would complain. llvm-svn: 273182
* AMDGPU: Fold more custom nodes to undefMatt Arsenault2016-06-2010-17/+168
| | | | | | | | | | | This will help sneak undefs past GVN into the DAG for some tests. Also add missing intrinsic for rsq_legacy, even though the node was already selected to the instruction. Also start passing the debug location to intrinsic errors. llvm-svn: 273181
* [InstCombine] update to use FileCheck with autogenerated exact checkingSanjay Patel2016-06-201-9/+22
| | | | llvm-svn: 273180
* Generalize DiagnosticInfoStackSize to support other limitsMatt Arsenault2016-06-204-17/+65
| | | | | | | Backends may want to report errors on resources other than stack size. llvm-svn: 273177
* [InstCombine] update to use FileCheck with autogenerated exact checkingSanjay Patel2016-06-201-143/+269
| | | | llvm-svn: 273173
* AMDGPU: Use correct method for determining instruction sizeMatt Arsenault2016-06-202-7/+37
| | | | llvm-svn: 273172
* Properly handle short file names on the command line in Windows [TAKE 2]Adrian McCarthy2016-06-201-2/+34
| | | | | | | | Trying to expand short names with a relative path doesn't work, so this first gets the module name to get a full path (which can still have short names). llvm-svn: 273171
* [InstCombine] regenerate checksSanjay Patel2016-06-201-30/+45
| | | | llvm-svn: 273170
* Use shouldAssumeDSOLocal.Rafael Espindola2016-06-202-1/+22
| | | | | | With this ARM fast isel knows that PIE variable are not preemptable. llvm-svn: 273169
* AMDGPU: Add support for R_AMDGPU_REL32 relocationsTom Stellard2016-06-204-7/+20
| | | | | | | | | | Reviewers: arsenm, kzhuravl, rafael Subscribers: arsenm, llvm-commits, kzhuravl Differential Revision: http://reviews.llvm.org/D21401 llvm-svn: 273168
* Simplify. NFC.Rafael Espindola2016-06-201-6/+2
| | | | llvm-svn: 273167
* AMDGPU: Emit R_AMDGPU_ABS32_{HI,LO} for scratch buffer relocationsTom Stellard2016-06-203-6/+29
| | | | | | | | | | Reviewers: arsenm, rafael, kzhuravl Subscribers: rafael, arsenm, llvm-commits, kzhuravl Differential Revision: http://reviews.llvm.org/D21400 llvm-svn: 273166
* [ARM] Enable isel of UMAALSam Parker2016-06-206-10/+162
| | | | | | | | | | TargetLowering and DAGToDAG are used to combine ADDC, ADDE and UMLAL dags into UMAAL. Selection is split into the two phases because it is easier to match the two patterns at those different times. Differential Revision: http://http://reviews.llvm.org/D21461 llvm-svn: 273165
* Add a isPositionIndependent predicate.Rafael Espindola2016-06-202-17/+20
| | | | | | | Reduces a bit of code duplication and clarify where we are interested just on position independence and no the location of the symbol. llvm-svn: 273164
* Forgot to update callers of deleteDeadInstructionDavid Majnemer2016-06-201-2/+2
| | | | llvm-svn: 273163
* Reapply "[LoopIdiom] Don't remove dead operands manually"David Majnemer2016-06-202-9/+27
| | | | | | | | This reverts commit r273160, reapplying r273132. RecursivelyDeleteTriviallyDeadInstructions cannot be called on a parentless Instruction. llvm-svn: 273162
* Removing an unused switch statement that has only a default label. This ↵Aaron Ballman2016-06-201-22/+16
| | | | | | happens to also eliminate an instance of switchception. NFC intended. llvm-svn: 273161
* Revert "[LoopIdiom] Don't remove dead operands manually"Cong Liu2016-06-202-27/+2
| | | | | | | | This reverts commit r273132. Breaks multiple test under /llvm/test:Transforms (e.g. llvm/test:Transforms/LoopIdiom/basic.ll.test) under asan. llvm-svn: 273160
* [X86][F16C] Added half <-> double conversion testsSimon Pilgrim2016-06-201-0/+2113
| | | | llvm-svn: 273153
* Fix formatting of r273144. NFC.Patrik Hagglund2016-06-201-4/+4
| | | | llvm-svn: 273149
* [AARCH64] Add support for Broadcom VulcanPankaj Gode2016-06-206-1/+16
| | | | | | | | Adding core tuning support for new Broadcom Vulcan core (ARMv8.1A). Differential Revision: http://reviews.llvm.org/D21500 llvm-svn: 273148
* Avoid output indeterminism between GCC and Clang builds.Patrik Hagglund2016-06-201-2/+6
| | | | | | | | | Remove dependency of the evalution order of function arguments, which is unspecified. Patch by David Stenberg. llvm-svn: 273145
* Avoid output indeterminism between GCC and Clang builds.Patrik Hagglund2016-06-201-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove dependency of the evalution order of function arguments, which is unspecified. The following test previously failed when built with GCC (but succeded when built with Clang): ; RUN: opt -sroa -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" %A = type {i16} @a = global %A* null @b = global i16 0 ; CHECK-LABEL: @f1( ; CHECK: alloca %A ; CHECK-NEXT: extractvalue %A ; CHECK-NEXT: getelementptr inbounds %A define void @f1 (%A %a) { %1 = alloca %A store %A %a, %A* %1 %2 = load i16, i16* @b %3 = icmp ne i16 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: store %A* %1, %A** @a br label %bb2 bb2: ret void } Patch by David Stenberg. Differential Revision: http://reviews.llvm.org/D21226 llvm-svn: 273144
* Fix for PR27940Patrik Hagglund2016-06-202-2/+86
| | | | | | | | | | | | | | After a store has been eliminated, when making sure that the instruction iterator points to a valid instruction, dbg intrinsics are now ignored as a new instruction. Patch by Henric Karlsson. Reviewed by Daniel Berlin. Differential Revision: http://reviews.llvm.org/D21076 llvm-svn: 273141
* [codeview] Add an extra check for TPI hash values.Rui Ueyama2016-06-201-2/+10
| | | | | | | This patch adds a function that corresponds to `fUDTAnon` and use that to compute TPI hash values as the reference does. llvm-svn: 273139
* [AVX512] [AVX512/AVX][Intrinsics] Fix Variable Bit Shift Right Arithmetic ↵Igor Breger2016-06-2010-12/+104
| | | | | | | | intrinsic lowering. Differential Revision: http://reviews.llvm.org/D20897 llvm-svn: 273138
* [X86] Pass the SDLoc and Mask ArrayRef down from lowerVectorShuffle through ↵Craig Topper2016-06-201-127/+78
| | | | | | all of the other routines instead of recreating them in the handlers for each type. NFC llvm-svn: 273137
* [X86] Use existing ArrayRef variable instead of calling SVOp->getMask() ↵Craig Topper2016-06-201-12/+12
| | | | | | repeatedly. Remove nearby else after return as well. NFC llvm-svn: 273136
* [X86] Avoid making a copy of a shuffle mask until we're sure we really need ↵Craig Topper2016-06-201-7/+7
| | | | | | to. And just use a SmallVector to do the copy because its easy. llvm-svn: 273135
* Fix dynamically linked debug builds.Eli Friedman2016-06-201-0/+1
| | | | | | | | | | On the surface, this might not look like it does anything... but actually it brings in the declaration "extern template class AnalysisManager<Loop>;", which suppresses the instantiation of the constructor, which avoids the funny interaction between "extern template" and -fvisibility-inlines-hidden. llvm-svn: 273133
OpenPOWER on IntegriCloud