summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [clang-tidy] Check for suspicious string assignments.Gabor Horvath2015-12-157-0/+208
| | | | | | | | | | | It is possible to assign arbitrary integer types to strings. Sometimes it is the result of missing to_string call or apostrophes. Reviewers: alexfh Differential Revision: http://reviews.llvm.org/D15411 llvm-svn: 255630
* Type legalizer for masked gather and scatter intrinsics.Elena Demikhovsky2015-12-159-221/+2085
| | | | | | | | | | | | Full type legalizer that works with all vectors length - from 2 to 16, (i32, i64, float, double). This intrinsic, for example void @llvm.masked.scatter.v2f32(<2 x float>%data , <2 x float*>%ptrs , i32 align , <2 x i1>%mask ) requires type widening for data and type promotion for mask. Differential Revision: http://reviews.llvm.org/D13633 llvm-svn: 255629
* Revert of r255626 "[ELF] - refactor of code in ↵George Rimar2015-12-151-13/+15
| | | | | | | | | | | | | | | RelocationSection<ELFT>::writeTo()" as it broke buildbot: http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/17836/steps/build_Lld/logs/stdio /Users/buildslave/as-bldslv9/lld-x86_64-darwin13/llvm.src/tools/lld/ELF/OutputSections.cpp:268:14: error: redefinition of 'Rel' unsigned Rel; ^ /Users/buildslave/as-bldslv9/lld-x86_64-darwin13/llvm.src/tools/lld/ELF/OutputSections.cpp:241:34: note: previous definition is here for (const DynamicReloc<ELFT> &Rel : Relocs) { That compiles fine on my MSVS 2015 thought. llvm-svn: 255628
* Add a new matcher to match character types.Gabor Horvath2015-12-152-0/+22
| | | | llvm-svn: 255627
* [ELF] - refactor of code in RelocationSection<ELFT>::writeTo()George Rimar2015-12-151-15/+13
| | | | | | | | Just a little reformat of 'if' conditions, NFC. Differential revision: http://reviews.llvm.org/D15453 llvm-svn: 255626
* [OPENMP 4.5] Parsing/sema for 'hint' clause of 'critical' directive.Alexey Bataev2015-12-1519-37/+369
| | | | | | OpenMP 4.5 adds 'hint' clause to critical directive. Patch adds parsing/semantic analysis for this clause. llvm-svn: 255625
* [IR] Add classof for GetElementPtrConstantExpr, CompareConstantExpr, ↵Craig Topper2015-12-152-2/+30
| | | | | | | | InsertValueConstantExpr, and ExtractValueConstantExpr. All but CompareConstantExpr were being used in casts that were erroneously using ConstantExpr::classof due to inheritance. While there use cast<CompareConstantExpr> to simplify code slightly. I believe in one place we were always casting to ExtractValueConstantExpr when we were trying to choose between ExtractValueConstantExpr and InsertValueConstantExpr because of this. But since they have identical layouts this didn't cause any observable problems. llvm-svn: 255624
* Use CmpInst::Predicate instead of 'unsigned short' in some places. NFCCraig Topper2015-12-155-43/+46
| | | | llvm-svn: 255623
* [ELF][MIPS] Remove applying the redundant bit-maskSimon Atanasyan2015-12-151-1/+1
| | | | | | | The `mipsHigh` return type is `uint16_t` so we do not need to extract low 16-bits from return value explicitly. llvm-svn: 255622
* Fix MSVC build with LLVM_ENABLE_THREADS=OFFMehdi Amini2015-12-151-1/+10
| | | | | | | Follow-up to the ThreadPool implementation. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255621
* LoopUtils: Remove defaults for arguments that are always specified. NFCJustin Bogner2015-12-151-3/+3
| | | | llvm-svn: 255620
* [LLDB][MIPS] Added support for MIPS1, MIPS2, MIPS3, MIPS4 and MIPS5 ↵Sagar Thakur2015-12-151-0/+5
| | | | | | | | | | | | | instruction sets Patch by Nitesh Jain. Summary: This Patch will allowed LLDB to debug respective instruction sets binaries. Reviewers: jaydeep, clayborg Subscribers: lldb-commits, mohit.bhakkad, sagar, bhushan Differential: http://reviews.llvm.org/D15487 llvm-svn: 255619
* Replace the unit test of BranchProbability::normalizeEdgeWeights() with ↵Cong Hou2015-12-151-29/+25
| | | | | | | | BranchProbability::normalizeProbabilities(). BranchProbability::normalizeEdgeWeights() is going to be retired soon. llvm-svn: 255618
* Fix template parameter pack handling in ThreadPoolTeresa Johnson2015-12-152-1/+15
| | | | | | | Fixes passing of template parameter pack via std::forward and add unittest. llvm-svn: 255617
* Bump up MAX_SUBTARGET_FEATURESWeiming Zhao2015-12-151-1/+1
| | | | | | | | | | | | | | | | | | | Summary: Currently, ARMGenSubtargetInfo (from ARM.td) is reaching the limit of 96: enum : uint64_t { ... XScale = 95 }; We need to bump the maximum value up to accommodate future changes and/or customized subtarget definitions. Reviewers: apazos, t.p.northover Subscribers: llvm-commits, aemerson Differential Revision: http://reviews.llvm.org/D15514 llvm-svn: 255616
* NFC: Fix typo in commentVaivaswatha Nagaraj2015-12-151-1/+1
| | | | llvm-svn: 255615
* [ShrinkWrapping] Do not choose restore point inside loops.Quentin Colombet2015-12-152-5/+163
| | | | | | | | | | | | | | | | | | | | The post-dominance property is not sufficient to guarantee that a restore point inside a loop is safe. E.g., while(1) { Save Restore if (...) break; use/def CSRs } All the uses/defs of CSRs are dominated by Save and post-dominated by Restore. However, the CSRs uses are still reachable after Restore and before Save are executed. This fixes PR25824 llvm-svn: 255613
* [WebAssembly] Use an immediate OperandType for offset operands.Dan Gohman2015-12-151-23/+23
| | | | llvm-svn: 255612
* Try to let r255604 have an effect.Nico Weber2015-12-151-6/+6
| | | | llvm-svn: 255611
* Add specific header for MSVC to be able to build with LLVM_ENABLE_THREADS=OFFMehdi Amini2015-12-151-0/+6
| | | | | | | Follow-up to the ThreadPool library From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255604
* Fix a bug where language categories would hold on to their caches even after ↵Enrico Granata2015-12-154-13/+30
| | | | | | changes llvm-svn: 255603
* [WebAssembly] Remove .import printing.Dan Gohman2015-12-152-90/+0
| | | | | | | For now, LLVM doesn't know about wasm module imports, so it shouldn't emit .import directives. llvm-svn: 255602
* WebAssembly: test global array indexingJF Bastien2015-12-151-0/+9
| | | | | | This case was tested in the linker from code, but not from globals indexing into other globals. The linker currently barfs on this, ncbray volunteered to fix it. llvm-svn: 255601
* Instcombine: destructor loads of structs that do not contains paddingMehdi Amini2015-12-157-92/+180
| | | | | | | | | | | | | | | | | | | | For non padded structs, we can just proceed and deaggregate them. We don't want ot do this when there is padding in the struct as to not lose information about this padding (the subsequents passes would then try hard to preserve the padding, which is undesirable). Also update extractvalue.ll and cast.ll so that they use structs with padding. Remove the FIXME in the extractvalue of laod case as the non padded case is handled when processing the load, and we don't want to do it on the padded case. Patch by: Amaury SECHET <deadalnix@gmail.com> Differential Revision: http://reviews.llvm.org/D14483 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255600
* Mark declarations of externally instantiated functions as inline so GCC ↵Eric Fiselier2015-12-151-2/+2
| | | | | | doesn't complain. llvm-svn: 255599
* Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr ↵Eugene Zelenko2015-12-1517-376/+213
| | | | | | | | warnings in some files in source/Target/. Simplify smart pointers checks in conditions. Other minor fixes. llvm-svn: 255598
* Add NetBSDSignals.cpp to the xcode project file.Jason Molenda2015-12-151-4/+12
| | | | llvm-svn: 255597
* [llvm-readobj] s/FunctionName/LinkageName/ for codeview dumpingReid Kleckner2015-12-152-25/+25
| | | | | | | The symbol being printed in this field comes from the main symbol table, not 0xF1 subsection. Use LinkageName to make that a lot clearer. llvm-svn: 255596
* Let operator/ with uint32_t rhs operand be a member of BranchProbability and ↵Cong Hou2015-12-151-6/+13
| | | | | | add a new operator /=. NFC. llvm-svn: 255595
* [asan] try to fix ARM botsKostya Serebryany2015-12-151-0/+2
| | | | llvm-svn: 255594
* Add a C++11 ThreadPool implementation in LLVMMehdi Amini2015-12-156-0/+356
| | | | | | | | | | | | | | | | | | | | | | | | | This is a very simple implementation of a thread pool using C++11 thread. It accepts any std::function<void()> for asynchronous execution. Individual task can be synchronize using the returned future, or the client can block on the full queue completion. In case LLVM is configured with Threading disabled, it falls back to sequential execution using std::async with launch:deferred. This is intended to support parallelism for ThinLTO processing in linker plugin, but is generic enough for any other uses. This is a recommit of r255444 ; trying to workaround a bug in the MSVC 2013 standard library. I think I was hit by: http://connect.microsoft.com/VisualStudio/feedbackdetail/view/791185/std-packaged-task-t-where-t-is-void-or-a-reference-class-are-not-movable Recommit of r255589, trying to please g++ as well. Differential Revision: http://reviews.llvm.org/D15464 From: mehdi_amini <mehdi_amini@91177308-0d34-0410-b5e6-96231b3b80d8> llvm-svn: 255593
* Welcome to NetBSD signalsKamil Rytarowski2015-12-154-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Signals 1-32 are matching the default UNIX platform. There are platform specific ones above 32. From the `/usr/include/sys/signal.h` header: ``` #define SIGPWR 32 /* power fail/restart (not reset when caught) */ #ifdef _KERNEL #define SIGRTMIN 33 /* Kernel only; not exposed to userland yet */ #define SIGRTMAX 63 /* Kernel only; not exposed to userland yet */ #endif ``` Reviewers: emaste, joerg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15482 llvm-svn: 255592
* Revert "Add a C++11 ThreadPool implementation in LLVM"Mehdi Amini2015-12-156-354/+0
| | | | | | | This reverts commit r255589. Breaks g++ From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255591
* When constructing an address range to "step" or "next" through,Jason Molenda2015-12-157-8/+128
| | | | | | | | | | | | | | find the largest address range (possibly combining multiple LineEntry's for this line number) that is contiguous. This allows lldb's fast-step stepping algorithm to potentially run for a longer address range than if we have to stop at every LineEntry indicating a subexpression in the source line. http://reviews.llvm.org/D15407 <rdar://problem/23270882> llvm-svn: 255590
* Add a C++11 ThreadPool implementation in LLVMMehdi Amini2015-12-156-0/+354
| | | | | | | | | | | | | | | | | | | | | | | This is a very simple implementation of a thread pool using C++11 thread. It accepts any std::function<void()> for asynchronous execution. Individual task can be synchronize using the returned future, or the client can block on the full queue completion. In case LLVM is configured with Threading disabled, it falls back to sequential execution using std::async with launch:deferred. This is intended to support parallelism for ThinLTO processing in linker plugin, but is generic enough for any other uses. This is a recommit of r255444 ; trying to workaround a bug in the MSVC 2013 standard library. I think I was hit by: http://connect.microsoft.com/VisualStudio/feedbackdetail/view/791185/std-packaged-task-t-where-t-is-void-or-a-reference-class-are-not-movable Differential Revision: http://reviews.llvm.org/D15464 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255589
* [asan] add option: handle_sigillKostya Serebryany2015-12-155-0/+32
| | | | llvm-svn: 255588
* [PGO] make profile prefix even shorter and more readableXinliang David Li2015-12-1517-65/+65
| | | | llvm-svn: 255587
* [PGO] make profile prefix even shorter and more readableXinliang David Li2015-12-1515-96/+96
| | | | llvm-svn: 255586
* Fix various GCC mis-configurations for newer versions.Eric Fiselier2015-12-154-9/+16
| | | | | | | | | | | | This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic<Tp> is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. llvm-svn: 255585
* Make few adjustments after r255542.Siva Chandra2015-12-151-3/+3
| | | | | | | | | | Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15511 llvm-svn: 255584
* [X86] Add relaxtion logic for SBB instructions.Quentin Colombet2015-12-152-0/+24
| | | | | | | | | Prior to this patch, we would wrongly stick to the variant with imm8 encoding even when the relocation could not fit that size. rdar://problem/23785506 llvm-svn: 255583
* sancov: coverage can be reported by multiple functions.Mike Aizatsky2015-12-141-10/+19
| | | | | | Differential Revision: http://reviews.llvm.org/D15430 llvm-svn: 255582
* test infra: catch and print exception info on test runner socket listenerTodd Fiala2015-12-141-5/+21
| | | | | | | | | | | | | | This is the listener's spawned connection, not the listener itself. (i.e. this is the test runner's receiving side of test event sockets). A standard socket.error will just issue an INFO statement and continue. Something other than a socket.error will get an ERROR: printed (and also continue). Hopefully this gets us more info and also handles the completely to-be-expected scenario that the test inferior might go down at any point. llvm-svn: 255581
* Fix typos; NFCMichael Kruse2015-12-142-3/+3
| | | | llvm-svn: 255580
* Yet another missing include.Rafael Espindola2015-12-141-0/+1
| | | | llvm-svn: 255579
* A better attempt to add a missing includeRafael Espindola2015-12-142-1/+1
| | | | llvm-svn: 255578
* Trying to fix the build in a bot.Rafael Espindola2015-12-141-0/+1
| | | | llvm-svn: 255577
* [PGO] Shorten profile symbol prefixesXinliang David Li2015-12-1417-65/+65
| | | | | | | | | | (test case update) Profile symbols have long prefixes which waste space and creating pressure for linker. This patch shortens the prefixes to minimal length without losing verbosity. Differential Revision: http://reviews.llvm.org/D15503 llvm-svn: 255576
* [PGO] Shorten profile symbol prefixesXinliang David Li2015-12-1415-97/+95
| | | | | | | | | Profile symbols have long prefixes which waste space and creating pressure for linker. This patch shortens the prefixes to minimal length without losing verbosity. Differential Revision: http://reviews.llvm.org/D15503 llvm-svn: 255575
* LoopRotate: Convert the methods of LoopRotate to utility functions. NFCJustin Bogner2015-12-141-79/+82
| | | | | | | | | | This moves the actual work to do loop rotation into standalone functions with the analysis results they need passed in as arguments, leaving the class itself as a relatively simple shim. This will make the functions easy to reuse when we're ready to port this transformation to the new pass manager. llvm-svn: 255574
OpenPOWER on IntegriCloud