- Mar 22, 2016
-
-
Nico Weber authored
/FC affects if diagnostics print with full paths and if __FILE__ expands with a full path. clang-cl does both of these two by default. llvm-svn: 263953
-
Hemant Kulkarni authored
Implements "readelf -sW and readelf -DsW" Differential Revision: http://reviews.llvm.org/D18224 llvm-svn: 263952
-
Lang Hames authored
No functional change, just a little more readable. llvm-svn: 263951
-
Matt Arsenault authored
llvm-svn: 263950
-
Matt Arsenault authored
llvm-svn: 263948
-
Reid Kleckner authored
Summary: The Microsoft compiler emits warning C4229: anachronism used : modifiers on data are ignored for struct {} __cdecl s; but ICU's gendict can generate such (and does when building LibreOffice), so accepting this in clang-cl too would be useful. Reviewers: rnk Patch by Stephan Bergmann Differential Revision: http://reviews.llvm.org/D16628 llvm-svn: 263947 -
Kuba Brecka authored
llvm-svn: 263946
-
- Mar 21, 2016
-
-
Matt Arsenault authored
llvm-svn: 263945
-
Rafael Espindola authored
This reverts commit r263664. The reason we were getting broken files was lld -r, and that has been fixed. llvm-svn: 263944
-
Daniel Jasper authored
This patch adds a regular expression to configure suffixes of an included file to check whether it is the "main" include of the current file. Previously, clang-format has allowed arbitrary suffixes on the formatted file, which is still the case when no IncludeMainRegex is specified. llvm-svn: 263943
-
Chad Rosier authored
llvm-svn: 263942
-
Silviu Baranga authored
Summary: replaceCongruentIVs can break LCSSA when trying to replace IV increments since it tries to replace all uses of a phi node with another phi node while both of the phi nodes are not necessarily in the processed loop. This will cause an assert in IndVars. To fix this, we add a check to make sure that the replacement maintains LCSSA. Reviewers: sanjoy Subscribers: mzolotukhin, llvm-commits Differential Revision: http://reviews.llvm.org/D18266 llvm-svn: 263941
-
Jonas Hahnfeld authored
Without this patch a simple '#pragma omp parallel num_threads(1)' leads to ompt_event_parallel_begin: parent_task_id=3, [...], parallel_id=2, [...] ompt_event_parallel_end: parallel_id=2, task_id=4, [...] Differential Revision: http://reviews.llvm.org/D16714 llvm-svn: 263940
-
Kuba Brecka authored
`__tsan_get_report_thread` and others can crash if a stack trace is missing, let's add the missing checks. Differential Revision: http://reviews.llvm.org/D18306 llvm-svn: 263939
-
NAKAMURA Takumi authored
llvm-svn: 263936
-
Silviu Baranga authored
[DAGCombine] Catch the case where extract_vector_elt can cause an any_ext while processing AND SDNodes Summary: extract_vector_elt can cause an implicit any_ext if the types don't match. When processing the following pattern: (and (extract_vector_elt (load ([non_ext|any_ext|zero_ext] V))), c) DAGCombine was ignoring the possible extend, and sometimes removing the AND even though it was required to maintain some of the bits in the result to 0, resulting in a miscompile. This change fixes the issue by limiting the transformation only to cases where the extract_vector_elt doesn't perform the implicit extend. Reviewers: t.p.northover, jmolloy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18247 llvm-svn: 263935
-
NAKAMURA Takumi authored
llvm-svn: 263934
-
George Rimar authored
llvm-svn: 263933
-
Elena Demikhovsky authored
"core-avx" does not exist; I changed to "nehalem" llvm-svn: 263932
-
NAKAMURA Takumi authored
llvm-svn: 263931
-
Faisal Vali authored
llvm-svn: 263922
-
Faisal Vali authored
Implement lambda capture of *this by copy. For e.g.: struct A { int d = 10; auto foo() { return [*this] (auto a) mutable { d+=a; return d; }; } }; auto L = A{}.foo(); // A{}'s lifetime is gone. // Below is still ok, because *this was captured by value. assert(L(10) == 20); assert(L(100) == 120); If the capture was implicit, or [this] (i.e. *this was captured by reference), this code would be otherwise undefined. Implementation Strategy: - amend the parser to accept *this in the lambda introducer - add a new king of capture LCK_StarThis - teach Sema::CheckCXXThisCapture to handle by copy captures of the enclosing object (i.e. *this) - when CheckCXXThisCapture does capture by copy, the corresponding initializer expression for the closure's data member direct-initializes it thus making a copy of '*this'. - in codegen, when assigning to CXXThisValue, if *this was captured by copy, make sure it points to the corresponding field member, and not, unlike when captured by reference, what the field member points to. - mark feature as implemented in svn Much gratitude to Richard Smith for his carefully illuminating reviews! llvm-svn: 263921 -
Nico Weber authored
llvm-svn: 263920
-
David Majnemer authored
Some declarations of memcpy (like glibc's for example) are attributed with notnull which makes it UB for NULL to get passed in, even if the memcpy count is zero. To account for this, guard the memcpy with an appropriate precondition. This should fix the last UBSan bug, exposed by the test suite, in the COFF linker. llvm-svn: 263919
-
David Majnemer authored
LLD type-punned an integral type and a pointer type using a pointer field. This is problematic because the pointer type has alignment greater than some of the integral values. This would be less problematic if a union was used but it turns out the integral values are only present for a short, transient, amount of time. Let's remove this undefined behavior by skipping the punning altogether by storing the state in a separate memory location: a vector which informs us which symbols to process for weak externs. llvm-svn: 263918
-
Simon Pilgrim authored
Expanded tests and split into sdiv/srem and udiv/urem cases for 128 and 256 bit vectors. llvm-svn: 263917
-
Jingyue Wu authored
Summary: The old address space inference pass (NVPTXFavorNonGenericAddrSpaces) is unable to convert the address space of a pointer induction variable. This patch adds a new pass called NVPTXInferAddressSpaces that overcomes that limitation using a fixed-point data-flow analysis (see the file header comments for details). The new pass is experimental and not enabled by default. Users can turn it on by setting the -nvptx-use-infer-addrspace flag of llc. Reviewers: jholewinski, tra, jlebar Subscribers: jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D17965 llvm-svn: 263916
-
Mike Spertus authored
Readably displays a FunctionDecl in the Visual Studio Locals Window something like: void g(int, double d, struct A && arr) llvm-svn: 263915
-
Davide Italiano authored
llvm-svn: 263914
-
Devin Coughlin authored
Update the clang driver to allow -fsanitize=thread when targeting x86_64 iOS and tvOS simulators. Also restrict TSan targeting OS X to only be supported on x86_64 and not i386. Differential Revision: http://reviews.llvm.org/D18280 llvm-svn: 263913
-
Bruno Cardoso Lopes authored
llvm-svn: 263912
-
Simon Pilgrim authored
Based on feedback for D14261 llvm-svn: 263911
-
Devin Coughlin authored
Update the compiler-rt cmake to build TSan dylibs for iOS-style simulators when the corresponding COMPILER_RT_ENABLE_FOO_OS setting is enabled. Differential Revision: http://reviews.llvm.org/D18277 Part of rdar://problem/24048382 llvm-svn: 263910
-
Justin Bogner authored
Noticed by Liu Xin. Thanks! llvm-svn: 263909
-
Simon Pilgrim authored
llvm-svn: 263908
-
- Mar 20, 2016
-
-
Simon Pilgrim authored
Improve computeZeroableShuffleElements to be able to peek through bitcasts to extract zero/undef values from BUILD_VECTOR nodes of different element sizes to the shuffle mask. Differential Revision: http://reviews.llvm.org/D14261 llvm-svn: 263906
-
Benjamin Kramer authored
for range stmts now have split begin and ends, just apply OR to the condition. Should unbreak the build. llvm-svn: 263900
-
Pavel Labath authored
llvm-svn: 263899
-
Igor Breger authored
Differential Revision: http://reviews.llvm.org/D18211 llvm-svn: 263898
-
Simon Atanasyan authored
llvm-svn: 263897
-