platform/upstream/llvm.git
8 years ago[clang-tidy] Reshuffled paragraphs a bit, added contents.
Alexander Kornienko [Mon, 8 Feb 2016 15:09:39 +0000 (15:09 +0000)]
[clang-tidy] Reshuffled paragraphs a bit, added contents.

llvm-svn: 260100

8 years ago[clang-tidy] Fix an error in .rst
Alexander Kornienko [Mon, 8 Feb 2016 15:09:34 +0000 (15:09 +0000)]
[clang-tidy] Fix an error in .rst

llvm-svn: 260099

8 years ago[clang-tidy] Update documentation
Alexander Kornienko [Mon, 8 Feb 2016 15:09:28 +0000 (15:09 +0000)]
[clang-tidy] Update documentation

Summary: We have 2 scripts add_new_check.py and rename_check.py to bootstrap a new check creation. There is also clang-query to aid with the matcher creation. These were not mentioned in the current document, add them so it's available to the masses.

Reviewers: alexfh

Patch by Deniz Türkoglu!

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

llvm-svn: 260098

8 years agoReverting r260096; it causes build bot failures:
Aaron Ballman [Mon, 8 Feb 2016 14:37:56 +0000 (14:37 +0000)]
Reverting r260096; it causes build bot failures:

http://bb.pgr.jp/builders/cmake-clang-tools-x86_64-linux/builds/23351
http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/492

llvm-svn: 260097

8 years agoExpand the simplify boolean expression check to handle implicit conversion of integra...
Aaron Ballman [Mon, 8 Feb 2016 14:25:25 +0000 (14:25 +0000)]
Expand the simplify boolean expression check to handle implicit conversion of integral types to bool and improve the handling of implicit conversion of member pointers to bool.

Implicit conversion of member pointers are replaced with explicit comparisons to nullptr.

Implicit conversions of integral types are replaced with explicit comparisons to 0.

Patch by Richard Thomson.

llvm-svn: 260096

8 years ago[SLP] Fix placement of debug statement (NFC)
Igor Breger [Mon, 8 Feb 2016 14:11:39 +0000 (14:11 +0000)]
[SLP] Fix placement of debug statement (NFC)

By Ayal Zaks (ayal.zaks@intel.com)

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

llvm-svn: 260094

