platform/upstream/llvm.git
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

8 years agoSupport: Give ManagedStatic's helper object library visibility
Justin Bogner [Thu, 25 Feb 2016 22:05:19 +0000 (22:05 +0000)]
Support: Give ManagedStatic's helper object library visibility

It doesn't make much sense to export these symbols.

llvm-svn: 261931

8 years ago[ELF][MIPS] Calculate combined addend for R_MIPS_GOT16 against local symbol
Simon Atanasyan [Thu, 25 Feb 2016 21:33:56 +0000 (21:33 +0000)]
[ELF][MIPS] Calculate combined addend for R_MIPS_GOT16 against local symbol

R_MIPS_GOT16 relocation against local symbol requires index of a local
GOT entry which contains page address corresponds to sum of the symbol
address and addend. The addend in that case is calculated using addends
from the R_MIPS_GOT16 and paired R_MIPS_LO16 relocations.

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

llvm-svn: 261930

8 years ago[analyzer] Reapply r261917 with a fix.
Devin Coughlin [Thu, 25 Feb 2016 21:15:16 +0000 (21:15 +0000)]
[analyzer] Reapply r261917 with a fix.

This reapplies "[analyzer] Make ObjCDeallocChecker path sensitive." (r261917)
with a fix for an error on some bots about specializing a template
from another namespace.

llvm-svn: 261929

8 years ago[ELF][MIPS] Remove redundant namespace qualifier. NFC
Simon Atanasyan [Thu, 25 Feb 2016 21:09:05 +0000 (21:09 +0000)]
[ELF][MIPS] Remove redundant namespace qualifier. NFC

llvm-svn: 261928

8 years agoReverts change r261907 and r261918
Hemant Kulkarni [Thu, 25 Feb 2016 20:47:07 +0000 (20:47 +0000)]
Reverts change r261907 and r261918

llvm-svn: 261927

8 years agomore status updates
Marshall Clow [Thu, 25 Feb 2016 20:17:03 +0000 (20:17 +0000)]
more status updates

llvm-svn: 261926

8 years agoAdded tests to make sure that the categorization traits work on incomplete types
Marshall Clow [Thu, 25 Feb 2016 20:15:47 +0000 (20:15 +0000)]
Added tests to make sure that the categorization traits work on incomplete types

llvm-svn: 261925

8 years agoELF: Split Writer::addPredefiendSections. NFC.
Rui Ueyama [Thu, 25 Feb 2016 19:34:37 +0000 (19:34 +0000)]
ELF: Split Writer::addPredefiendSections. NFC.

llvm-svn: 261924

8 years agoELF: Split Writer::writeHeader. NFC.
Rui Ueyama [Thu, 25 Feb 2016 19:28:37 +0000 (19:28 +0000)]
ELF: Split Writer::writeHeader. NFC.

llvm-svn: 261923

8 years agoUse regex in testcase, do not fail windows bots
Hongbin Zheng [Thu, 25 Feb 2016 19:16:40 +0000 (19:16 +0000)]
Use regex in testcase, do not fail windows bots

llvm-svn: 261922

8 years agoRevert "[analyzer] Make ObjCDeallocChecker path sensitive."
Devin Coughlin [Thu, 25 Feb 2016 19:13:43 +0000 (19:13 +0000)]
Revert "[analyzer] Make ObjCDeallocChecker path sensitive."

This reverts commit r261917. It broke the bots.

llvm-svn: 261921

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

llvm-svn: 261920

8 years agoELF: Define log() to print out message if --verbose is given.
Rui Ueyama [Thu, 25 Feb 2016 18:56:01 +0000 (18:56 +0000)]
ELF: Define log() to print out message if --verbose is given.

llvm-svn: 261919

8 years agoFix endianness issue on BE machines introduced by r261907
Hemant Kulkarni [Thu, 25 Feb 2016 18:56:01 +0000 (18:56 +0000)]
Fix endianness issue on BE machines introduced by r261907

