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

8 years agoRevert "Introduce DominanceFrontierAnalysis to the new PassManager to compute Dominan...
Hongbin Zheng [Thu, 25 Feb 2016 16:45:46 +0000 (16:45 +0000)]
Revert "Introduce DominanceFrontierAnalysis to the new PassManager to compute DominanceFrontier. NFC"

This reverts commit 109c38b2226a87b0be73fa7a0a8c1a81df20aeb2.

llvm-svn: 261890

8 years agoRevert "Introduce RegionInfoAnalysis, which compute Region Tree in the new PassManage...
Hongbin Zheng [Thu, 25 Feb 2016 16:45:37 +0000 (16:45 +0000)]
Revert "Introduce RegionInfoAnalysis, which compute Region Tree in the new PassManager. NFC"

This reverts commit 8228b4d374edeb4cc0c5fddf6e1ab876918ee126.

llvm-svn: 261889

8 years agorangify; NFCI
Sanjay Patel [Thu, 25 Feb 2016 16:44:27 +0000 (16:44 +0000)]
rangify; NFCI

llvm-svn: 261888

8 years agoAdd FieldNames to __NSConstantString_tag
Ben Langmuir [Thu, 25 Feb 2016 16:36:26 +0000 (16:36 +0000)]
Add FieldNames to __NSConstantString_tag

Since consumers of the AST may expect fields to be named.

Patch by Brad King!

llvm-svn: 261887

8 years agoAdapt to LLVM head. NFC
Hongbin Zheng [Thu, 25 Feb 2016 16:36:09 +0000 (16:36 +0000)]
Adapt to LLVM head. NFC

llvm-svn: 261886

8 years ago[AArch64] Clean up callee-save CFI emission. NFC.
Geoff Berry [Thu, 25 Feb 2016 16:36:08 +0000 (16:36 +0000)]
[AArch64] Clean up callee-save CFI emission. NFC.

Summary:
Avoid special case for FP, LR CFI emission and just allow general
AArch64FrameLowering::emitCalleeSavedFrameMoves() to handle them.  Also,
stop recalculating the stack offsets in emitCalleeSavedFrameMoves()
since we can just reuse the previously calculated offset stored in the
MachineFrameInfo.

Depends on D17000

Reviewers: t.p.northover, rengolin, mcrosier, jmolloy

Subscribers: aemerson, rengolin, mcrosier, llvm-commits

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

llvm-svn: 261885

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

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

llvm-svn: 261884

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

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

llvm-svn: 261883

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

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

llvm-svn: 261882

8 years agoAdd support for weak symbols in LTO.
Rafael Espindola [Thu, 25 Feb 2016 16:25:41 +0000 (16:25 +0000)]
Add support for weak symbols in LTO.

llvm-svn: 261881

8 years agoRemove unnecessary prefix.
Rafael Espindola [Thu, 25 Feb 2016 16:20:00 +0000 (16:20 +0000)]
Remove unnecessary prefix.

llvm-svn: 261880

8 years ago[ELF][MIPS] Add STO_MIPS_PLT flag to the symbols require pointer equality
Simon Atanasyan [Thu, 25 Feb 2016 16:19:15 +0000 (16:19 +0000)]
[ELF][MIPS] Add STO_MIPS_PLT flag to the symbols require pointer equality

On MIPS we need to mark symbol which has a PLT entry and requires
pointer equality by STO_MIPS_PLT flag. That is necessary to help
dynamic linker distinguish such symbols and MIPS lazy-binding stubs.

https://sourceware.org/ml/binutils/2008-07/txt00000.txt

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

llvm-svn: 261879

8 years ago[AMDGPU] Disassembler: Support for all VOP1 instructions.
Nikolay Haustov [Thu, 25 Feb 2016 16:09:14 +0000 (16:09 +0000)]
[AMDGPU] Disassembler: Support for all VOP1 instructions.

Support all instructions with VOP1 encoding with 32 or 64-bit operands for VI subtarget:

VGPR_32 and VReg_64 operand register classes
VS_32 and VS_64 operand register classes with inline and literal constants
Tests for VOP1 instructions.

Patch by: skolton

Reviewers: arsenm, tstellarAMD

Review: http://reviews.llvm.org/D17194
llvm-svn: 261878

8 years agodon't repeat names in documentation comments; NFC
Sanjay Patel [Thu, 25 Feb 2016 15:55:28 +0000 (15:55 +0000)]
don't repeat names in documentation comments; NFC

llvm-svn: 261877

8 years agoUse inline local variable declaration. NFC.
Michael Kruse [Thu, 25 Feb 2016 15:52:43 +0000 (15:52 +0000)]
Use inline local variable declaration. NFC.

llvm-svn: 261876

8 years agoNo, really - test the constructor
Marshall Clow [Thu, 25 Feb 2016 15:27:13 +0000 (15:27 +0000)]
No, really - test the constructor

llvm-svn: 261875

8 years agoAdd test to ensure that the converting constructor in N4089 is present and working
Marshall Clow [Thu, 25 Feb 2016 15:25:29 +0000 (15:25 +0000)]
Add test to ensure that the converting constructor in N4089 is present and working

llvm-svn: 261874

8 years agowww: Fix typo
Tobias Grosser [Thu, 25 Feb 2016 15:21:02 +0000 (15:21 +0000)]
www: Fix typo

Reported-by: Hongbin Zheng
llvm-svn: 261873

8 years agoReplace a compiler-specific approach to determining the presence of a getDecl() membe...
Aaron Ballman [Thu, 25 Feb 2016 15:14:09 +0000 (15:14 +0000)]
Replace a compiler-specific approach to determining the presence of a getDecl() member function with one that does not require compiler-specific workarounds; NFC.

llvm-svn: 261872

