platform/upstream/llvm.git
8 years agotsan: split thread into logical and physical state
Dmitry Vyukov [Fri, 26 Feb 2016 16:57:14 +0000 (16:57 +0000)]
tsan: split thread into logical and physical state

Currently ThreadState holds both logical state (required for race-detection algorithm, user-visible)
and physical state (various caches, most notably malloc cache). Move physical state in a new
Process entity. Besides just being the right thing from abstraction point of view, this solves several
problems:
1. Cache everything on P level in Go. Currently we cache on a mix of goroutine and OS thread levels.
This unnecessary increases memory consumption.
2. Properly handle free operations in Go. Frees are issue by GC which don't have goroutine context.
As the result we could not do anything more than just clearing shadow. For example, we leaked
sync objects and heap block descriptors.
3. This will allow to get rid of libc malloc in Go (now we have Processor context for internal allocator cache).
This in turn will allow to get rid of dependency on libc entirely.
4. Potentially we can make Processor per-CPU in C++ mode instead of per-thread, which will
reduce resource consumption.
The distinction between Thread and Processor is currently used only by Go, C++ creates Processor per OS thread,
which is equivalent to the current scheme.

llvm-svn: 262037

8 years ago[x86, SSE] fold 'isPositive' vector integer operations (PR26701)
Sanjay Patel [Fri, 26 Feb 2016 16:56:03 +0000 (16:56 +0000)]
[x86, SSE] fold 'isPositive' vector integer operations (PR26701)

This is one of the cases shown in:
https://llvm.org/bugs/show_bug.cgi?id=26701