llvm-svn: 261918

8 years ago[analyzer] Make ObjCDeallocChecker path sensitive.
Devin Coughlin [Thu, 25 Feb 2016 18:55:24 +0000 (18:55 +0000)]
[analyzer] Make ObjCDeallocChecker path sensitive.

Convert the ObjCDeallocChecker to be path sensitive. The primary
motivation for this change is to prevent false positives when -dealloc calls
helper invalidation methods to release instance variables, but it additionally
improves precision when -dealloc contains control flow. It also reduces the need
for pattern matching. The check for missing -dealloc methods remains AST-based.

Part of rdar://problem/6927496

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

llvm-svn: 261917

8 years agoReformatted a comment to fit the 80 column limit. NFC.
David L Kreitzer [Thu, 25 Feb 2016 18:50:45 +0000 (18:50 +0000)]
Reformatted a comment to fit the 80 column limit. NFC.

llvm-svn: 261916

8 years agoAdd new OpenMP 4.5 affinity API
Jonathan Peyton [Thu, 25 Feb 2016 18:49:52 +0000 (18:49 +0000)]
Add new OpenMP 4.5 affinity API

This change introduces the new OpenMP 4.5 affinity api surrounding
OpenMP Places. There are six new entry points:

Typically called in serial region:
 * omp_get_num_places - returns the number of places available to the execution
       environment in the place list.
 * omp_get_place_num_procs - returns the number of processors available to the
       execution environment in the specified place.
 * omp_get_place_proc_ids - returns the numerical identifiers of the processors
       available to the execution environment in the specified place.

Typically called inside parallel region:
 * omp_get_place_num - returns the place number of the place to which the
       encountering thread is bound.
 * omp_get_partition_num_places - returns the number of places in the place
       partition of the innermost implicit task.
 * omp_get_partition_place_nums - returns the list of place numbers
       corresponding to the places in the place-var ICV of the innermost
       implicit task.

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

llvm-svn: 261915

8 years agoRename so that the function name is consistent between ELF and COFF.
Rui Ueyama [Thu, 25 Feb 2016 18:49:11 +0000 (18:49 +0000)]
Rename so that the function name is consistent between ELF and COFF.

llvm-svn: 261914

8 years agoRemove default values which are always overwritten.
Rui Ueyama [Thu, 25 Feb 2016 18:49:09 +0000 (18:49 +0000)]
Remove default values which are always overwritten.

llvm-svn: 261913

8 years agoELF: Implement ICF.
Rui Ueyama [Thu, 25 Feb 2016 18:43:51 +0000 (18:43 +0000)]
ELF: Implement ICF.

This patch implements the same algorithm as LLD/COFF's ICF. I'm
not going to repeat the same description about how it works, so you
want to read the comment in ICF.cpp in this patch if you want to know
the details. This algorithm should be more powerful than the ICF
algorithm implemented in GNU gold. It can even merge mutually-recursive
functions (which is harder than one might think).

ICF is a fairly effective size optimization. Here are some examples.

 LLD:   37.14 MB -> 35.80 MB (-3.6%)
 Clang: 59.41 MB -> 57.80 MB (-2.7%)

The lacking feature is "safe" version of ICF. This merges all
identical sections. That is not compatible with a C/C++ language
requirement that two distinct functions must have distinct addresses.

But as long as your program do not rely on the pointer equality
(which is in many cases true), your program should work with the
feature. LLD works fine for example.

GNU gold implements so-called "safe ICF" that identifies functions
that are safe to merge by heuristics -- for example, gold thinks
that constructors are safe to merge because there is no way to
take an address of a constructor in C++. We have a different idea
which David Majnemer suggested that we add NOPs at beginning of
merged functions so that two or more pointers can have distinct
values. We can do whichever we want, but this patch does not
include neither.

http://reviews.llvm.org/D17529

llvm-svn: 261912

