- Jun 19, 2016
-
-
David Majnemer authored
Use an APInt to handle pointers of arbitrary width, let accumulateConstantOffset handle overflow issues. llvm-svn: 273126
-
Simon Pilgrim authored
llvm-svn: 273125
-
Simon Pilgrim authored
llvm-svn: 273124
-
Jonathan Coe authored
llvm-svn: 273123
-
Jonathan Coe authored
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
-
Marshall Clow authored
llvm-svn: 273121
-
Simon Pilgrim authored
llvm-svn: 273120
-
Simon Pilgrim authored
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
-
Sanjay Patel authored
llvm-svn: 273118
-
Craig Topper authored
[X86] Add an assert to ensure that a routine is only used with 128-bit vectors. Reduce SmallVector size accordingly. llvm-svn: 273117
-
Craig Topper authored
[X86] Make is128BitLaneRepeatedShuffleMask correct the indices of the second vector for the smaller mask. This removes some custom correction code and can potentially provide other benefits in the future. llvm-svn: 273116
-
Craig Topper authored
[X86] Remove a dead path through one of the shuffle lowering routines. It's only called on single input shuffles masks already. Add an assert instead to verify. llvm-svn: 273115
-
Craig Topper authored
llvm-svn: 273114
-
Craig Topper authored
[X86] Use SmallVector::assign instead of resize to ensure we really start 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
-
Vassil Vassilev authored
llvm-svn: 273112
-
Chris Dewhurst authored
llvm-svn: 273111
-
Chris Dewhurst authored
llvm-svn: 273110
-
Joerg Sonnenberger authored
llvm-svn: 273109
-
Chris Dewhurst authored
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
-
Eric Fiselier authored
* 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
-
Eric Fiselier authored
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
-
David Majnemer authored
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
-
Eric Fiselier authored
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
-
Eric Fiselier authored
* 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
-
Paul Robinson authored
Will need to try this on an actual Windows system. llvm-svn: 273102
-
Paul Robinson authored
Like linux-header-search.cpp and android-ndk-standalone.cpp. llvm-svn: 273101
-
Joerg Sonnenberger authored
former is grammatically incorrect. llvm-svn: 273100
-
Joerg Sonnenberger authored
later and we don't want to use it twice. llvm-svn: 273099
-
Simon Pilgrim authored
llvm-svn: 273098
-
- Jun 18, 2016
-
-
Simon Pilgrim authored
llvm-svn: 273097
-
Simon Pilgrim authored
llvm-svn: 273096
-
Zvi Rackover authored
Summary: This patch adds support for the _MM_ALIGN16 attribute on non-windows targets. This aligns Clang with ICC which supports the attribute on all targets. Fixes PR28056 Reviewers: aaboud, echristo, cfe-commits, mkuper Subscribers: zvi, mehdi_amini Projects: #clang-c Differential Revision: http://reviews.llvm.org/D21173 llvm-svn: 273095
-
Zvi Rackover authored
llvm-svn: 273094
-
Eric Fiselier authored
As pointed out by @majnemer this is a better way to detect utimensat on all platforms. The Apple specific guard is unneeded. llvm-svn: 273093
-
Eric Fiselier authored
fstream has a switch over ios_base::seekdir which provides a defensive default case. This seems like the right thing for fstream to do, but we need to disable clangs warning during the build to allow this. llvm-svn: 273092
-
Eric Fiselier authored
Single threaded builds often don't provide a monotonic clock, so we can't always provide a monotonic SleepFor(...) implementation. Hopefully this won't cause the builds to hang. llvm-svn: 273091
-
Simon Pilgrim authored
llvm-svn: 273090
-
Eric Fiselier authored
llvm-svn: 273089
-
Eric Fiselier authored
llvm-svn: 273088
-
Simon Pilgrim authored
llvm-svn: 273087
-