summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* [X86] Add -mno-iamcu option.Andrey Turetskiy2016-06-204-22/+32
| | | | | | | | | | Add -mno-iamcu option to: 1) Countervail -miamcu option easily 2) Be compatible with GCC which supports this option Differential Revision: http://reviews.llvm.org/D21469 llvm-svn: 273147
* Revert r273143 "[ELF] - Basic versioned symbols support implemented."George Rimar2016-06-2013-409/+42
| | | | | | | It broke buildbot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast llvm-svn: 273146
* 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
* [ELF] - Basic versioned symbols support implemented.George Rimar2016-06-2013-42/+409
| | | | | | | | | | | | | Patch implements basic support of versioned symbols. There is no wildcards patterns matching except local: *; There is no support for hierarchies. There is no support for symbols overrides (@ vs @@ not handled). This patch allows programs that using simple scripts to link and run. Differential revision: http://reviews.llvm.org/D21018 llvm-svn: 273143
* Fixed compilation error under MSVS 2015 (looks like compiler bug). NFC.George Rimar2016-06-201-1/+2
| | | | llvm-svn: 273142
* 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
* Fix comment.Rui Ueyama2016-06-201-1/+1
| | | | llvm-svn: 273140
* [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
* [COFF] Add /section command line flag.Rui Ueyama2016-06-206-0/+132
| | | | llvm-svn: 273134
* 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
* [LoopIdiom] Don't remove dead operands manuallyDavid Majnemer2016-06-202-2/+27
| | | | | | | | | | Removing dead instructions requires remembering which operands have already been removed. RecursivelyDeleteTriviallyDeadInstructions has this logic, don't partially reimplement it in LoopIdiomRecognize. This fixes PR28196. llvm-svn: 273132
* Reformat blank lines.NAKAMURA Takumi2016-06-205-14/+1
| | | | llvm-svn: 273131
* Trailing whitespace.NAKAMURA Takumi2016-06-202-6/+6
| | | | llvm-svn: 273130
* Untabify.NAKAMURA Takumi2016-06-209-29/+27
| | | | llvm-svn: 273129
* [InstSimplify] add tests for PR27689; regenerate checksSanjay Patel2016-06-191-22/+56
| | | | llvm-svn: 273128
* [ELF][MIPS] Support GOT entries for non-preemptible symbols with different ↵Simon Atanasyan2016-06-1914-152/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | addends There are two motivations for this patch. The first one is a preparation for support MIPS TLS relocations. It might sound like a joke but for GOT entries related to TLS relocations MIPS ABI uses almost regular approach with creation of dynamic relocations for each GOT enty etc. But we need to separate these 'regular' TLS related entries from MIPS specific local and global parts of GOT. ABI declare simple solution - all TLS related entries allocated at the end of GOT after local/global parts. The second motivation it to support GOT relocations for non-preemptible symbols with addends. If we have more than one GOT relocations against symbol S with different addends we need to create GOT entries for each unique Symbol/Addend pairs. So we store all MIPS GOT entries in separate containers. For non-preemptible symbols we have to maintain two data structures. The first one is MipsLocal vector. Each entry corresponds to the GOT entry from the 'local' part of the GOT contains the symbol's address plus addend. The second one is MipsLocalMap. It is a map from Symbol/Addend pair to the GOT index. Differential Revision: http://reviews.llvm.org/D21297 llvm-svn: 273127
* Address Eli's post-commit commentsDavid Majnemer2016-06-191-16/+19
| | | | | | | Use an APInt to handle pointers of arbitrary width, let accumulateConstantOffset handle overflow issues. llvm-svn: 273126
* [X86][AVX512] Added 512-bit BITREVERSE tests and enabled AVX512BW lowering ↵Simon Pilgrim2016-06-192-0/+1682
| | | | | | support llvm-svn: 273125
* Strip trailing whitespace. NFCI.Simon Pilgrim2016-06-191-2/+2
| | | | llvm-svn: 273124
* Add entry to CREDITS.TXT for propagate_constJonathan Coe2016-06-191-0/+4
| | | | llvm-svn: 273123
* Implement std::experimental::propagate_const from LFTS v2Jonathan Coe2016-06-1944-0/+2135
| | | | | | | | | | | | | Summary: An implementation of std::experimental::propagate_const from Library Fundamentals Technical Specification v2. No tests are provided for disallowed types like fancy pointers or function pointers as no code was written to handle these. Reviewers: EricWF, mclow.lists Differential Revision: http://reviews.llvm.org/D12486 llvm-svn: 273122
* Test commit; remove some spaces at EOL. No functional change.Marshall Clow2016-06-191-3/+3
| | | | llvm-svn: 273121
* Fixed signed/unsigned warning.Simon Pilgrim2016-06-191-1/+1
| | | | llvm-svn: 273120
* [X86][SSE] Allow target shuffle combining to match masks with SM_Sentinel valuesSimon Pilgrim2016-06-196-40/+66
| | | | | | | | | | | | We currently only allow exact matches of shuffle mask patterns during target shuffle combining. This patch relaxes this to permit SM_SentinelUndef in the combined shuffle to always be accepted as well as allowing exact matching of the SM_SentinelZero value. I've adjusted some tests that were requiring exact shuffle masks to now include undef values. Differential Revision: http://reviews.llvm.org/D21495 llvm-svn: 273119
* fix formatting, typo; NFCSanjay Patel2016-06-193-55/+55
| | | | llvm-svn: 273118
* [X86] Add an assert to ensure that a routine is only used with 128-bit ↵Craig Topper2016-06-191-2/+4
| | | | | | vectors. Reduce SmallVector size accordingly. llvm-svn: 273117
* [X86] Make is128BitLaneRepeatedShuffleMask correct the indices of the second ↵Craig Topper2016-06-191-15/+12
| | | | | | vector for the smaller mask. This removes some custom correction code and can potentially provide other benefits in the future. llvm-svn: 273116
* [X86] Remove a dead path through one of the shuffle lowering routines. It's ↵Craig Topper2016-06-191-24/+20
| | | | | | only called on single input shuffles masks already. Add an assert instead to verify. llvm-svn: 273115
* [X86] Pre-allocate a SmallVector instead of using push_back in a loop. NFCCraig Topper2016-06-191-6/+7
| | | | llvm-svn: 273114
* [X86] Use SmallVector::assign instead of resize to ensure we really start ↵Craig Topper2016-06-191-1/+1
| | | | | | | | with a vector of all -1s. Otherwise we're trusting the caller to pass the right thing. This should be no functional change with current code. llvm-svn: 273113
* Add the corresponding modulemap entry, following up r273066.Vassil Vassilev2016-06-191-0/+1
| | | | llvm-svn: 273112
* [SPARC] Additional condition required for DelaySlot fixing erratum in ↵Chris Dewhurst2016-06-191-0/+7
| | | | | | revision r273108. llvm-svn: 273111
* [SPARC[ Correcting out-of-date unit tests checked in as part of r273108Chris Dewhurst2016-06-192-4/+12
| | | | llvm-svn: 273110
* Indent consistently.Joerg Sonnenberger2016-06-191-1/+1
| | | | llvm-svn: 273109
* [SPARC] Fixes for hardware errata on LEON processor.Chris Dewhurst2016-06-1912-1/+511
| | | | | | | | | | Passes to fix three hardware errata that appear on some LEON processor variants. The instructions FSMULD, FMULS and FDIVS do not work as expected on some LEON processors. This change allows those instructions to be substituted for alternatives instruction sequences that are known to work. These passes only run when selected individually, or as part of a processor defintion. They are not included in general SPARC processor compilations for non-LEON processors or for those LEON processors that do not have these hardware errata. llvm-svn: 273108
* Fix various undefined behavior found by UBSan.Eric Fiselier2016-06-196-24/+45
| | | | | | | | | | | | | | | | | | | | | | | * Fix non-null violation in strstream.cpp Overflow was calling memcpy with a null parameter and a size of 0. * Fix std/atomics/atomics.flag/ tests: a.test_and_set() was reading from an uninitialized atomic, but wasn't using the value. The tests now clear the flag before performing the first test_and_set. This allows UBSAN to test that clear doesn't read an invalid value. * Fix std/experimental/algorithms/alg.random.sample/sample.pass.cpp The tests were dereferencing a past-the-end pointer to an array so that they could do pointer arithmetic with it. Instead of dereference the iterator I changed the tests to use the special 'base()' test iterator method. * Add -fno-sanitize=float-divide-by-zero to suppress division by zero UBSAN diagnostics. The tests that cause float division by zero are explicitly aware that they are doing that. Since this is well defined for IEEE floats suppress the warnings for now. llvm-svn: 273107
* Implement LWG issue 1169. num_get not fully compatible with strto*Eric Fiselier2016-06-197-9/+130
| | | | | | | | | | | Use strtof and strtod for floats and doubles respectively instead of always using strtold. The other parts of the change are already implemented in libc++. This patch also has a drive by fix to wbuffer_convert::underflow() which prevents it from calling memmove(buff, null, 0). llvm-svn: 273106
* [LoadCombine] Combine Loads formed from GEPS with negative indexesDavid Majnemer2016-06-192-7/+29
| | | | | | | | | | | Change the underlying offset and comparisons to use int64_t instead of uint64_t. Patch by River Riddle! Differential Revision: http://reviews.llvm.org/D21499 llvm-svn: 273105
* Add UBSan blacklist for <__tree> and <__hash_table>Eric Fiselier2016-06-192-1/+6
| | | | | | | | | | | We all know <__tree> and <__hash_table> have plenty of UB that UBSan faithfully finds. I am working on fixing this. However the noisy output from these failures prevent automatically detecting regressions elsewhere. This patch adds a blacklist file for these failures so I can later set up a UBSAN buildbot. llvm-svn: 273104
* Fix bugs in last_write_time implementation.Eric Fiselier2016-06-192-40/+145
| | | | | | | | | | | | | | | * Fix passing a negative number as either tv_usec or tv_nsec. When file_time_type is negative and has a non-zero sub-second value we subtract 1 from tv_sec and make the sub-second duration positive. * Detect and report when 'file_time_type' cannot be represented by time_t. This happens when using large/small file_time_type values with a 32 bit time_t. There is more work to be done in the implementation. It should start to use stat's st_mtim or st_mtimeval if it's provided as an extension. That way we can provide a better resolution. llvm-svn: 273103
* Revert "Make test less sensitive to the resource directory."Paul Robinson2016-06-191-2/+1
| | | | | | Will need to try this on an actual Windows system. llvm-svn: 273102
* Make test less sensitive to the resource directory.Paul Robinson2016-06-181-1/+2
| | | | | | Like linux-header-search.cpp and android-ndk-standalone.cpp. llvm-svn: 273101
* doesSetDirectiveSuppressesReloc -> doesSetDirectiveSuppressReloc, theJoerg Sonnenberger2016-06-184-5/+5
| | | | | | former is grammatically incorrect. llvm-svn: 273100
OpenPOWER on IntegriCloud