8 years ago[CMake] Fixing install-clang-headers dependencies to depend on generating the headers.
Chris Bieneman [Thu, 25 Feb 2016 18:39:19 +0000 (18:39 +0000)]
[CMake] Fixing install-clang-headers dependencies to depend on generating the headers.

llvm-svn: 261911

8 years agoTry to fix windows fail at r261902.
Hongbin Zheng [Thu, 25 Feb 2016 18:24:19 +0000 (18:24 +0000)]
Try to fix windows fail at r261902.

Introduce move constructor and move assignment operator to PostDominatorTree.

llvm-svn: 261910

8 years ago[Sanitizer] Protect against compiler-inserted memcpy() in InternalMmapVector::push_ba...
Alexey Samsonov [Thu, 25 Feb 2016 18:12:30 +0000 (18:12 +0000)]
[Sanitizer] Protect against compiler-inserted memcpy() in InternalMmapVector::push_back().

llvm-svn: 261909

8 years agoAdd initial support for OpenMP 4.5 task priority feature
Jonathan Peyton [Thu, 25 Feb 2016 18:04:09 +0000 (18:04 +0000)]
Add initial support for OpenMP 4.5 task priority feature

The maximum task priority value is read from envirable: OMP_MAX_TASK_PRIORITY.
But as of now, nothing is done with it.  We just handle the environment variable
and add the new api: omp_get_max_task_priority() which returns that value or
zero if it is not set.

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

llvm-svn: 261908

8 years ago[llvm-readobj] Enable GNU style sections and relocations printing
Hemant Kulkarni [Thu, 25 Feb 2016 18:02:00 +0000 (18:02 +0000)]
[llvm-readobj] Enable GNU style sections and relocations printing

http://reviews.llvm.org/D17523

llvm-svn: 261907

8 years agodd new OpenMP 4.5 schedule clause modifiers (monotonic/non-monotonic) feature
Jonathan Peyton [Thu, 25 Feb 2016 17:55:50 +0000 (17:55 +0000)]
dd new OpenMP 4.5 schedule clause modifiers (monotonic/non-monotonic) feature

The monotonic/non-monotonic flags are sent to the runtime via the sched_type by
setting the 30th (non-monotonic) or 29th (monotonic) bit in the sched_type.
Macros are added to probe if monotonic or non-monotonic is specified
(SCHEDULE_HAS_[NON]MONOTONIC & SCHEDULE_HAS_NO_MODIFIERS)
and also to to get the base sched_type (SCHEDULE_WITHOUT_MODIFIERS)

Currently, nothing is done with the modifiers.

Also, this patch adds some comments on the use of the enumerations in at least
 one place where it is subtle.

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

llvm-svn: 261906

8 years agoAdapt to LLVM head, again
Hongbin Zheng [Thu, 25 Feb 2016 17:54:42 +0000 (17:54 +0000)]
Adapt to LLVM head, again

llvm-svn: 261905

8 years agoIntroduce RegionInfoAnalysis, which compute Region Tree in the new PassManager. NFC
Hongbin Zheng [Thu, 25 Feb 2016 17:54:25 +0000 (17:54 +0000)]
Introduce RegionInfoAnalysis, which compute Region Tree in the new PassManager. NFC

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

llvm-svn: 261904

8 years agoIntroduce DominanceFrontierAnalysis to the new PassManager to compute DominanceFronti...
Hongbin Zheng [Thu, 25 Feb 2016 17:54:15 +0000 (17:54 +0000)]
Introduce DominanceFrontierAnalysis to the new PassManager to compute DominanceFrontier. NFC

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

llvm-svn: 261903

8 years agoIntroduce analysis pass to compute PostDominators in the new pass manager. NFC
Hongbin Zheng [Thu, 25 Feb 2016 17:54:07 +0000 (17:54 +0000)]
Introduce analysis pass to compute PostDominators in the new pass manager. NFC

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

llvm-svn: 261902