8 years agoGC empty directory.
Joerg Sonnenberger [Thu, 25 Feb 2016 15:00:14 +0000 (15:00 +0000)]
GC empty directory.

llvm-svn: 261871

8 years ago[asan] Disable recvfrom test failing on the bots.
Maxim Ostapenko [Thu, 25 Feb 2016 14:58:07 +0000 (14:58 +0000)]
[asan] Disable recvfrom test failing on the bots.

llvm-svn: 261870

8 years ago[clang-tidy] update links to Google Code Style in docs
Haojian Wu [Thu, 25 Feb 2016 14:31:10 +0000 (14:31 +0000)]
[clang-tidy] update links to Google Code Style in docs

Summary: Because of the recent Google Code shutdown links to the Google Code Style up there are no longer relevant.

Reviewers: alexfh, hokein

Subscribers: cfe-commits

Patch by Kirill Bobyrev!

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

llvm-svn: 261868

8 years agoAdd Polly GSoC projects
Tobias Grosser [Thu, 25 Feb 2016 14:17:11 +0000 (14:17 +0000)]
Add Polly GSoC projects

These projects are just some first thoughts. Feel free to updated / add ideas
for further projects.

llvm-svn: 261867

8 years agoSupport calls with known ModRef function behaviour
Johannes Doerfert [Thu, 25 Feb 2016 14:08:48 +0000 (14:08 +0000)]
Support calls with known ModRef function behaviour

  Check the ModRefBehaviour of functions in order to decide whether or
  not a call instruction might be acceptable.

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

llvm-svn: 261866

8 years agoFix DomTree preservation for generated subregions.
Michael Kruse [Thu, 25 Feb 2016 14:08:48 +0000 (14:08 +0000)]
Fix DomTree preservation for generated subregions.

The generated dedicated subregion exit block was assumed to have the same
dominance relation as the original exit block. This is incorrect if the exit
block receives other edges than only from the subregion, which results in that
e.g. the subregion's entry block does not dominate the exit block.

llvm-svn: 261865

8 years agoSimplify code [NFC]
Johannes Doerfert [Thu, 25 Feb 2016 14:07:49 +0000 (14:07 +0000)]
Simplify code [NFC]

llvm-svn: 261864

8 years agoTry to build alias checks even when non-affine accesses are allowed
Johannes Doerfert [Thu, 25 Feb 2016 14:06:11 +0000 (14:06 +0000)]
Try to build alias checks even when non-affine accesses are allowed

  From now on we bail only if a non-trivial alias group contains a non-affine
  access, not when we discover aliasing and non-affine accesses are allowed.

llvm-svn: 261863

8 years agoAVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change...
Igor Breger [Thu, 25 Feb 2016 13:30:17 +0000 (13:30 +0000)]
AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change memory operand parser handling.

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

llvm-svn: 261862

8 years agoImprove readability and performance of ClangExpressionParser::FindFunctionInModule
Aidan Dodds [Thu, 25 Feb 2016 13:07:04 +0000 (13:07 +0000)]
Improve readability and performance of ClangExpressionParser::FindFunctionInModule

Committed on behalf of: Luke Drummond

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

llvm-svn: 261861

8 years ago[mips][microMIPS] Implement DINSU, DINSM, DINS instructions
Hrvoje Varga [Thu, 25 Feb 2016 12:53:29 +0000 (12:53 +0000)]
[mips][microMIPS] Implement DINSU, DINSM, DINS instructions
Differential Revision: http://reviews.llvm.org/D16181

llvm-svn: 261860

8 years agoAdd support for handling absolute symbols in ELF
Tamas Berghammer [Thu, 25 Feb 2016 12:23:43 +0000 (12:23 +0000)]
Add support for handling absolute symbols in ELF

Most address represented in lldb as section plus offset and handling of
absolute addresses is problematic in several location because of lack
of necessary information (e.g. Target) or because of performance issues.

This CL change the way ObjectFileELF handle the absolute symbols with
creating a pseudo section for each symbol. With this change all existing
code designed to work with addresses in the form of section plus offset
will work with absolute symbols as well.

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

llvm-svn: 261859

8 years agoHandle the case when a variable is only valid in part of the enclosing scope
Tamas Berghammer [Thu, 25 Feb 2016 12:23:37 +0000 (12:23 +0000)]
Handle the case when a variable is only valid in part of the enclosing scope

DWARF stores this information in the DW_AT_start_scope attribute. This
CL add support for this attribute and also changes the functions
displaying frame variables to only display the variables currently in
scope.

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

llvm-svn: 261858

8 years ago[AMDGPU] Assembler: Simplify handling of optional operands
Nikolay Haustov [Thu, 25 Feb 2016 10:58:54 +0000 (10:58 +0000)]
[AMDGPU] Assembler: Simplify handling of optional operands

Resubmit with index problem fixed. Verified with valgrind.

Prepare to support DPP encodings.

For DPP encodings, we want row_mask/bank_mask/bound_ctrl to be optional operands.
However this means that when parsing instruction which has no mnemonic prefix,
we cannot add both default values for VOP3 and for DPP optional operands
to OperandVector - neither instructions would match. So add default values
for optional operands to MCInst during conversion instead.

Mark more operands as IsOptional = 1 in .td files.
Do not add default values for optional operands to OperandVector in AMDGPUAsmParser.
Add default values for optional operands during conversion using new helper addOptionalImmOperand.
Change to cvtVOP3_2_mod to check instruction flag instead of presence of modifiers. In the future, cvtVOP3* functions can be combined into one.
Separate cvtFlat and cvtFlatAtomic.
Fix CNDMASK_B32 definition to have no modifiers.

Review: http://reviews.llvm.org/D17445
llvm-svn: 261856