summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [XRay] ARM 32-bit no-Thumb support in LLVMDean Michael Berris2016-09-0817-62/+317
| | | | | | | | | | | | This is a port of XRay to ARM 32-bit, without Thumb support yet. The XRay instrumentation support is moving up to AsmPrinter. This is one of 3 commits to different repositories of XRay ARM port. The other 2 are: 1. https://reviews.llvm.org/D23932 (Clang test) 2. https://reviews.llvm.org/D23933 (compiler-rt) Differential Revision: https://reviews.llvm.org/D23931 llvm-svn: 280888
* Deleted right filePiotr Padlewski2016-09-071-11/+0
| | | | llvm-svn: 280887
* Revert "[thinlto] Deleted unused test file"Piotr Padlewski2016-09-071-0/+46
| | | | | | This reverts commit a7ad00460027c4a92640c2a5706a7d1869b60989. llvm-svn: 280886
* [sanitizer] Fix a conflict between abort_on_error and handle_abort.Evgeniy Stepanov2016-09-073-1/+21
| | | | | | | | | Reset the SIGABRT signal handler before calling abort(). Also, change the error message when catching SIGABRT to say "ABRT" instead of "SEGV". llvm-svn: 280885
* IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to ↵Peter Collingbourne2016-09-075-11/+6
| | | | | | | | | | Instruction::andIRFlags. The two functions are functionally equivalent. Differential Revision: https://reviews.llvm.org/D22830 llvm-svn: 280884
* Revert "[asan] Avoid lifetime analysis for allocas with can be in ambiguous ↵Vitaly Buka2016-09-072-115/+0
| | | | | | | | | | state" Fails on Windows. This reverts commit r280880. llvm-svn: 280883
* [thinlto] Deleted unused test filePiotr Padlewski2016-09-071-46/+0
| | | | | | | | | | | | | | | | | Summary: This file should be referenced from thinlto-function-summary-callgraph-pgo.ll file, but someone forgot to use it there. Everything worked because we store pgo data about callsite blocks, so there is no need to have pgo count of @func. Reviewers: tejohnson, eraman, mehdi_amini Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D24309 llvm-svn: 280882
* [asan] Fix build on Linux.Evgeniy Stepanov2016-09-071-1/+1
| | | | llvm-svn: 280881
* [asan] Avoid lifetime analysis for allocas with can be in ambiguous stateVitaly Buka2016-09-072-0/+115
| | | | | | | | | | | | | | | | | | Summary: C allows to jump over variables declaration so lifetime.start can be avoid before variable usage. To avoid false-positives on such rare cases we detect them and remove from lifetime analysis. PR27453 PR28267 Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24321 llvm-svn: 280880
* Remove CxaDemangle.cpp / .h from xcode project file.Jason Molenda2016-09-071-6/+0
| | | | llvm-svn: 280879
* clang-format: [JavaScript] Change default AllowShortFunctionsOnASingleLineDaniel Jasper2016-09-072-23/+60
| | | | | | for Google style to "empty". llvm-svn: 280878
* builtins: make sure that flags is setup properly for __clear_cacheSaleem Abdulrasool2016-09-071-1/+3
| | | | | | | | On Linux ARM, the syscall will take 3 arguments (start, end, flags). Ensure that we do not pass garbage to the flags, which can cause the cacheflush call to fail, and therefore cause an abort at runtime. llvm-svn: 280877
* [asan] Fix a crash in GetCurrentThread() before init.Evgeniy Stepanov2016-09-071-1/+1
| | | | | | | | | Android-specific code in GetCurrentThread() does not handle the situation when there is no ThreadContext for the current thread. This happens if the current thread is requested before the main thread is added to the registry. 64-bit allocator does that to record map/unmap stats during initialization. llvm-svn: 280876
* [asan] Add openlog() on Android.Evgeniy Stepanov2016-09-071-2/+2
| | | | | | | | Normally, syslog() uses argv[0] for the log tag; bionic, however, would crash in syslog() before libc constructor unless the log tag is explicitly set with openlog(). llvm-svn: 280875
* clang-format: [JavaScript] Do requoting in a separate passDaniel Jasper2016-09-072-44/+72
| | | | | | | | | | | | | | | | | | The attempt to fix requoting behavior in r280487 after changes to tooling::Replacements are incomplete. We essentially need to add to replacements at the same position, one to insert a line break and one to change the quoting and that's incompatible with the new tooling::Replacement API, which does not allow for order-dependent Replacements. To make the order clear, Replacements::merge() has to be used, but that requires the merged Replacement to actually refer to the changed text, which is hard to reproduce for the requoting. This change fixes the behavior by moving the requoting to a completely separate pass. The added benefit is that no weird ColumnWidth calculations are necessary anymore and this should just work even if we implement string literal splitting in the future. llvm-svn: 280874
* [InstCombine] use m_APInt to allow icmp (and (sh X, Y), C2), C1 folds for ↵Sanjay Patel2016-09-076-67/+31
| | | | | | splat constant vectors llvm-svn: 280873
* [SE] Add getName method to Device classJason Henline2016-09-072-0/+7
| | | | | | | | | | Reviewers: jhen Subscribers: parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24240 llvm-svn: 280872
* Avoid ambiguity in calling atom_add functions.Jan Vesely2016-09-074-4/+4
| | | | | | | | | | clang (since r280553) allows pointer casts in function overloads, so we need to disambiguate the second argument. clang might be smarter about overloads in the future see https://reviews.llvm.org/D24113, but let's be safe in libclc anyway. llvm-svn: 280871
* Fix some Clang-tidy modernize-use-using and Include What You Use warnings; ↵Eugene Zelenko2016-09-079-100/+377
| | | | | | | | other minor fixes. Differential revision: https://reviews.llvm.org/D24115 llvm-svn: 280870
* [CUDA] Rework "optimizations" and "publication" section in ↵Justin Lebar2016-09-071-52/+45
| | | | | | CompileCudaWithLLVM.rst. llvm-svn: 280869
* [CUDA] Clarify that -l and -L only need to be passed when linking, in ↵Justin Lebar2016-09-071-0/+5
| | | | | | CompileCudaWithLLVM.rst. llvm-svn: 280868
* [CUDA] Further reformat "invoking clang" section of CompileCudaWithLLVM.rst.Justin Lebar2016-09-071-16/+16
| | | | llvm-svn: 280867
* [SimplifyCFG] Don't try to create metadata-valued PHIsHal Finkel2016-09-072-0/+55
| | | | | | | | | | | | | | | | We can't create metadata-valued PHIs; don't try to do so when sinking. I created a test case for this using the @llvm.type.test intrinsic, because it takes a metadata parameter and does not have severe side effects (thus SimplifyCFG is willing to otherwise sink it). Previously, running the test case would crash with: Invalid use of metadata! %.sink = select i1 %flag, metadata <...>, metadata <0x4e45dc0> LLVM ERROR: Broken function found, compilation aborted! llvm-svn: 280866
* [LoopUnroll] Correct a debug message. NFC.Haicheng Wu2016-09-071-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D24299 llvm-svn: 280865
* ELF: Add -Qy as ignored optionEd Maste2016-09-071-0/+1
| | | | | | | | | GCC passes it by default on powerpc64 on FreeBSD. GNU ld claims "this option is ignored for SVR4 compatibility", so we can ignore it too. Differential Revision: https://reviews.llvm.org/D24313 llvm-svn: 280864
* [compiler-rt] Allow sanitizers to be compiled for windows with clangFrancis Ricci2016-09-072-2/+10
| | | | | | | | | | | | | | Summary: A few small changes required to permit building the sanitizers with Clang instead of only with MSVC. Reviewers: compnerd, beanz, rnk Subscribers: beanz, timurrrr, kubabrecka, dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D24092 llvm-svn: 280863
* Shift-left (ISD::SHL) operation crashes on "DAG Legalization" phase.Elena Demikhovsky2016-09-072-21/+60
| | | | | | | | | | | https://llvm.org/bugs/show_bug.cgi?id=29058. While node legalization we tried to legalize its operands. If an operand node is replaced during legalization the user node may be destroyed. Differential Revision: https://reviews.llvm.org/D24244 llvm-svn: 280862
* [InstCombine] allow icmp (and X, C2), C1 folds for splat constant vectorsSanjay Patel2016-09-072-55/+55
| | | | | | | | This is a revert of r280676 which was a revert of r280637; ie, this is r280637 again. It was speculatively reverted to help debug buildbot failures. llvm-svn: 280861
* Fix inconsistent indentation.Rui Ueyama2016-09-075-112/+30
| | | | llvm-svn: 280860
* [CUDA] Fix typo in link in CompileCudaWithLLVM.Justin Lebar2016-09-071-1/+1
| | | | llvm-svn: 280859
* Move field to the base class. NFC.Rafael Espindola2016-09-071-1/+2
| | | | llvm-svn: 280858
* [CUDA] Move AXPY example into gist.Justin Lebar2016-09-071-86/+59
| | | | | | | | | No need to have a long inline code snippet in this doc. Also move "flags that control numerical code" underneath the "invoking clang" section, and reformat things a bit. llvm-svn: 280857
* Delete dead field. NFC.Rafael Espindola2016-09-074-15/+15
| | | | llvm-svn: 280856
* [RDF] Fix liveness analysis for phi nodes with shadow usesKrzysztof Parzyszek2016-09-073-37/+146
| | | | | | | | Shadow uses need to be analyzed together, since each individual shadow will only have a partial reaching def. All shadows together may cover a given register ref, while each individual shadow may not. llvm-svn: 280855
* [compiler-rt] Fix library suffixes on windowsFrancis Ricci2016-09-072-2/+17
| | | | | | | | | | | | | | | Summary: Make sure that windows libraries contain the suffixes expected by clang. This is expecially important when compiling the windows builtins with clang, as cmake will use .a as the suffix by default. Reviewers: beanz, compnerd Subscribers: llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D24046 llvm-svn: 280854
* Don't reuse a variable name in a nested scope. NFC.Michael Kuperstein2016-09-071-6/+6
| | | | llvm-svn: 280853
* Move CHECK right before the function it describes.George Burgess IV2016-09-071-1/+1
| | | | llvm-svn: 280852
* [RDF] Introduce "undef" flag for ref nodesKrzysztof Parzyszek2016-09-073-24/+74
| | | | llvm-svn: 280851
* [CUDA] Simplify build/install instructions in CompileCudaWithLLVM.rst.Justin Lebar2016-09-071-43/+25
| | | | llvm-svn: 280850
* [CUDA] Call it "CUDA", not "CUDA C/C++" in our docs.Justin Lebar2016-09-071-4/+4
| | | | | | | CUDA is an extension to C++ -- there is no such thing as "CUDA C". But also, the language is much more commonly called "CUDA" than "CUDA C++". llvm-svn: 280849
* [CUDA] Expand upon --cuda-gpu-arch flag in CompileCudaWithLLVM doc.Justin Lebar2016-09-071-0/+7
| | | | llvm-svn: 280848
* [Sema] Compare bad conversions in overload resolution.George Burgess IV2016-09-074-7/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r280553 introduced an issue where we'd emit ambiguity errors for code like: ``` void foo(int *, int); void foo(unsigned int *, unsigned int); void callFoo() { unsigned int i; foo(&i, 0); // ambiguous: int->unsigned int is worse than int->int, // but unsigned int*->unsigned int* is better than // int*->int*. } ``` This patch fixes this issue by changing how we handle ill-formed (but valid) implicit conversions. Candidates with said conversions now always rank worse than candidates without them, and two candidates are considered to be equally bad if they both have these conversions for the same argument. Additionally, this fixes a case in C++11 where we'd complain about an ambiguity in a case like: ``` void f(char *, int); void f(const char *, unsigned); void g() { f("abc", 0); } ``` ...Since conversion to char* from a string literal is considered ill-formed in C++11 (and deprecated in C++03), but we accept it as an extension. llvm-svn: 280847
* [powerpc] Move #if to appease warnings-as-errors testsBill Seurer2016-09-071-3/+4
| | | | | | | Previous patch added a #if which caused a variable and function to be unused. llvm-svn: 280846
* Add a few more test for []-style uuid attributes.Nico Weber2016-09-071-0/+27
| | | | | | | | - Should diag on a function (clang-cl warns; it's an error in cl) - Test the attribute on nested classes (clang-cl is more permissive and more self-consistent than cl here) llvm-svn: 280845
* Fix a few oversights in the clang-tidy VS plugin.Zachary Turner2016-09-074-9/+2
| | | | | | | Over-zealous cleanup of using statements removed some that were actually needed. Also cleaned up a few warnings. llvm-svn: 280844
* Rename test pr30298.ll to shrink_vmul_sse.ll, to make the name more ↵Wei Mi2016-09-071-0/+4
| | | | | | | | meaningful, NFC. Add PR number and comment in pr30298.ll to explain what is testing. llvm-svn: 280843
* Do not validate pch when -fno-validate-pch is setYaxun Liu2016-09-073-5/+79
| | | | | | | | | | | | | | | | There is a bug causing pch to be validated even though -fno-validate-pch is set. This patch fixes it. ASTReader relies on ASTReaderListener to initialize SuggestedPredefines, which is required for compilations using PCH. Before this change, PCHValidator is the default ASTReaderListener. After this change, when -fno-validate-pch is set, PCHValidator is disabled, but we need a replacement ASTReaderListener to initialize SuggestedPredefines. Class SimpleASTReaderListener is implemented for this purpose. This change only affects -fno-validate-pch. There is no functional change if -fno-validate-pch is not set. If -fno-validate-pch is not set, conflicts in predefined macros between pch and current compiler instance causes error. If -fno-validate-pch is set, predefine macros in current compiler override those in pch so that compilation can continue. Differential Revision: https://reviews.llvm.org/D24054 llvm-svn: 280842
* AMDGPU: Remove a useless variable which caused build failure for lld.Yaxun Liu2016-09-071-1/+1
| | | | llvm-svn: 280841
* Add a clang-tidy visual studio extension.Zachary Turner2016-09-0738-0/+3309
| | | | | | | | | | | For now this only adds the UI necessary to configure clang-tidy settings graphically, and it enables reading in and saving out of .clang-tidy files. It does not actually run clang-tidy on any source files yet. Differential Revision: https://reviews.llvm.org/D23848 llvm-svn: 280840
* Resubmit "Add a test for clang-tidy using the clang-cl driver."Zachary Turner2016-09-071-0/+17
| | | | | | | | This was originally reverted because the patch on the clang tooling side was reverted. That patch is being resubmitted, so this patch is resubmitted as well. llvm-svn: 280839
OpenPOWER on IntegriCloud