Shift and negate is what InstCombine appears to prefer, so I've started with that pattern.
Note that the 'pcmpeq' instructions are always generating the negative one for the actual
'pcmpgt' comparison in each case (side note: why isn't there an alias mnemonic for that?).

Differential Revision: http://reviews.llvm.org/D17630

llvm-svn: 262036

8 years ago[WinEH] Fix funclet return block clobber mask placement
Reid Kleckner [Fri, 26 Feb 2016 16:53:19 +0000 (16:53 +0000)]
[WinEH] Fix funclet return block clobber mask placement

MBB slot index intervals are half open, not closed. getMBBEndIndex()
returns the slot index of the start of the next block in layout order.
Placing a register mask there is incorrect if the successor of the
funclet return is not laid out after the return. Clang generates IR for
catch bodies before generating the following normal code, so we never
noticed this issue until the D frontend authors filed a bug about it.

Instead, we can put the clobber mask on the last instruction of the
funclet return block. We still aren't using a register mask operand on
the CATCHRET instruction because it would cause PEI to spill all CSRs,
including XMM regs, in the prologue.

Fixes PR26679.

llvm-svn: 262035

8 years agoFix broken buildbots.
Rui Ueyama [Fri, 26 Feb 2016 16:49:54 +0000 (16:49 +0000)]
Fix broken buildbots.

llvm-svn: 262034

8 years agoScopDetect/Info: Add option to disable invariant load hoisting
Tobias Grosser [Fri, 26 Feb 2016 16:43:35 +0000 (16:43 +0000)]
ScopDetect/Info: Add option to disable invariant load hoisting

This is helpful for test case reduction and other experiments.

llvm-svn: 262033

8 years agoScopDetection: Fix mix-up of isLoad and isStore.
Michael Kruse [Fri, 26 Feb 2016 16:40:35 +0000 (16:40 +0000)]
ScopDetection: Fix mix-up of isLoad and isStore.

This was accidentally introduced in r258947.

Thanks to Hongbin Zheng for finding this.

Found-by: etherzhhb
llvm-svn: 262032

8 years agoSimplify. NFC.
Rui Ueyama [Fri, 26 Feb 2016 16:38:39 +0000 (16:38 +0000)]
Simplify. NFC.

Regarding the comment, it is out of context because it describes
what it does not do there. It got too long because it was originally
two different comments that were simply merged together.
The semantics is described in fixAbsoluteSymbols, so we don't need it.

llvm-svn: 262031

8 years agoBasic: fix __USER_LABEL_PREFIX__ on Cygwin
Saleem Abdulrasool [Fri, 26 Feb 2016 16:34:01 +0000 (16:34 +0000)]
Basic: fix __USER_LABEL_PREFIX__ on Cygwin

Adjust the user label prefix for cygwin x86_64.

Resolves PR26744.

llvm-svn: 262030

8 years agoReduce indention. NFC.
Michael Kruse [Fri, 26 Feb 2016 16:08:24 +0000 (16:08 +0000)]
Reduce indention. NFC.

The functions buildAccessMultiDimFixed and buildAccessMultiDimParam were
refactored from buildMemoryAccess. In their own functions, the control
flow can be shortcut and simplified using returns.

Suggested-by: etherzhhb
llvm-svn: 262029

8 years agoAdd new java plugin files to the xcode project
Tamas Berghammer [Fri, 26 Feb 2016 15:47:35 +0000 (15:47 +0000)]
Add new java plugin files to the xcode project

llvm-svn: 262028

8 years agoSimplify. NFC.
Rui Ueyama [Fri, 26 Feb 2016 15:42:06 +0000 (15:42 +0000)]
Simplify. NFC.

llvm-svn: 262027

8 years agoAdd comment on AMDGPU that the difference has no obvious reason.
Rui Ueyama [Fri, 26 Feb 2016 15:39:26 +0000 (15:39 +0000)]
Add comment on AMDGPU that the difference has no obvious reason.

llvm-svn: 262026

8 years agoReduce false positives in printf/scanf format checker
Andy Gibbs [Fri, 26 Feb 2016 15:35:16 +0000 (15:35 +0000)]
Reduce false positives in printf/scanf format checker

Summary:
The printf/scanf format checker is a little over-zealous in handling the conditional operator.  This patch reduces work by not checking code-paths that are never used and reduces false positives regarding uncovered arguments, for example in the code fragment:

printf(minimal ? "%i\n" : "%i: %s\n", code, msg);

Reviewers: rtrieu

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D15636

llvm-svn: 262025

8 years ago[clang-tidy] Fix an assertion failure in `modernize-use-nullptr` check.
Haojian Wu [Fri, 26 Feb 2016 15:34:35 +0000 (15:34 +0000)]
[clang-tidy] Fix an assertion failure in `modernize-use-nullptr` check.

Reviewers: alexfh

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D17640

llvm-svn: 262024

8 years agoRevert part of rL262014 as it caused issues on gcc-i386
Tamas Berghammer [Fri, 26 Feb 2016 15:33:32 +0000 (15:33 +0000)]
Revert part of rL262014 as it caused issues on gcc-i386

llvm-svn: 262023

8 years agoFix unsafe dereference.
Rui Ueyama [Fri, 26 Feb 2016 15:13:24 +0000 (15:13 +0000)]
Fix unsafe dereference.

Bound may point to one element beyond the end of the
vector, so *Bound is not safe.

llvm-svn: 262022

8 years agoAdd mips32 software breakpoints into platform::GetSoftwareBreakpointTrapOpcode().
Aidan Dodds [Fri, 26 Feb 2016 15:11:01 +0000 (15:11 +0000)]
Add mips32 software breakpoints into platform::GetSoftwareBreakpointTrapOpcode().

The software breakpoint definitions for mips32 should have been included in my
recent patch that moved the software breakpoint definitions into the base platform
class.

llvm-svn: 262021

8 years ago[ELF] - Implemented linkerscript sections padding.
George Rimar [Fri, 26 Feb 2016 14:48:31 +0000 (14:48 +0000)]
[ELF] - Implemented linkerscript sections padding.

BSD linker scripts contain special cases to add NOP
padding to code sections. Syntax is next:

.init:
 {
   KEEP (*(.init))
 } =0x90909090
(0x90 is NOP)

This patch implements that functionality.

llvm-svn: 262020

8 years agoDescription of symbols is avalable here:
George Rimar [Fri, 26 Feb 2016 14:36:36 +0000 (14:36 +0000)]
Description of symbols is avalable here:
https://docs.oracle.com/cd/E53394_01/html/E54766/u-etext-3c.html

It is said that:
_etext - The address of _etext is the first
location after the last read-only loadable segment.

_edata - The address of _edata is the first
location after the last read-write loadable segment.

_end - If the address of _edata is greater than the address
of _etext, the address of _end is same as the address of _edata.

In real life _end and _edata has different values for that case.
Both gold/bfd set _edata to the end of the last non SHT_NOBITS section.
This patch do the same for consistency.

It should fix the https://llvm.org/bugs/show_bug.cgi?id=26729.

Differential revision: http://reviews.llvm.org/D17601

llvm-svn: 262019

8 years agoRefactor multiple calls to canBePreempted.
Rafael Espindola [Fri, 26 Feb 2016 14:33:23 +0000 (14:33 +0000)]
Refactor multiple calls to canBePreempted.

llvm-svn: 262018

8 years agoFix some confusion about what can be preempted.
Rafael Espindola [Fri, 26 Feb 2016 14:27:47 +0000 (14:27 +0000)]
Fix some confusion about what can be preempted.

For shared libraries we allow any weak undefined symbol to eventually be
resolved, even if we never see a definition in another .so. This matches
the behavior when handling other undefined symbols in a shared library.

For executables, we require seeing a definition in a .so or resolve it
to zero. This is also similar to how non weak symbols are handled.

llvm-svn: 262017

8 years agoFix address class lookup for absolute symbols
Tamas Berghammer [Fri, 26 Feb 2016 14:21:27 +0000 (14:21 +0000)]
Fix address class lookup for absolute symbols

llvm-svn: 262016

8 years agoAdd a set of new plugins to handle Java debugging
Tamas Berghammer [Fri, 26 Feb 2016 14:21:23 +0000 (14:21 +0000)]
Add a set of new plugins to handle Java debugging

The purpose of these plugins is to make LLDB capable of debugging java
code JIT-ed by the android runtime.

Differential revision: http://reviews.llvm.org/D17616

llvm-svn: 262015

8 years agoAdd support for DW_OP_push_object_address in dwarf expressions
Tamas Berghammer [Fri, 26 Feb 2016 14:21:10 +0000 (14:21 +0000)]
Add support for DW_OP_push_object_address in dwarf expressions

Additionally fix the type of some dwarf expression where we had a
confusion between scalar and load address types after a dereference.

Differential revision: http://reviews.llvm.org/D17604

llvm-svn: 262014

8 years agoFixing an issue with the code block so that it does not appear as a list.
Aaron Ballman [Fri, 26 Feb 2016 13:39:38 +0000 (13:39 +0000)]
Fixing an issue with the code block so that it does not appear as a list.

llvm-svn: 262013

8 years agoGiving this attribute documentation group a heading; fixes a documentation generation...
Aaron Ballman [Fri, 26 Feb 2016 13:30:58 +0000 (13:30 +0000)]
Giving this attribute documentation group a heading; fixes a documentation generation error.

llvm-svn: 262012

8 years ago[LLDB][MIPS] Fix TestInferiorAssert.py for MIPS
Sagar Thakur [Fri, 26 Feb 2016 13:30:34 +0000 (13:30 +0000)]
[LLDB][MIPS] Fix TestInferiorAssert.py for MIPS

Patch by Nitesh Jain.

Summary: The debug version of libc.so is require for backtracing which may not be available on all platforms.

Reviewers: ovyalov, clayborg
Subscribers: zturner, lldb-commits, mohit.bhakkad, sagar, bhushan, jaydeep
Differential: http://reviews.llvm.org/D17131
llvm-svn: 262011

8 years agoBlockGenerators: Allow values to be removed from ScalarMap
Tobias Grosser [Fri, 26 Feb 2016 13:27:02 +0000 (13:27 +0000)]
BlockGenerators: Allow values to be removed from ScalarMap

This function is not yet used in Polly, but is useful to external projects that
generate multi-module code using Polly.

llvm-svn: 262010

8 years agoIslAst: Expose run-time check generation as individual function
Tobias Grosser [Fri, 26 Feb 2016 12:59:38 +0000 (12:59 +0000)]
IslAst: Expose run-time check generation as individual function

This allows to construct run-time checks for a scop without having to generate
a full AST. This is currently not taken advantage of in Polly itself, but
external users may benefit from this feature.

llvm-svn: 262009

8 years ago[PM] Finish removing references to fix MSVC builds. Somehow adding base
Chandler Carruth [Fri, 26 Feb 2016 12:30:18 +0000 (12:30 +0000)]
[PM] Finish removing references to fix MSVC builds. Somehow adding base
classes changed whether the decltype of these expressions was
a reference. I'm somewhat horrified why, and there may need to be
a deeper fix on MSVC, but this should at least get the bots a step
further.

llvm-svn: 262008

8 years agoReverting breaking change. Sorry.
Chris Dewhurst [Fri, 26 Feb 2016 12:20:10 +0000 (12:20 +0000)]
Reverting breaking change. Sorry.

llvm-svn: 262007

8 years ago[PM] Speculative patch to try and fix MSVC's compilation.
Chandler Carruth [Fri, 26 Feb 2016 12:17:54 +0000 (12:17 +0000)]
[PM] Speculative patch to try and fix MSVC's compilation.

No idea why r262004 triggered this, but just trying to fix somehow.

llvm-svn: 262006

8 years agoReviewed at reviews.llvm.org/D17133
Chris Dewhurst [Fri, 26 Feb 2016 11:46:47 +0000 (11:46 +0000)]
Reviewed at reviews.llvm.org/D17133

llvm-svn: 262005

8 years ago[PM] Introduce CRTP mixin base classes to help define passes and
Chandler Carruth [Fri, 26 Feb 2016 11:44:45 +0000 (11:44 +0000)]
[PM] Introduce CRTP mixin base classes to help define passes and
analyses in the new pass manager.

These just handle really basic stuff: turning a type name into a string
statically that is nice to print in logs, and getting a static unique ID
for each analysis.

Sadly, the format of passes in anonymous namespaces makes using their
names in tests really annoying so I've customized the names of the no-op
passes to keep tests sane to read.

This is the first of a few simplifying refactorings for the new pass
manager that should reduce boilerplate and confusion.

llvm-svn: 262004

8 years agoInitial test commit only
Chris Dewhurst [Fri, 26 Feb 2016 11:38:24 +0000 (11:38 +0000)]
Initial test commit only

llvm-svn: 262003

8 years agoUpdate to isl-0.16.1-68-g8fad211
Tobias Grosser [Fri, 26 Feb 2016 11:35:12 +0000 (11:35 +0000)]
Update to isl-0.16.1-68-g8fad211

This commit updates to the latest isl development version. There is no specific
feature we need on the Polly side, but we want to ensure test coverage for the
latest isl changes.

llvm-svn: 262001

8 years agoUse relative lines in CHECKs in race_on_mutex.c
Alexander Kornienko [Fri, 26 Feb 2016 11:09:32 +0000 (11:09 +0000)]
Use relative lines in CHECKs in race_on_mutex.c

llvm-svn: 262000

8 years agoTest commit.
Vassil Vassilev [Fri, 26 Feb 2016 10:43:34 +0000 (10:43 +0000)]
Test commit.

llvm-svn: 261999

8 years ago[clang-tidy] Minor change in the doc
Alexander Kornienko [Fri, 26 Feb 2016 10:24:29 +0000 (10:24 +0000)]
[clang-tidy] Minor change in the doc

llvm-svn: 261998

8 years ago[PM] Remove a FIXME now that it is no longer needed.
Chandler Carruth [Fri, 26 Feb 2016 10:02:04 +0000 (10:02 +0000)]
[PM] Remove a FIXME now that it is no longer needed.

This has been fixed for some time, but the code hadn't been updated.

llvm-svn: 261996

8 years ago[AMDGPU] Assembler: Basic support for MIMG
Nikolay Haustov [Fri, 26 Feb 2016 09:51:05 +0000 (09:51 +0000)]
[AMDGPU] Assembler: Basic support for MIMG

Add parsing and printing of image operands. Matches legacy sp3 assembler.
Change image instruction order to have data/image/sampler operands in the beginning. This is needed because optional operands in MC are always last.
Update SITargetLowering for new order.
Add basic MC test.
Update CodeGen tests.

Review: http://reviews.llvm.org/D17574
llvm-svn: 261995

8 years ago[MemAccInst] Introduce the '->' operator and remove the simple wrapper functions...
Hongbin Zheng [Fri, 26 Feb 2016 09:47:11 +0000 (09:47 +0000)]
[MemAccInst] Introduce the '->' operator and remove the simple wrapper functions. NFC

llvm-svn: 261994

8 years agoCoalesce Read/Write/MayWrite right after we collected them. NFC
Hongbin Zheng [Fri, 26 Feb 2016 09:47:08 +0000 (09:47 +0000)]
Coalesce Read/Write/MayWrite right after we collected them. NFC

llvm-svn: 261993

8 years ago[PM] Clean up some formatting with the latest clang-format.
Chandler Carruth [Fri, 26 Feb 2016 09:37:52 +0000 (09:37 +0000)]
[PM] Clean up some formatting with the latest clang-format.

llvm-svn: 261992

8 years ago[clang-tidy] Fix a crash issue when clang-tidy runs with compilation database.
Haojian Wu [Fri, 26 Feb 2016 09:19:33 +0000 (09:19 +0000)]
[clang-tidy] Fix a crash issue when clang-tidy runs with compilation database.

Summary:
The clang-tidy will trigger an assertion if it's not in the building directory.

TEST:
cd <llvm-repo>/
./build/bin/clang-tidy --checks=-*,modernize-use-nullptr -p build tools/clang/tools/extra/clang-tidy/ClangTidy.cpp

The crash issue is gone after applying this patch.

Fixes PR24834, PR26241

Reviewers: bkramer, alexfh

Subscribers: rizsotto.mailinglist, cfe-commits

Differential Revision: http://reviews.llvm.org/D17335

llvm-svn: 261991

8 years ago[AArch64] Slight cleanup in FPLoadBalancing
James Molloy [Fri, 26 Feb 2016 09:10:53 +0000 (09:10 +0000)]
[AArch64] Slight cleanup in FPLoadBalancing

Instead of the convoluted if-statment we can just use getColor. This also fixes
a bug where we relied upon the parity of tablegen-generated register indexes
(instead of using the machine encoding).

llvm-svn: 261990

8 years ago[X86][F16C] Added native IR half/float conversion tests.
Simon Pilgrim [Fri, 26 Feb 2016 08:52:29 +0000 (08:52 +0000)]
[X86][F16C] Added native IR half/float conversion tests.

Placeholder tests until we start improving native vector support.

llvm-svn: 261989

8 years agollvm-dwp: provide diagnostics for duplicate DWO IDs
David Blaikie [Fri, 26 Feb 2016 07:30:15 +0000 (07:30 +0000)]
llvm-dwp: provide diagnostics for duplicate DWO IDs

These diagnostics aren't perfect - in the case of merging several dwos
into dwps and those dwps into more dwps - just getting the message about
the original source file name might not be much help (since it's the
same in both dwos, by definition - but doesn't tell you which chain of
dwps to backtrack)

It might be worth adding the DW_AT_dwo_id to the split debug info to
improve the diagnostic experience - might help track down the duplicates
better.

llvm-svn: 261988

8 years agollvm-dwp: Support empty .dwo files
David Blaikie [Fri, 26 Feb 2016 07:04:58 +0000 (07:04 +0000)]
llvm-dwp: Support empty .dwo files

Though a bit odd, this is handy for a few reasons - for example, in a
build system that wants consistent input/output of build steps, but
where split-dwarf might be overriden/disabled by the user on a per-file
basis.

llvm-svn: 261987

8 years ago[TSAN] XFAIL race_on_mutex.cc for MIPS
Sagar Thakur [Fri, 26 Feb 2016 07:01:24 +0000 (07:01 +0000)]
[TSAN] XFAIL race_on_mutex.cc for MIPS

This test expects pthread_mutex_init in the frame #0 of thread T1 but we
get memset at frame #0 because memset that is called from pthread_init_mutex
is being intercepted by TSan

llvm-svn: 261986

8 years ago[X86] Null out some redundant patterns for masked vector register to register moves...
Craig Topper [Fri, 26 Feb 2016 06:50:29 +0000 (06:50 +0000)]
[X86] Null out some redundant patterns for masked vector register to register moves. These can be accomplished with both aligned and unaligned opcodes.

Currently aligned is what is being used so remove the redundant patterns for the unaligned versions. But don't do this for the byte and word vector types since they don't have aligned versions.

llvm-svn: 261985

8 years ago[TableGen] Fix typos in comments. NFC
Craig Topper [Fri, 26 Feb 2016 06:50:27 +0000 (06:50 +0000)]
[TableGen] Fix typos in comments. NFC

llvm-svn: 261984

8 years ago[X86] Add test cases for r261977 and fix a grammatical error.
Craig Topper [Fri, 26 Feb 2016 06:50:24 +0000 (06:50 +0000)]
[X86] Add test cases for r261977 and fix a grammatical error.

llvm-svn: 261983

8 years ago[MSan] Endianness should not matter while printing a byte
Mohit K. Bhakkad [Fri, 26 Feb 2016 06:44:10 +0000 (06:44 +0000)]
[MSan] Endianness should not matter while printing a byte

Reviewers: eugenis

Subscribers: jaydeep, sagar, llvm-commits

Differential Revision: http://reviews.llvm.org/D17264
Differential Revision: http://reviews.llvm.org/D17563

llvm-svn: 261982

8 years ago[JumpThreading] Simplify Instructions first in ComputeValueKnownInPredecessors()
Haicheng Wu [Fri, 26 Feb 2016 06:06:04 +0000 (06:06 +0000)]
[JumpThreading] Simplify Instructions first in ComputeValueKnownInPredecessors()

This change tries to find more opportunities to thread over basic blocks.

llvm-svn: 261981

8 years ago[MSAN] Fix test SmallPreAllocatedStackThread for MIPS
Sagar Thakur [Fri, 26 Feb 2016 05:56:54 +0000 (05:56 +0000)]
[MSAN] Fix test SmallPreAllocatedStackThread for MIPS

Summary: Msan was intercepting version 2.1 of the pthread_create function which was making it to crash in libc because __pthread_create_2_1 modifies the stack attributes of the thread. Intercepting the correct version fixes the test SmallPreAllocatedStackThread.

Reviewers: eugenis, samsonov
Subscribers: llvm-commits, mohit.bhakkad, jaydeep
Differential: http://reviews.llvm.org/D17603
llvm-svn: 261980

8 years ago[X86] Remove a couple returns after llvm_unreachables. NFC
Craig Topper [Fri, 26 Feb 2016 05:29:39 +0000 (05:29 +0000)]
[X86] Remove a couple returns after llvm_unreachables. NFC

llvm-svn: 261979

8 years ago[X86] Use inclusive ranges for XMM/YMM/ZMM registers in is32Extended and isX86_64Exte...
Craig Topper [Fri, 26 Feb 2016 05:29:35 +0000 (05:29 +0000)]
[X86] Use inclusive ranges for XMM/YMM/ZMM registers in is32Extended and isX86_64ExtendedReg. NFC

llvm-svn: 261978

8 years ago[X86] Explicitly diagnose use of %xmm16-%xmm31, %ymm16-%ymm31 and %zmm16-%zmm31 when...
Craig Topper [Fri, 26 Feb 2016 05:29:32 +0000 (05:29 +0000)]
[X86] Explicitly diagnose use of %xmm16-%xmm31, %ymm16-%ymm31 and %zmm16-%zmm31 when AVX512 is not enabled in the asm parser.

llvm-svn: 261977

8 years ago[Driver] Disable frame pointer elimination by default if target is
Akira Hatanaka [Fri, 26 Feb 2016 05:07:00 +0000 (05:07 +0000)]
[Driver] Disable frame pointer elimination by default if target is
x86_64-pc-win32-macho.

rdar://problem/24470634

llvm-svn: 261976

8 years ago[MSVC Compat] Don't evaluate member base expressions w/o side effects
David Majnemer [Fri, 26 Feb 2016 04:23:19 +0000 (04:23 +0000)]
[MSVC Compat] Don't evaluate member base expressions w/o side effects

A member expression's base doesn't always have an impact on what the
member decl would evaluate to.  In such a case, the base is used as a
poor man's scope qualifier.

This fixes PR26738.

Differential Revision: http://reviews.llvm.org/D17619

llvm-svn: 261975

8 years agoMake TestPlatformProcessConnect to support abstract/domain sockets.
Oleksiy Vyalov [Fri, 26 Feb 2016 04:01:58 +0000 (04:01 +0000)]
Make TestPlatformProcessConnect to support abstract/domain sockets.

llvm-svn: 261974

8 years agoAnother fix the testcase introduced by r261903 - Add the missing matches
Hongbin Zheng [Fri, 26 Feb 2016 03:41:47 +0000 (03:41 +0000)]
Another fix the testcase introduced by r261903 - Add the missing matches

llvm-svn: 261971

8 years ago[analyzer] Prune some incorrect \param doc comment annotations.
Devin Coughlin [Fri, 26 Feb 2016 03:41:31 +0000 (03:41 +0000)]
[analyzer] Prune some incorrect \param doc comment annotations.

llvm-svn: 261970

8 years agoClear alias argument vector for 'p' alias.
Chaoren Lin [Fri, 26 Feb 2016 03:36:27 +0000 (03:36 +0000)]
Clear alias argument vector for 'p' alias.

Summary: This fixes the 'p' command which should be aliased to 'expresion --'.

Reviewers: jingham

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D17634

llvm-svn: 261969

8 years agoMinor doc fix: statepoints are invokable too
Sanjoy Das [Fri, 26 Feb 2016 03:33:59 +0000 (03:33 +0000)]
Minor doc fix: statepoints are invokable too

llvm-svn: 261968

8 years agoMachineCopyPropagation: Catch copies of the form A<-B;A<-B
Matthias Braun [Fri, 26 Feb 2016 03:18:55 +0000 (03:18 +0000)]
MachineCopyPropagation: Catch copies of the form A<-B;A<-B

Differential Revision: http://reviews.llvm.org/D17475

llvm-svn: 261966

8 years agoMachineCopyPropagation: Keep scanning through instructions with regmasks
Matthias Braun [Fri, 26 Feb 2016 03:18:50 +0000 (03:18 +0000)]
MachineCopyPropagation: Keep scanning through instructions with regmasks

This also simplifies the code by removing the overly conservative
NoInterveningSideEffect() function. This function checked:
- That the two copies belong to the same block: We only process one
  block at a time and clear our maps in between it is impossible to find a
  copy from a different block.
- There is no terminator between the two copy instructions: This is not
  allowed anyway (the MachineVerifier would complain)
- Does not have instructions with hasUnmodeledSideEffects() or isCall()
  set: Even for those instructuction we must have all clobbers/defs of
  registers explicit as an operand. If the register is explicitely
  clobbered we would never come to the point of checking for
  NoInterveningSideEffect() anyway.

(I also checked this with a temporary build of the test-suite with all
 potentially failing conditions in NoInterveningSideEffect() turned into
 asserts)

Differential Revision: http://reviews.llvm.org/D17474

llvm-svn: 261965

8 years agoAdd a newline at the end of the file.
Rafael Espindola [Fri, 26 Feb 2016 03:17:25 +0000 (03:17 +0000)]
Add a newline at the end of the file.

llvm-svn: 261964

8 years agoCheckers/CheckObjCDealloc.cpp: Prune "\param". [-Wdocumentation]
NAKAMURA Takumi [Fri, 26 Feb 2016 03:15:13 +0000 (03:15 +0000)]
Checkers/CheckObjCDealloc.cpp: Prune "\param". [-Wdocumentation]

llvm-svn: 261963

8 years agoOpenMPClause.h: Fix typo in \param. [-Wdocumentation]
NAKAMURA Takumi [Fri, 26 Feb 2016 03:15:09 +0000 (03:15 +0000)]
OpenMPClause.h: Fix typo in \param. [-Wdocumentation]

llvm-svn: 261962

8 years ago[OpenCL] Refine OpenCLImageAccessAttr to OpenCLAccessAttr
Xiuli Pan [Fri, 26 Feb 2016 03:13:03 +0000 (03:13 +0000)]
[OpenCL] Refine OpenCLImageAccessAttr to OpenCLAccessAttr

Summary:
OpenCL access qualifiers are now not only used for image types, refine it to avoid misleading,

Add semacheck for OpenCL access qualifier as well as test caees.

Reviewers: pekka.jaaskelainen, Anastasia, aaron.ballman

Subscribers: aaron.ballman, cfe-commits

Differential Revision: http://reviews.llvm.org/D16040

llvm-svn: 261961

8 years agoMake vtables_blacklist dependency conditional on existence of clang target.
Peter Collingbourne [Fri, 26 Feb 2016 03:07:33 +0000 (03:07 +0000)]
Make vtables_blacklist dependency conditional on existence of clang target.

llvm-svn: 261960

8 years ago[PGO] Add test case to ensure covmap section is not allocatable.
Xinliang David Li [Fri, 26 Feb 2016 03:05:10 +0000 (03:05 +0000)]
[PGO] Add test case to ensure covmap section is not allocatable.

Differential Revision: http://reviews.llvm.org/D17324

llvm-svn: 261959

8 years ago[LoopUnrollAnalyzer] Check that we're using SCEV for the same loop we're simulating.
Michael Zolotukhin [Fri, 26 Feb 2016 02:57:05 +0000 (02:57 +0000)]
[LoopUnrollAnalyzer] Check that we're using SCEV for the same loop we're simulating.

Summary: Check that we're using SCEV for the same loop we're simulating. Otherwise, we might try to use the iteration number of the current loop in SCEV expressions for inner/outer loops IVs, which is clearly incorrect.

Reviewers: chandlerc, hfinkel

Subscribers: sanjoy, llvm-commits, mzolotukhin

Differential Revision: http://reviews.llvm.org/D17632

llvm-svn: 261958

8 years ago[profile] Compute number of data entries correctly
Vedant Kumar [Fri, 26 Feb 2016 02:49:41 +0000 (02:49 +0000)]
[profile] Compute number of data entries correctly

Compiler-rt miscalculates the number of entries in the __llvm_prf_data section
on i386 Darwin. This results in a number of test failures (which we started
catching after r261344).

The fix we attempted earlier is insufficient (r261683). It caused some tests to
start passing again, but that hid the fact that we drop some data entries.

This patch should fix the real problem. It fixes the way we compute DataSize by
taking into account the way the Darwin linker lays out __llvm_prf_data.

Differential Revision: http://reviews.llvm.org/D17623

llvm-svn: 261957

8 years agoFix a warning about an unused variable in release builds.
Chandler Carruth [Fri, 26 Feb 2016 02:25:06 +0000 (02:25 +0000)]
Fix a warning about an unused variable in release builds.

llvm-svn: 261956

8 years agoMinor code cleanups. NFC.
Junmo Park [Fri, 26 Feb 2016 02:07:36 +0000 (02:07 +0000)]
Minor code cleanups. NFC.

llvm-svn: 261955

8 years ago[UnitTests] UnrollAnalyzer: make unit-test more general so that it can cover more...
Michael Zolotukhin [Fri, 26 Feb 2016 01:44:04 +0000 (01:44 +0000)]
[UnitTests] UnrollAnalyzer: make unit-test more general so that it can cover more cases in future.

llvm-svn: 261954

8 years agoAdd the "block" keyword to "thread step-in -e", and an alias that uses it: "sif ...
Jim Ingham [Fri, 26 Feb 2016 01:37:30 +0000 (01:37 +0000)]
Add the "block" keyword to "thread step-in -e", and an alias that uses it: "sif <target function>" - i.e. step-into-function
to allow you to step through a complex calling sequence into a particular function that may span multiple lines.  Also some
test cases for this and the --step-target feature.

llvm-svn: 261953

8 years agoFix Clang-tidy modernize-use-nullptr warnings in some files in source/Plugins/ABI...
Eugene Zelenko [Fri, 26 Feb 2016 01:33:58 +0000 (01:33 +0000)]
Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Plugins/ABI; other minor fixes.

llvm-svn: 261952

8 years agoRemove redundant template instantiations.
Rui Ueyama [Fri, 26 Feb 2016 01:30:35 +0000 (01:30 +0000)]
Remove redundant template instantiations.

This class is used only in this translation unit, so no need
to instantiate them explicitly.

llvm-svn: 261951

8 years agoFix all of the unannotated switch cases to annotate the fall through or do the right...
Greg Clayton [Fri, 26 Feb 2016 01:20:20 +0000 (01:20 +0000)]
Fix all of the unannotated switch cases to annotate the fall through or do the right thing and break.

llvm-svn: 261950

8 years ago[sancov] Pruning full dominator blocks from instrumentation.
Mike Aizatsky [Fri, 26 Feb 2016 01:17:22 +0000 (01:17 +0000)]
[sancov] Pruning full dominator blocks from instrumentation.

Summary:
This is the first simple attempt to reduce number of coverage-
instrumented blocks.

If a basic block dominates all its successors, then its coverage
information is useless to us. Ingore such blocks if
santizer-coverage-prune-tree option is set.

Differential Revision: http://reviews.llvm.org/D17626

llvm-svn: 261949

8 years ago[x86, SSE] add tests to show missing pcmp folds
Sanjay Patel [Fri, 26 Feb 2016 01:14:27 +0000 (01:14 +0000)]
[x86, SSE] add tests to show missing pcmp folds

llvm-svn: 261948

8 years agoSync up with master
Xinliang David Li [Fri, 26 Feb 2016 00:56:31 +0000 (00:56 +0000)]
Sync up with master

llvm-svn: 261947

8 years agoAdd forward declarations /NFC
Xinliang David Li [Fri, 26 Feb 2016 00:54:08 +0000 (00:54 +0000)]
Add forward declarations /NFC

llvm-svn: 261946

8 years ago[analyzer] Shorten ObjcSuperDeallocChecker diagnostics.
Devin Coughlin [Fri, 26 Feb 2016 00:47:42 +0000 (00:47 +0000)]
[analyzer] Shorten ObjcSuperDeallocChecker diagnostics.

Change "use of 'self' after it has been freed with call to [super dealloc]" to
"use of 'self' after it has been deallocated" and "use of instance variable
'_ivar' after the instance has been freed with call to [super dealloc]" to
"use of instance variable '_ivar' after 'self' has been deallocated".

llvm-svn: 261945

8 years ago[analyzer] Fix a memory error in r261935 caught by the Windows bots.
Devin Coughlin [Fri, 26 Feb 2016 00:23:41 +0000 (00:23 +0000)]
[analyzer] Fix a memory error in r261935 caught by the Windows bots.

It was using a temporary StringRef after its underlying storage was freed.

llvm-svn: 261944

8 years agoFix typo in comment.
Rui Ueyama [Fri, 26 Feb 2016 00:10:01 +0000 (00:10 +0000)]
Fix typo in comment.

llvm-svn: 261943

8 years ago[WinEH] Don't remove unannotated inline-asm calls
David Majnemer [Fri, 26 Feb 2016 00:04:25 +0000 (00:04 +0000)]
[WinEH] Don't remove unannotated inline-asm calls

Inline-asm calls aren't annotated with funclet bundle operands because
they don't throw and cannot be inlined through.  We shouldn't require
them to bear an funclet bundle operand.

llvm-svn: 261942

8 years agoELF: Add '*' to auto.
Rui Ueyama [Thu, 25 Feb 2016 23:58:21 +0000 (23:58 +0000)]
ELF: Add '*' to auto.

llvm-svn: 261941

8 years agoRemove a blank line at EOF. NFC
Alexander Kornienko [Thu, 25 Feb 2016 23:57:30 +0000 (23:57 +0000)]
Remove a blank line at EOF. NFC

llvm-svn: 261940

8 years agoAdd a new check, readability-redundant-string-init, that checks unnecessary string...
Alexander Kornienko [Thu, 25 Feb 2016 23:57:23 +0000 (23:57 +0000)]
Add a new check, readability-redundant-string-init, that checks unnecessary string initializations.

Reviewers: hokein, alexfh

Subscribers: cfe-commits

Patch by Shuai Wang!

Differential Revision: http://reviews.llvm.org/D17586

llvm-svn: 261939

8 years agoELF: Create MIPS .rld_map section earlier.
Rui Ueyama [Thu, 25 Feb 2016 23:54:49 +0000 (23:54 +0000)]
ELF: Create MIPS .rld_map section earlier.

This is the usual way of instantiating a globally-visible section.

llvm-svn: 261938

8 years agoFix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in source...
Eugene Zelenko [Thu, 25 Feb 2016 23:46:36 +0000 (23:46 +0000)]
Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in source/Commands/CommandObjectThread.cpp; other minor fixes.

llvm-svn: 261936

8 years ago[analyzer] Warn on use of 'self' after call to to [super dealloc].
Devin Coughlin [Thu, 25 Feb 2016 23:36:52 +0000 (23:36 +0000)]
[analyzer] Warn on use of 'self' after call to to [super dealloc].

Referring to 'self' after a call to [super dealloc] is a use-after-free in
Objective-C because NSObject's -dealloc frees the memory pointed to by self.
This patch extends the ObjCSuperDeallocChecker to catch this error.

rdar://problem/6953275

Differential Revision: http://reviews.llvm.org/D17528

llvm-svn: 261935

8 years agoMore internal details of SROA pass to library visibility.
Owen Anderson [Thu, 25 Feb 2016 23:34:21 +0000 (23:34 +0000)]
More internal details of SROA pass to library visibility.

llvm-svn: 261934

8 years agoDelete dead code.
Rafael Espindola [Thu, 25 Feb 2016 23:16:33 +0000 (23:16 +0000)]
Delete dead code.

When this code was first added it was compensating for the code deciding
to create plt entries for directly referenced functions being too aggressive.

That has since been fixed, so we don't need this anymore.

llvm-svn: 261933

8 years agoMove common code out of target specific hooks.
Rafael Espindola [Thu, 25 Feb 2016 23:03:55 +0000 (23:03 +0000)]
Move common code out of target specific hooks.

llvm-svn: 261932