8 years agoFix PythonDataObjectsTests for python 2
Pavel Labath [Thu, 25 Feb 2016 17:41:59 +0000 (17:41 +0000)]
Fix PythonDataObjectsTests for python 2

Summary:
the python2 branch seems erroneous as it expected the object to be both a "String" and "Bytes".
Fix the expectation.

Reviewers: zturner

Subscribers: lldb-commits

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

llvm-svn: 261901

8 years ago[powerpc] reactivate ignore_lib4.cc on powerpc64le
Bill Seurer [Thu, 25 Feb 2016 17:41:41 +0000 (17:41 +0000)]
[powerpc] reactivate ignore_lib4.cc on powerpc64le

The test case compiler-rt/test/tsan/ignore_lib4.cc fails on powerpc64
big endian but not little endian.

llvm-svn: 261900

8 years agoAdd update_test.py script.
Michael Kruse [Thu, 25 Feb 2016 17:12:12 +0000 (17:12 +0000)]
Add update_test.py script.

The script updates a lit test case that uses FileCheck using the actual
output of the 'RUN:'-lines program. Useful when updating test cases due
expected output changes and diff'ing expected and actual output.

llvm-svn: 261899

8 years ago[sanitizer] Fix third parameter in COMMON_INTERCEPTOR_WRITE_RANGE in recv and recvfro...
Maxim Ostapenko [Thu, 25 Feb 2016 17:07:38 +0000 (17:07 +0000)]
[sanitizer] Fix third parameter in COMMON_INTERCEPTOR_WRITE_RANGE in recv and recvfrom interceptors.

Pass res instead of len as third parameter to COMMON_INTERCEPTOR_WRITE_RANGE,
because otherwise we can write to unrelated memory (in MSan) or get wrong report (in ASan).

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

llvm-svn: 261898

8 years agoRevert r261814, "check-clang-tools: Introduce the feature target-headers", correspond...
NAKAMURA Takumi [Thu, 25 Feb 2016 16:59:59 +0000 (16:59 +0000)]
Revert r261814, "check-clang-tools: Introduce the feature target-headers", corresponding to r261893.

llvm-svn: 261897

8 years agoUpdate the status of a N4089 and a couple issues
Marshall Clow [Thu, 25 Feb 2016 16:55:58 +0000 (16:55 +0000)]
Update the status of a N4089 and a couple issues

llvm-svn: 261896

8 years agoARM: disallow pc as a base register in Thumb2 memory ops.
Tim Northover [Thu, 25 Feb 2016 16:54:52 +0000 (16:54 +0000)]
ARM: disallow pc as a base register in Thumb2 memory ops.

These should all be deferring to the "OP (literal)" variant according to the
ARM ARM.

llvm-svn: 261895

8 years agoAnother chunk of N4089
Marshall Clow [Thu, 25 Feb 2016 16:50:51 +0000 (16:50 +0000)]
Another chunk of N4089

llvm-svn: 261894

8 years ago[clang-tidy] Adding headers needed in modernize-deprecated-headers tests
Alexander Kornienko [Thu, 25 Feb 2016 16:46:54 +0000 (16:46 +0000)]
[clang-tidy] Adding headers needed in modernize-deprecated-headers tests

llvm-svn: 261893

8 years agoRevert "Adapt to LLVM head. NFC"
Hongbin Zheng [Thu, 25 Feb 2016 16:46:17 +0000 (16:46 +0000)]
Revert "Adapt to LLVM head. NFC"

This reverts commit 4d3753b9646a69c00d234ccd6e91dc3d0ea5d643.

llvm-svn: 261892

8 years agoRevert "Introduce analysis pass to compute PostDominators in the new pass manager...
Hongbin Zheng [Thu, 25 Feb 2016 16:45:53 +0000 (16:45 +0000)]
Revert "Introduce analysis pass to compute PostDominators in the new pass manager. NFC"

This reverts commit a3e5cc6a51ab5ad88d1760c63284294a4e34c018.

llvm-svn: 261891