8 years agoclang/test/OpenMP/parallel_private_codegen.cpp: Fix an expression.
NAKAMURA Takumi [Mon, 8 Feb 2016 14:04:28 +0000 (14:04 +0000)]
clang/test/OpenMP/parallel_private_codegen.cpp: Fix an expression.

  call x86_thiscallcc void @_ZN2SSC1ERi(

It matched to:

  <call> x86_this<callcc void @_ZN2SSC1ERi(>

llvm-svn: 260093

8 years ago[OPENMP] Fix test incompatibility with arm buildbots
Alexey Bataev [Mon, 8 Feb 2016 13:47:46 +0000 (13:47 +0000)]
[OPENMP] Fix test incompatibility with arm buildbots

llvm-svn: 260092

8 years ago[OPENMP] Fixed test incompat with MSVC
Alexey Bataev [Mon, 8 Feb 2016 13:02:00 +0000 (13:02 +0000)]
[OPENMP] Fixed test incompat with MSVC

llvm-svn: 260091

8 years ago[asan] XFAIL local_alias.cc testcase on android in order to fix sanitizer-x86_64...
Maxim Ostapenko [Mon, 8 Feb 2016 12:58:05 +0000 (12:58 +0000)]
[asan] XFAIL local_alias.cc testcase on android in order to fix sanitizer-x86_64-linux buildbot.

llvm-svn: 260090

8 years agoAVX512: Change builtin function name for scalar intrinsics. Add "mask" to function...
Igor Breger [Mon, 8 Feb 2016 12:38:03 +0000 (12:38 +0000)]
AVX512: Change builtin function name for scalar intrinsics. Add "mask" to function name to reflect the function behavior.

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

llvm-svn: 260089

8 years agoAVX512: Change builtin function name for scalar intrinsics. Add "mask" to function...
Igor Breger [Mon, 8 Feb 2016 12:36:48 +0000 (12:36 +0000)]
AVX512: Change builtin function name for scalar intrinsics. Add "mask" to function name to reflect the function behavior.

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

llvm-svn: 260088

8 years agoRevert r260086 and r260085. They have broken the memory
Silviu Baranga [Mon, 8 Feb 2016 11:56:15 +0000 (11:56 +0000)]
Revert r260086 and r260085. They have broken the memory
sanitizer bots.

llvm-svn: 260087

8 years ago[LoopVersioning] Don't assert when there are no memchecks
Silviu Baranga [Mon, 8 Feb 2016 11:15:29 +0000 (11:15 +0000)]
[LoopVersioning] Don't assert when there are no memchecks

We shouldn't assert when there are no memchecks, since we
can have SCEV checks. There is already an assert covering
the case where there are no SCEV checks or memchecks.

This also changes the LAA pointer wrapping versioning test
to use the loop versioning pass (this was how I managed to
trigger the assert in the loop versioning pass).

llvm-svn: 260086

8 years ago[SCEV][LAA] Add no wrap SCEV predicates and use use them to improve strided pointer...
Silviu Baranga [Mon, 8 Feb 2016 10:45:50 +0000 (10:45 +0000)]
[SCEV][LAA] Add no wrap SCEV predicates and use use them to improve strided pointer detection

Summary:
This change adds no wrap SCEV predicates with:
  - support for runtime checking
  - support for expression rewriting:
      (sext ({x,+,y}) -> {sext(x),+,sext(y)}
      (zext ({x,+,y}) -> {zext(x),+,sext(y)}

Note that we are sign extending the increment of the SCEV, even for
the zext case. This is needed to cover the fairly common case where y would
be a (small) negative integer. In order to do this, this change adds two new
flags: nusw and nssw that are applicable to AddRecExprs and permit the
transformations above.

We also change isStridedPtr in LAA to be able to make use of
these predicates. With this feature we should now always be able to
work around overflow issues in the dependence analysis.

Reviewers: mzolotukhin, sanjoy, anemet

Subscribers: mzolotukhin, sanjoy, llvm-commits, rengolin, jmolloy, hfinkel

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

llvm-svn: 260085

8 years ago[clang-tidy] Move incorrect-roundings to upstream.
Haojian Wu [Mon, 8 Feb 2016 10:16:13 +0000 (10:16 +0000)]
[clang-tidy] Move incorrect-roundings to upstream.

Summary: This is originally implemented by Jacques Pienaar.

Reviewers: alexfh

Subscribers: cfe-commits, jpienaar

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

llvm-svn: 260084

8 years ago[ELF][MIPS] Support R_MIPS_COPY relocation
Simon Atanasyan [Mon, 8 Feb 2016 10:05:13 +0000 (10:05 +0000)]
[ELF][MIPS] Support R_MIPS_COPY relocation

Generate R_MIPS_COPY relocation for 'static' relocations against object
symbols defined in a shared libraries.

llvm-svn: 260083

8 years agoShow real error message in -data-evaluate-expression
Eugene Leviant [Mon, 8 Feb 2016 10:04:51 +0000 (10:04 +0000)]
Show real error message in -data-evaluate-expression

llvm-svn: 260082

8 years agoRevert "Enable test_lldbmi_settings_set_target_run_args_before on linux"
Pavel Labath [Mon, 8 Feb 2016 09:58:27 +0000 (09:58 +0000)]
Revert "Enable test_lldbmi_settings_set_target_run_args_before on linux"

Test is still flaky.

llvm-svn: 260081

8 years agoclang-format: Fix weird alignment when not aligning after brackets.
Daniel Jasper [Mon, 8 Feb 2016 09:52:54 +0000 (09:52 +0000)]
clang-format: Fix weird alignment when not aligning after brackets.

Before:
  bbbbbbbbbbbb(aaaaaaaaaaaaaaaaaaaaaaaa, //
      ccccccc(aaaaaaaaaaaaaaaaa, //
           b));

After:
  bbbbbbbbbbbb(aaaaaaaaaaaaaaaaaaaaaaaa, //
      ccccccc(aaaaaaaaaaaaaaaaa, //
        b));

This fixes llvm.org/PR24905.

llvm-svn: 260080

8 years ago[asan] XFAIL local alias related tests on Mips due to https://llvm.org/bugs/show_bug...
Maxim Ostapenko [Mon, 8 Feb 2016 09:50:57 +0000 (09:50 +0000)]
[asan] XFAIL local alias related tests on Mips due to https://llvm.org/bugs/show_bug.cgi?id=26525.

llvm-svn: 260079

8 years agoHave lldb-server log the timestamp in its log messages
Pavel Labath [Mon, 8 Feb 2016 09:35:53 +0000 (09:35 +0000)]
Have lldb-server log the timestamp in its log messages

llvm-svn: 260078

8 years ago[OPENMP 4.5] Ccapture/codegen of private non-static data members.
Alexey Bataev [Mon, 8 Feb 2016 09:29:13 +0000 (09:29 +0000)]
[OPENMP 4.5] Ccapture/codegen of private non-static data members.
OpenMP 4.5 introduces privatization of non-static data members of current class in non-static member functions.
To correctly handle such kind of privatization a new (pseudo)declaration VarDecl-based node is added. It allows to reuse an existing code for capturing variables in Lambdas/Block/Captured blocks of code for correct privatization and codegen.

llvm-svn: 260077

8 years ago[asan] Introduce new approach for ODR violation detection based on odr indicator...
Maxim Ostapenko [Mon, 8 Feb 2016 08:39:59 +0000 (08:39 +0000)]
[asan] Introduce new approach for ODR violation detection based on odr indicator symbols.

This is a compiler-rt part of this http://reviews.llvm.org/D15642 patch. Here,
we add a new approach for ODR violation detection.
Instead of using __asan_region_is_poisoned(g->beg, g->size_with_redzone) on
global address (that would return false now due to using private alias), we can
use new globally visible indicator symbol to perform the check.

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

llvm-svn: 260076

8 years ago[asan] Introduce new hidden -asan-use-private-alias option.
Maxim Ostapenko [Mon, 8 Feb 2016 08:30:57 +0000 (08:30 +0000)]
[asan] Introduce new hidden -asan-use-private-alias option.

As discussed in https://github.com/google/sanitizers/issues/398, with current
implementation of poisoning globals we can have some CHECK failures or false
positives in case of mixing instrumented and non-instrumented code due to ASan
poisons innocent globals from non-sanitized binary/library. We can use private
aliases to avoid such errors. In addition, to preserve ODR violation detection,
we introduce new __odr_asan_gen_XXX symbol for each instrumented global that
indicates if this global was already registered. To detect ODR violation in
runtime, we should only check the value of indicator and report an error if it
isn't equal to zero.

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

llvm-svn: 260075

8 years ago[Concepts] Implement a portion of Concepts TS[dcl.spec.concept]p1 by
Nathan Wilson [Mon, 8 Feb 2016 05:34:00 +0000 (05:34 +0000)]
[Concepts] Implement a portion of Concepts TS[dcl.spec.concept]p1 by
diagnosing when 'concept' is specified on a function or template
specialization.

Since a concept can only be applied to a function or variable template,
the concept bit is stored in TemplateDecl as a PointerIntPair.

Reviewers: rsmith, faisalv, aaron.ballman, hubert.reinterpretcast

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

llvm-svn: 260074

8 years agoELF: Simplify getFdeEncoding.
Rui Ueyama [Mon, 8 Feb 2016 05:18:44 +0000 (05:18 +0000)]
ELF: Simplify getFdeEncoding.

I found that the handling of 'L' character in an augmentation string is
wrong because 'L' means that the next byte is the length field. I could
have fixed that by just skipping the next byte, but I decided to take a
different approach.

Teaching the linker about all the types of CIE internal records just to
skip them is silly. And the code doing that is not actually executed now
(that's why the bug did not cause any issue.) It is because the 'R' field,
which we want to read, is always at beginning of the CIE. So I reduced
the code dramatically by assuming that that's always the case. I want to
see how it works in the wild. If it doesn't work, we can roll this back
(with a fix for 'L').

http://reviews.llvm.org/D16939

llvm-svn: 260073

8 years ago[LLDB][MIPS] Fix TestExpressionInSyscall.py for MIPS
Bhushan D. Attarde [Mon, 8 Feb 2016 04:35:51 +0000 (04:35 +0000)]
[LLDB][MIPS] Fix TestExpressionInSyscall.py for MIPS

    SUMMARY:
    This patch fixes TestExpressionInSyscall.py and solves bug 23659 for MIPS.
    Corrected indentation at couple of places.

    Reviewers: clayborg
    Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits
    Differential Revision: http://reviews.llvm.org/D16916

llvm-svn: 260072

8 years agobuild: silence warnings in in-tree build
Saleem Abdulrasool [Mon, 8 Feb 2016 03:50:18 +0000 (03:50 +0000)]
build: silence warnings in in-tree build

Avoid the developer warnings from cmake when configuring libc++ as part of the
LLVM layout.  Setup the custom macro paths earlier to re-use the detection logic
prior to setting the project properties.

llvm-svn: 260071

8 years ago[WebAssembly] Add another optimization idea to README.txt.
Dan Gohman [Mon, 8 Feb 2016 03:42:36 +0000 (03:42 +0000)]
[WebAssembly] Add another optimization idea to README.txt.

llvm-svn: 260070

8 years ago[X86] Change FeatureIFMA string to 'avx512ifma'. Matches gcc and fixes PR26461.
Craig Topper [Mon, 8 Feb 2016 01:23:15 +0000 (01:23 +0000)]
[X86] Change FeatureIFMA string to 'avx512ifma'. Matches gcc and fixes PR26461.

llvm-svn: 260069

8 years ago[Support] Use hexdigit. NFC
Craig Topper [Mon, 8 Feb 2016 01:03:01 +0000 (01:03 +0000)]
[Support] Use hexdigit. NFC

llvm-svn: 260068

8 years ago[Support] Fix the examples and assertion for format_hex_no_prefix to take into accoun...
Craig Topper [Mon, 8 Feb 2016 01:02:55 +0000 (01:02 +0000)]
[Support] Fix the examples and assertion for format_hex_no_prefix to take into account that there are no prefix characters to include in Width.

llvm-svn: 260067

8 years ago[analyzer] Avoid crash when attempting to evaluate binary operation on LazyCompoundVal.
Devin Coughlin [Mon, 8 Feb 2016 00:28:24 +0000 (00:28 +0000)]
[analyzer] Avoid crash when attempting to evaluate binary operation on LazyCompoundVal.

Instead, return UnknownValue if either operand is a nonloc::LazyCompoundVal. This is a
spot fix for PR 24951.

rdar://problem/23682244

llvm-svn: 260066

8 years ago[clang-tidy] Reformatted docs + minor updates
Alexander Kornienko [Mon, 8 Feb 2016 00:19:29 +0000 (00:19 +0000)]
[clang-tidy] Reformatted docs + minor updates

llvm-svn: 260065

8 years agoDisable llvm/test/tools/llvm-profdata/value-prof.proftext on win32 for now. Investiga...
NAKAMURA Takumi [Sun, 7 Feb 2016 23:03:38 +0000 (23:03 +0000)]
Disable llvm/test/tools/llvm-profdata/value-prof.proftext on win32 for now. Investigating.

llvm-svn: 260064

8 years ago[X86][SSE] Resolve target shuffle inputs to sentinels to permit more combines
Simon Pilgrim [Sun, 7 Feb 2016 22:51:06 +0000 (22:51 +0000)]
[X86][SSE] Resolve target shuffle inputs to sentinels to permit more combines

The combineX86ShufflesRecursively only supports unary shuffles, but was missing the opportunity to combine binary shuffles with a zero / undef second input.

This patch resolves target shuffle inputs, converting the shuffle mask elements to SM_SentinelUndef/SM_SentinelZero where possible. It then resolves the updated mask to check if we have created a faux unary shuffle.

Additionally, we now attempt to recursively call combineX86ShufflesRecursively for all input operands (we used to just recurse for unary integer shuffles and unary unpacks) - it safely returns early if its not a target shuffle.

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

llvm-svn: 260063

8 years ago[MS ABI] Don't emit RTTI descriptors for dllimport vtables
David Majnemer [Sun, 7 Feb 2016 22:42:05 +0000 (22:42 +0000)]
[MS ABI] Don't emit RTTI descriptors for dllimport vtables

A dllimport'd vtable always points one past the RTTI data, this means
that the initializer will never end up referencing the data.  Our
emission is a harmless waste.

llvm-svn: 260062

8 years ago[X86][SSE] Regenerate PSHUFB shuffle mask comments tests
Simon Pilgrim [Sun, 7 Feb 2016 22:22:09 +0000 (22:22 +0000)]
[X86][SSE] Regenerate PSHUFB shuffle mask comments tests

llvm-svn: 260061

8 years agoclang-format: [JS] Don't count shortened object literals as blocks.
Daniel Jasper [Sun, 7 Feb 2016 22:17:13 +0000 (22:17 +0000)]
clang-format: [JS] Don't count shortened object literals as blocks.

Before:
  f({a},
    () => {
      g();  //
    });

After:
  f({a}, () => {
    g();  //
  });

llvm-svn: 260060

8 years agoRevert r259961, r259978, r259981.
Nico Weber [Sun, 7 Feb 2016 21:41:37 +0000 (21:41 +0000)]
Revert r259961, r259978, r259981.

The "sanitizer-windows" buildbot has been failing for two days because of this:

FAILED: cl.exe asan_report.cc
asan_scariness_score.h(60) : error C2536:
  '__asan::ScarinessScore::__asan::ScarinessScore::descr' :
      cannot specify explicit initializer for arrays
asan_scariness_score.h(60) : see declaration of '__asan::ScarinessScore::descr'

llvm-svn: 260059

8 years agoMake nozlibcompress.c pass and reenable it.
Nico Weber [Sun, 7 Feb 2016 21:32:17 +0000 (21:32 +0000)]
Make nozlibcompress.c pass and reenable it.

llvm-svn: 260058

8 years agoclang-format: [JS] Support @see annotations in JSDoc comments in Google
Daniel Jasper [Sun, 7 Feb 2016 21:22:16 +0000 (21:22 +0000)]
clang-format: [JS] Support @see annotations in JSDoc comments in Google
style.

llvm-svn: 260057

8 years agoDisable failing nozlibcompress.c
Nico Weber [Sun, 7 Feb 2016 21:00:17 +0000 (21:00 +0000)]
Disable failing nozlibcompress.c

This test hasn't been running after it was added until r259976 made
"REQUIRES: nozlib" work, and now that the test runs it fails.

llvm-svn: 260056

8 years agoMake check line consistent
Daniel Berlin [Sun, 7 Feb 2016 20:57:46 +0000 (20:57 +0000)]
Make check line consistent

llvm-svn: 260055

8 years ago[ELF][MIPS] Perform two checks using the single llvm-objdump / FileCheck run
Simon Atanasyan [Sun, 7 Feb 2016 20:36:40 +0000 (20:36 +0000)]
[ELF][MIPS] Perform two checks using the single llvm-objdump / FileCheck run

NFC

llvm-svn: 260054

8 years agoRevert 259942, r259943, r259948.
Nico Weber [Sun, 7 Feb 2016 20:09:18 +0000 (20:09 +0000)]
Revert 259942, r259943, r259948.

The Windows bots have been failing for the last two days, with:

FAILED: C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.exe -c LLVMContextImpl.cpp
D:\buildslave\clang-x64-ninja-win7\llvm\lib\IR\LLVMContextImpl.cpp(137) :
    error C2248: 'llvm::TrailingObjects<llvm::AttributeSetImpl,
                                        llvm::IndexAttrPair>::operator delete' :
        cannot access private member declared in class 'llvm::AttributeSetImpl'
    TrailingObjects.h(298) : see declaration of
        'llvm::TrailingObjects<llvm::AttributeSetImpl,
                               llvm::IndexAttrPair>::operator delete'
    AttributeImpl.h(213) : see declaration of 'llvm::AttributeSetImpl'

llvm-svn: 260053

8 years agoTest update : tighten up checks
Xinliang David Li [Sun, 7 Feb 2016 20:08:36 +0000 (20:08 +0000)]
Test update : tighten up checks

llvm-svn: 260052

8 years agoRevert 260050 -- new test case should not be included
Xinliang David Li [Sun, 7 Feb 2016 20:06:36 +0000 (20:06 +0000)]
Revert 260050 -- new test case should not be included

llvm-svn: 260051

8 years agoTest update : tighten up checks
Xinliang David Li [Sun, 7 Feb 2016 20:05:06 +0000 (20:05 +0000)]
Test update : tighten up checks

llvm-svn: 260050

8 years ago[docs] Add a note that the Visual Studio C++ tools are required
Keno Fischer [Sun, 7 Feb 2016 19:36:54 +0000 (19:36 +0000)]
[docs] Add a note that the Visual Studio C++ tools are required

Watching new contributors trying to build LLVM on Windows, one of the
very common failure modes was getting a version of Visual Studio
that did not have a C++ compiler for CMake to put up. Trying to create
a C++ project in Visual Studio will cause Visual Studio to go and
download the C++ tools.

llvm-svn: 260049

8 years ago[Frontend] Make the memory management of FrontendAction pointers explicit by using...
Argyrios Kyrtzidis [Sun, 7 Feb 2016 19:28:36 +0000 (19:28 +0000)]
[Frontend] Make the memory management of FrontendAction pointers explicit by using unique_ptr.

llvm-svn: 260048

8 years ago[libclang] Add missing CINDEX_LINKAGE from a function.
Argyrios Kyrtzidis [Sun, 7 Feb 2016 18:21:28 +0000 (18:21 +0000)]
[libclang] Add missing CINDEX_LINKAGE from a function.

llvm-svn: 260047

8 years agoFix build on FreeBSD after r259741.
Dimitry Andric [Sun, 7 Feb 2016 17:40:45 +0000 (17:40 +0000)]
Fix build on FreeBSD after r259741.

On FreeBSD, the uc_mcontext member of ucontext_t has a member called
mc_err, which corresponds to the Linux member gregs[REG_ERR].

Reviewed by: rdivacky@FreeBSD.org

llvm-svn: 260046

8 years agoSeparate invariant equivalence classes by type
Johannes Doerfert [Sun, 7 Feb 2016 17:30:13 +0000 (17:30 +0000)]
Separate invariant equivalence classes by type

  We now distinguish invariant loads to the same memory location if they
  have different types. This will cause us to pre-load an invariant
  location once for each type that is used to access it. However, we can
  thereby avoid invalid casting, especially if an array is accessed
  though different typed/sized invariant loads.

  This basically reverts the changes in r260023 but keeps the test
  cases.

llvm-svn: 260045

8 years agoMake -fno-math-builtin a cc1 option
Matthew Simpson [Sun, 7 Feb 2016 17:14:03 +0000 (17:14 +0000)]
Make -fno-math-builtin a cc1 option

This patch makes -fno-math-builtin a frontend only option instead of a driver
option. The appropriate test case was committed in r186899 when the flag was
introduced. This should fix PR26317.

Contributed-by: Frank Herrmann <fgh@4gh.tv>
llvm-svn: 260044

8 years ago[analyzer] Invalidate destination of std::copy() and std::copy_backward().
Devin Coughlin [Sun, 7 Feb 2016 16:55:44 +0000 (16:55 +0000)]
[analyzer] Invalidate destination of std::copy() and std::copy_backward().

Now that the libcpp implementations of these methods has a branch that doesn't call
memmove(), the analyzer needs to invalidate the destination for these methods explicitly.

rdar://problem/23575656

llvm-svn: 260043

8 years ago[docs] Remove now confusing references to cofigure/autoconf
Philip Reames [Sun, 7 Feb 2016 16:35:04 +0000 (16:35 +0000)]
[docs] Remove now confusing references to cofigure/autoconf

llvm-svn: 260042

8 years agoAdd coverage tests (defaulted constructors/destructor)
Xinliang David Li [Sun, 7 Feb 2016 16:31:13 +0000 (16:31 +0000)]
Add coverage tests (defaulted constructors/destructor)

llvm-svn: 260041

8 years ago[docs] Wordsmithing to program layout descriptio in GettingStarted
Philip Reames [Sun, 7 Feb 2016 16:23:32 +0000 (16:23 +0000)]
[docs] Wordsmithing to program layout descriptio in GettingStarted

This just incrementally improves what was already there; it's questionable whether this content belongs in the getting started guide at all.

Patch by Ben Nathanson w/permission w/minor edtis by me.

llvm-svn: 260040

8 years ago[docs] Clarify disk space usage of debug builds
Philip Reames [Sun, 7 Feb 2016 15:58:35 +0000 (15:58 +0000)]
[docs] Clarify disk space usage of debug builds

llvm-svn: 260039

8 years agoFix a typo.
Roman Divacky [Sun, 7 Feb 2016 15:50:55 +0000 (15:50 +0000)]
Fix a typo.

llvm-svn: 260038

8 years ago[docs] Remove a stale and confusing section from GettingStarted
Philip Reames [Sun, 7 Feb 2016 15:49:57 +0000 (15:49 +0000)]
[docs] Remove a stale and confusing section from GettingStarted

The mentioned environment variable doesn't appear to have any use in the LLVM repository.  If it is still relevant for clang, we can consider adding it to the clang getting started page.

Patch inspired by documentation work by Ben Nathanson at the LLVM Bloomberg sprint.

llvm-svn: 260037

8 years agoRevert "Re-apply r259977 - [OpenMP] Reorganize code to allow specialized code generat...
Renato Golin [Sun, 7 Feb 2016 15:43:09 +0000 (15:43 +0000)]
Revert "Re-apply r259977 - [OpenMP] Reorganize code to allow specialized code generation for different devices."

This reverts commit r259985, as it still fails one buildbot.

llvm-svn: 260036

8 years ago[docs] Update the docs to describe how to build the docs with cmake
Philip Reames [Sun, 7 Feb 2016 15:42:12 +0000 (15:42 +0000)]
[docs] Update the docs to describe how to build the docs with cmake

llvm-svn: 260035

8 years ago[X86][SSE] Added support for MOVHPD/MOVLPD + MOVHPS/MOVLPS shuffle decoding.
Simon Pilgrim [Sun, 7 Feb 2016 15:39:22 +0000 (15:39 +0000)]
[X86][SSE] Added support for MOVHPD/MOVLPD + MOVHPS/MOVLPS shuffle decoding.

llvm-svn: 260034

8 years ago[X86][AVX512] add intrinsics of Scalar FP to integer conversion with rounding mode
Asaf Badouh [Sun, 7 Feb 2016 14:59:13 +0000 (14:59 +0000)]
[X86][AVX512] add intrinsics of Scalar FP to integer conversion with rounding mode

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

llvm-svn: 260033

8 years ago[X86][SSE] Pulled out repeated target shuffle decodes into helper functions. NFCI.
Simon Pilgrim [Sun, 7 Feb 2016 14:33:03 +0000 (14:33 +0000)]
[X86][SSE] Pulled out repeated target shuffle decodes into helper functions. NFCI.

Pulled out the code used by PSHUFB/VPERMV/VPERMV3 shuffle mask decoding into common helper functions.

The helper functions handle masks coming from BROADCAST/BUILD_VECTOR and ConstantPool nodes respectively.

llvm-svn: 260032

8 years ago[FIX] Two "off-by-one" error in constant range usage
Johannes Doerfert [Sun, 7 Feb 2016 13:59:03 +0000 (13:59 +0000)]
[FIX] Two "off-by-one" error in constant range usage

llvm-svn: 260031

8 years agoSimplify code [NFC]
Johannes Doerfert [Sun, 7 Feb 2016 13:57:32 +0000 (13:57 +0000)]
Simplify code [NFC]

llvm-svn: 260030

8 years agoUse CodeGenModule::addReplacement() instead of directly accessing Replacements[].
Yaron Keren [Sun, 7 Feb 2016 12:44:35 +0000 (12:44 +0000)]
Use CodeGenModule::addReplacement() instead of directly accessing Replacements[].
This helps when trying to debug who inserted into Replacements.

llvm-svn: 260028

8 years ago[ELF][MIPS] Add comments to describe __gnu_local_gp magic symbol
Simon Atanasyan [Sun, 7 Feb 2016 12:09:40 +0000 (12:09 +0000)]
[ELF][MIPS] Add comments to describe __gnu_local_gp magic symbol

NFC. Follow-up to r259781.

llvm-svn: 260027

8 years agoFix typo in default getNoPreservedMask implementation
Jeroen Ketema [Sun, 7 Feb 2016 11:31:56 +0000 (11:31 +0000)]
Fix typo in default getNoPreservedMask implementation

llvm-svn: 260026

8 years agoMake memory accesses with different element types optional
Tobias Grosser [Sun, 7 Feb 2016 08:48:57 +0000 (08:48 +0000)]
Make memory accesses with different element types optional

We also disable this feature by default, as there are still some issues in
combination with invariant load hoisting that slipped through my initial
testing.

llvm-svn: 260025

8 years agoAVX512: VPBROADCASTB/W/D/Q from GPR intrinsics implementation.
Igor Breger [Sun, 7 Feb 2016 08:30:50 +0000 (08:30 +0000)]
AVX512: VPBROADCASTB/W/D/Q from GPR intrinsics implementation.

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

llvm-svn: 260024

8 years agoDo not yet consider loads with non-canonical element size for load hoisting.
Tobias Grosser [Sun, 7 Feb 2016 08:11:36 +0000 (08:11 +0000)]
Do not yet consider loads with non-canonical element size for load hoisting.

Invariant load hoisting of memory accesses with non-canonical element
types lacks support for equivalence classes that contain elements of
different width/size. This support should be added, but to get our buildbots
back to green, we disable load hoisting for memory accesses with non-canonical
element size for now.

llvm-svn: 260023

8 years agoFix test case problem(caused by clang-format
Xinliang David Li [Sun, 7 Feb 2016 07:13:18 +0000 (07:13 +0000)]
Fix test case problem(caused by clang-format

llvm-svn: 260022

8 years ago[PGO] add profile/coverage test cases for defaulted ctor/ctors
Xinliang David Li [Sun, 7 Feb 2016 06:57:29 +0000 (06:57 +0000)]
[PGO] add profile/coverage test cases for defaulted ctor/ctors

llvm-svn: 260021

8 years agoFix typo in comment. NFC
Craig Topper [Sun, 7 Feb 2016 06:39:23 +0000 (06:39 +0000)]
Fix typo in comment. NFC

llvm-svn: 260020

8 years agoDriver: adjust linker invocation for GNUTools
Saleem Abdulrasool [Sun, 7 Feb 2016 06:03:38 +0000 (06:03 +0000)]
Driver: adjust linker invocation for GNUTools

Adjust the driver to invoke the linker more similar to gcc.  -dynamic-linker is
only passed if -static and -shared are not part of the compiler (driver)
invocation.  Replicate the passing of -export-rdynamic as per the GCC link spec:

  %{!static: %{rdynamic:-export-dynamic} %{!shared:-dynamic-linker ...}}

This behaviour is consistent across all the targets that are supported, so no
need to conditionalise it on the target.

Resolves PR24245.

llvm-svn: 260019

8 years agoLangRef: Fix example code for cmpxchg
Duncan P. N. Exon Smith [Sun, 7 Feb 2016 05:06:35 +0000 (05:06 +0000)]
LangRef: Fix example code for cmpxchg

Patch by Daniel Robertson!

llvm-svn: 260018

8 years agoSema: handle typo correction on ARC'ed ivar
Saleem Abdulrasool [Sun, 7 Feb 2016 02:30:59 +0000 (02:30 +0000)]
Sema: handle typo correction on ARC'ed ivar

The ivar ref would be transformed by the Typo Correction TreeTransform, but not
be owned, resulting in the source location being invalid.  This would eventually
lead to an assertion in findCapturingExpr.  Prevent this assertion from
triggering.

Resolves PR25113.

llvm-svn: 260017

8 years agoSema: handle typo correction with ARC'ed objc properties
Saleem Abdulrasool [Sun, 7 Feb 2016 02:30:55 +0000 (02:30 +0000)]
Sema: handle typo correction with ARC'ed objc properties

We would previously assert in findCapturingExpr when performing a typo
correction resulting in an assignment of an ObjC property with a strong lifetype
specifier due to the expression not being rooted in the file (invalid SLoc)
during the retain cycle check on the typo-corrected expression.  Handle the
expression type appropriately during the TreeTransform to ensure that we have a
source location associated with the expression.

Fixes PR26486.

llvm-svn: 260016

8 years agoDon't use module context here. It's unnecessary and makes it harder to write unittests
Daniel Berlin [Sun, 7 Feb 2016 02:03:39 +0000 (02:03 +0000)]
Don't use module context here. It's unnecessary and makes it harder to write unittests

llvm-svn: 260015

8 years agoCompute live-in for MemorySSA
Daniel Berlin [Sun, 7 Feb 2016 01:52:19 +0000 (01:52 +0000)]
Compute live-in for MemorySSA

llvm-svn: 260014

8 years agoOnly insert into definingblocks once per block
Daniel Berlin [Sun, 7 Feb 2016 01:52:15 +0000 (01:52 +0000)]
Only insert into definingblocks once per block

llvm-svn: 260013

8 years agoCleanup node-type handling in the unordered containers
Eric Fiselier [Sun, 7 Feb 2016 00:36:33 +0000 (00:36 +0000)]
Cleanup node-type handling in the unordered containers

This patch is the first in a series of patches that's meant to better
support unordered_map. unordered_map has a special "value_type" that
differs from pair<const Key, Value>. In order to meet the EmplaceConstructible
and CopyInsertable requirements we need to teach __hash_table about this
special value_type.

This patch creates a "__hash_node_types" traits class that contains
all of the typedefs needed by the unordered containers and it's iterators.
These typedefs include ones for each node type and  node pointer type,
as well as special typedefs for "unordered_map"'s value type.

As a result of this change all of the unordered containers now all support
incomplete types.

As a drive-by fix I changed the difference_type in __hash_table to always
be ptrdiff_t. There is a corresponding change to size_type but it cannot
take affect until an ABI break.

This patch will be followed up shortly with fixes for various unordered_map
fixes.

llvm-svn: 260012

8 years agoIndex: provide adjustment thunk information for C++ manglings
Saleem Abdulrasool [Sat, 6 Feb 2016 22:36:34 +0000 (22:36 +0000)]
Index: provide adjustment thunk information for C++ manglings

Add support for exposing the adjustment thunk for virtual methods as
appropriate.

llvm-svn: 260011

8 years ago[X86][AVX2] Regenerated broadcast domain tests
Simon Pilgrim [Sat, 6 Feb 2016 22:09:25 +0000 (22:09 +0000)]
[X86][AVX2] Regenerated broadcast domain tests

llvm-svn: 260010

8 years agoIslNodeBuilder: Invariant load hoisting of elements with differing sizes
Tobias Grosser [Sat, 6 Feb 2016 21:23:39 +0000 (21:23 +0000)]
IslNodeBuilder: Invariant load hoisting of elements with differing sizes

Always use access-instruction pointer type to load the invariant values.
Otherwise mismatches between ScopArrayInfo element type and memory access
element type will result in invalid casts. These type mismatches are after
r259784 a lot more common and also arise with types of different size, which
have not been handled before.

Interestingly, this change actually simplifies the code, as we now have only
one code path that is always taken, rather then a standard code path for the
common case and a "fixup" code path that replaces the standard code path in
case of mismatching types.

llvm-svn: 260009

8 years ago[X86][SSE] Add tests for MOVHLPS/MOVLHPS shuffle lowering.
Simon Pilgrim [Sat, 6 Feb 2016 20:11:52 +0000 (20:11 +0000)]
[X86][SSE] Add tests for MOVHLPS/MOVLHPS shuffle lowering.

As raised in PR26491, we don't make use of these instructions at the moment.

llvm-svn: 260008

8 years ago[X86][AVX512] Added support for VPMOVZX shuffle decoding.
Simon Pilgrim [Sat, 6 Feb 2016 19:51:21 +0000 (19:51 +0000)]
[X86][AVX512] Added support for VPMOVZX shuffle decoding.

llvm-svn: 260007

8 years ago[docs] Warn against slow serial builds
Philip Reames [Sat, 6 Feb 2016 19:43:40 +0000 (19:43 +0000)]
[docs] Warn against slow serial builds

llvm-svn: 260006

8 years ago[NVPTX] Mark nvvm synchronizing intrinsics as convergent.
Justin Lebar [Sat, 6 Feb 2016 19:32:44 +0000 (19:32 +0000)]
[NVPTX] Mark nvvm synchronizing intrinsics as convergent.

Summary:
This is the attribute purpose-made for e.g. __syncthreads.  It appears
that NoDuplicate may not be sufficient to prevent Sink from touching a
call to __syncthreads.

Reviewers: jingyue, hfinkel

Subscribers: llvm-commits, jholewinski, jhen, rnk, tra, majnemer

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

llvm-svn: 260005

8 years ago[docs] Redirect new contributors to the right starting point
Philip Reames [Sat, 6 Feb 2016 19:29:23 +0000 (19:29 +0000)]
[docs] Redirect new contributors to the right starting point

llvm-svn: 260004

8 years ago[docs] Clarify a couple of getting started issues identified during Sprint
Philip Reames [Sat, 6 Feb 2016 19:20:26 +0000 (19:20 +0000)]
[docs] Clarify a couple of getting started issues identified during Sprint

llvm-svn: 260003

8 years agoAdd a missing call to MDNode::deleteTemporary().
Adrian Prantl [Sat, 6 Feb 2016 18:39:34 +0000 (18:39 +0000)]
Add a missing call to MDNode::deleteTemporary().
Follow-up to r259975. Kudos to the ASAN bots!

<rdar://problem/24493203>

llvm-svn: 260002

8 years agoIntroduce NetBSD support
Kamil Rytarowski [Sat, 6 Feb 2016 18:19:29 +0000 (18:19 +0000)]
Introduce NetBSD support

Current FreeBSD and NetBSD code is compatible.

llvm-svn: 260001

8 years ago[X86][AVX512] Fixed prefix ordering for lzcnt tests.
Simon Pilgrim [Sat, 6 Feb 2016 18:07:19 +0000 (18:07 +0000)]
[X86][AVX512] Fixed prefix ordering for lzcnt tests.

Let AVX512 targets share the same CHECKs.

llvm-svn: 260000

8 years ago[X86][SSE] Regenerate vector shift tests
Simon Pilgrim [Sat, 6 Feb 2016 17:57:15 +0000 (17:57 +0000)]
[X86][SSE] Regenerate vector shift tests

llvm-svn: 259999