OSDN Git Service

android-x86/external-llvm.git
8 years agoFix build bot failure
Xinliang David Li [Mon, 8 Feb 2016 20:08:21 +0000 (20:08 +0000)]
Fix build bot failure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260138 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU/SI: Implement a work-around for smrd corrupting vccz bit
Tom Stellard [Mon, 8 Feb 2016 19:49:20 +0000 (19:49 +0000)]
AMDGPU/SI: Implement a work-around for smrd corrupting vccz bit

Summary:
We will hit this once we have enabled uniform branches.  The
smrd-vccz-bug.ll test will be added with the uniform branch commit.

Reviewers: mareko, arsenm

Subscribers: arsenm, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260137 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd triple to h-registers-3.ll to make bots happy after r260133
Hans Wennborg [Mon, 8 Feb 2016 19:45:24 +0000 (19:45 +0000)]
Add triple to h-registers-3.ll to make bots happy after r260133

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260136 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Don't zero/sign-extend i1, i8, or i16 return values to 32 bits (PR22532)
Hans Wennborg [Mon, 8 Feb 2016 19:34:30 +0000 (19:34 +0000)]
[X86] Don't zero/sign-extend i1, i8, or i16 return values to 32 bits (PR22532)

This matches GCC and MSVC's behaviour, and saves on code size.

We were already not extending i1 return values on x86_64 after r127766. This
takes that patch further by applying it to x86 target as well, and also for i8
and i16.

The ABI docs have been unclear about the required behaviour here. The new i386
psABI [1] clearly states (Table 2.4, page 14) that i1, i8, and i16 return
vales do not need to be extended beyond 8 bits. The x86_64 ABI doc is being
updated to say the same [2].

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

 [1]. https://01.org/sites/default/files/file_attach/intel386-psabi-1.0.pdf
 [2]. https://groups.google.com/d/msg/x86-64-abi/E8O33onbnGQ/_RFWw_ixDQAJ

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260133 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAArch64: match correct order in subtraction pattern.
Tim Northover [Mon, 8 Feb 2016 19:33:18 +0000 (19:33 +0000)]
AArch64: match correct order in subtraction pattern.

The accumulator in multiply-and-subtract instructions is actually subtracted
*from* so these patterns were computing the wrong value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260131 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agofix typos; NFC
Sanjay Patel [Mon, 8 Feb 2016 19:27:33 +0000 (19:27 +0000)]
fix typos; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260130 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSimplify this unittest.
Adrian Prantl [Mon, 8 Feb 2016 19:13:15 +0000 (19:13 +0000)]
Simplify this unittest.

Thanks to dblaikie for the suggestion!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260125 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Remove bfi and bfm intrinsics
Matt Arsenault [Mon, 8 Feb 2016 19:06:01 +0000 (19:06 +0000)]
AMDGPU: Remove bfi and bfm intrinsics

Nothing is using them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260123 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ThinLTO] Remove imported available externally defs from comdats.
Teresa Johnson [Mon, 8 Feb 2016 18:47:20 +0000 (18:47 +0000)]
[ThinLTO] Remove imported available externally defs from comdats.

Summary:
Available externally definitions are considered declarations for the
linker and eventually dropped. As such they are not allowed to be
in comdats. Remove any such imported functions from comdats.

Reviewers: rafael

Subscribers: davidxl, llvm-commits, joker.eph

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260122 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PGO] Enable compression in pgo instrumentation
Xinliang David Li [Mon, 8 Feb 2016 18:13:49 +0000 (18:13 +0000)]
[PGO] Enable compression in pgo instrumentation

This reduces sizes of instrumented object files, final binaries,
process images, and raw profile data.

The format of the indexed profile data remain the same.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260117 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SCEV][LAA] Re-commit r260085 and r260086, this time with a fix for the memory
Silviu Baranga [Mon, 8 Feb 2016 17:02:45 +0000 (17:02 +0000)]
[SCEV][LAA] Re-commit r260085 and r260086, this time with a fix for the memory
sanitizer issue. The PredicatedScalarEvolution's copy constructor
wasn't copying the Generation value, and was leaving it un-initialized.

Original commit message:

[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260112 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a unit test for r259973.
Adrian Prantl [Mon, 8 Feb 2016 17:02:34 +0000 (17:02 +0000)]
Add a unit test for r259973.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260111 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[JumpThreading] Change a return of ComputeValueKnownInPredecessors()
Haicheng Wu [Mon, 8 Feb 2016 17:00:39 +0000 (17:00 +0000)]
[JumpThreading] Change a return of ComputeValueKnownInPredecessors()

Change a return statement of ComputeValueKnownInPredecessors() to be the same as
the rest return statements of the function. Otherwise, it might return true with
an empty Result when the current basic block has no predecessors and trigger the
first assert of JumpThreading::ProcessThreadableEdges().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260110 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSelectionDAG: Lower some range metadata to AssertZext
Matt Arsenault [Mon, 8 Feb 2016 16:28:19 +0000 (16:28 +0000)]
SelectionDAG: Lower some range metadata to AssertZext

If a range has a lower bound of 0, add an AssertZext from the
nearest floor power of two.

This allows operations with some workitem intrinsics with known
maximum ranges to use fast 24-bit multiplies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260109 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AVX512][PROLQ][PROLD] Change imm8 to int
Michael Zuckerman [Mon, 8 Feb 2016 15:13:32 +0000 (15:13 +0000)]
[AVX512][PROLQ][PROLD] Change imm8 to int

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260101 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260094 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260089 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260087 91177308-0d34-0410-b5e6-96231b3b80d8

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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260086 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260085 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260075 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260070 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260069 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260068 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260067 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260064 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260063 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260061 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260055 91177308-0d34-0410-b5e6-96231b3b80d8

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'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260053 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260049 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260042 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260040 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260039 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260038 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260037 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260035 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260034 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260033 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260032 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260026 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260024 91177308-0d34-0410-b5e6-96231b3b80d8

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!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260018 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260015 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260014 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260013 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260010 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260008 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260007 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260006 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260005 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260004 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260003 91177308-0d34-0410-b5e6-96231b3b80d8

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260000 91177308-0d34-0410-b5e6-96231b3b80d8

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259999 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Moved shuffle decode CASE macros earlier. NFC.
Simon Pilgrim [Sat, 6 Feb 2016 17:02:15 +0000 (17:02 +0000)]
[X86][SSE] Moved shuffle decode CASE macros earlier. NFC.

To allow the helper functions to make use of them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259997 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Refactored PMOVZX shuffle decoding to use scalar input types
Simon Pilgrim [Sat, 6 Feb 2016 16:33:42 +0000 (16:33 +0000)]
[X86][SSE] Refactored PMOVZX shuffle decoding to use scalar input types

First step towards being able to decode AVX512 PMOVZX instructions without a massive bloat in the shuffle decode switch statement.

This should also make it easier to decode X86ISD::VZEXT target shuffles in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259995 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ThinLTO] Include linkage type in function summary
Teresa Johnson [Sat, 6 Feb 2016 16:07:35 +0000 (16:07 +0000)]
[ThinLTO] Include linkage type in function summary

Summary:
Adds the linkage type to both the per-module and combined function
summaries, which subsumes the current islocal bit. This will eventually
be used to optimized linkage types based on global summary-based
analysis.

Reviewers: joker.eph

Subscribers: joker.eph, davidxl, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259993 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoline endings fix
Simon Pilgrim [Sat, 6 Feb 2016 15:38:25 +0000 (15:38 +0000)]
line endings fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259992 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Don't replace an existing 32-bit load with its duplicate
Simon Pilgrim [Sat, 6 Feb 2016 15:37:09 +0000 (15:37 +0000)]
[X86][SSE] Don't replace an existing 32-bit load with its duplicate

If we are already loading a single 32-bit float/integer then just reuse it.

Fix for regression in D16729

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259991 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoComment fix
Simon Pilgrim [Sat, 6 Feb 2016 14:21:49 +0000 (14:21 +0000)]
Comment fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259990 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoCorrected tests for Loop Versioning LICM, by adding “REQUIRES: asserts”.
Ashutosh Nema [Sat, 6 Feb 2016 12:34:41 +0000 (12:34 +0000)]
Corrected tests for Loop Versioning LICM, by adding “REQUIRES: asserts”.
Earlier they were failing under no-assert build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259989 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFixed short underline error in LangRef.rst for recently added
Ashutosh Nema [Sat, 6 Feb 2016 09:24:37 +0000 (09:24 +0000)]
Fixed short underline error in LangRef.rst for recently added
metadata 'llvm.loop.licm_versioning.disable' description.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259988 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoNew Loop Versioning LICM Pass
Ashutosh Nema [Sat, 6 Feb 2016 07:47:48 +0000 (07:47 +0000)]
New Loop Versioning LICM Pass

Summary:
When alias analysis is uncertain about the aliasing between any two accesses,
it will return MayAlias. This uncertainty from alias analysis restricts LICM
from proceeding further. In cases where alias analysis is uncertain we might
use loop versioning as an alternative.

Loop Versioning will create a version of the loop with aggressive aliasing
assumptions in addition to the original with conservative (default) aliasing
assumptions. The version of the loop making aggressive aliasing assumptions
will have all the memory accesses marked as no-alias. These two versions of
loop will be preceded by a memory runtime check. This runtime check consists
of bound checks for all unique memory accessed in loop, and it ensures the
lack of memory aliasing. The result of the runtime check determines which of
the loop versions is executed: If the runtime check detects any memory
aliasing, then the original loop is executed. Otherwise, the version with
aggressive aliasing assumptions is used.

The pass is off by default and can be enabled with command line option
-enable-loop-versioning-licm.

Reviewers: hfinkel, anemet, chatur01, reames

Subscribers: MatzeB, grosser, joker.eph, sanjoy, javed.absar, sbaranga,
             llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259986 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRelax assertion in ReplaceableMetadataImpl::replaceAllUsesWith().
Adrian Prantl [Sat, 6 Feb 2016 01:56:55 +0000 (01:56 +0000)]
Relax assertion in ReplaceableMetadataImpl::replaceAllUsesWith().
There is a legitimate use-case in clang where we need to replace a
temporary placeholder node with the temporary node that may be a
forward declaration.

<rdar://problem/24493203>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259973 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-dwp] Merge cu_index from DWPs
David Blaikie [Sat, 6 Feb 2016 01:15:26 +0000 (01:15 +0000)]
[llvm-dwp] Merge cu_index from DWPs

This is almost feature complete - just missing tu_index merging now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259971 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Orc] Slightly improve the x86-64 resolver block machine code.
Lang Hames [Sat, 6 Feb 2016 00:55:08 +0000 (00:55 +0000)]
[Orc] Slightly improve the x86-64 resolver block machine code.

Replace leaq + movq of a pointer with a single movabsq.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259968 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agollvm-bcanalyzer: Produce summary information for the BLOCKINFO block, it can be
Richard Smith [Sat, 6 Feb 2016 00:46:09 +0000 (00:46 +0000)]
llvm-bcanalyzer: Produce summary information for the BLOCKINFO block, it can be
a significant fraction of the file size (for files that otherwise have few
records). Also include an average size per record in the summary information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259965 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd note of suboptimal behavior in MemorySSA. NFC.
George Burgess IV [Sat, 6 Feb 2016 00:42:52 +0000 (00:42 +0000)]
Add note of suboptimal behavior in MemorySSA. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259963 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AArch64] Add the scheduling model for Exynos-M1
Evandro Menezes [Sat, 6 Feb 2016 00:01:41 +0000 (00:01 +0000)]
[AArch64] Add the scheduling model for Exynos-M1

Summary:
Add the core scheduling model for the Samsung Exynos-M1 (ARMv8-A).

Reviewers: jmolloy, rengolin, christof, MinSeongKIM, t.p.northover

Subscribers: aemerson, rengolin, MatzeB

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259958 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[StatepointLower] Use None instead of Optional<int>()
Sanjoy Das [Fri, 5 Feb 2016 23:40:04 +0000 (23:40 +0000)]
[StatepointLower] Use None instead of Optional<int>()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259956 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoMake the OCaml tests temporarily unsupported until they can be updated.
Eric Christopher [Fri, 5 Feb 2016 23:28:03 +0000 (23:28 +0000)]
Make the OCaml tests temporarily unsupported until they can be updated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259954 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Orc] Fix a typo in the comments for the x86_64 resolver block.
Lang Hames [Fri, 5 Feb 2016 23:27:48 +0000 (23:27 +0000)]
[Orc] Fix a typo in the comments for the x86_64 resolver block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259953 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoVariable naming style fix /nfc
Xinliang David Li [Fri, 5 Feb 2016 23:24:42 +0000 (23:24 +0000)]
Variable naming style fix /nfc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259952 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAttempt#2 to work around MSVC rejects-valid.
Richard Smith [Fri, 5 Feb 2016 23:05:09 +0000 (23:05 +0000)]
Attempt#2 to work around MSVC rejects-valid.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259948 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAttempt to work around an MSVC rejects-valid. Apparently it gets the access
Richard Smith [Fri, 5 Feb 2016 22:48:19 +0000 (22:48 +0000)]
Attempt to work around an MSVC rejects-valid. Apparently it gets the access
check wrong when inheriting a member through two levels of private inheritance,
where the middle one is a class template specialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259943 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoMore workarounds for undefined behavior exposed when compiling in C++14 with
Richard Smith [Fri, 5 Feb 2016 22:32:52 +0000 (22:32 +0000)]
More workarounds for undefined behavior exposed when compiling in C++14 with
-fsized-deallocation. Disable sized deallocation for all objects derived from
TrailingObjects, as we expect the storage allocated for these objects to be
larger than the size of their dynamic type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259942 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PGO] Speed up name tab reading
Xinliang David Li [Fri, 5 Feb 2016 22:32:01 +0000 (22:32 +0000)]
[PGO] Speed up name tab reading
 The change allows skipping duplicate strings
 early to avoid redundant md5 computation and
 string copying/swapping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259941 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-nm] Prefer empty() over size() == 0.
Davide Italiano [Fri, 5 Feb 2016 22:10:42 +0000 (22:10 +0000)]
[llvm-nm] Prefer empty() over size() == 0.

Thanks to David Blaikie for pointing this out!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259938 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-nm] Transform a switch() statement in a pair of if(s).
Davide Italiano [Fri, 5 Feb 2016 22:07:09 +0000 (22:07 +0000)]
[llvm-nm] Transform a switch() statement in a pair of if(s).

This is more uniform wrt what other tools do and makes the code
a little bit more readable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259937 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-nm] Simplify code logic. NFCI.
Davide Italiano [Fri, 5 Feb 2016 21:10:48 +0000 (21:10 +0000)]
[llvm-nm] Simplify code logic. NFCI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259917 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoCallAnalyzer::analyzeCall: change the condition back to "Cost < Threshold"
Hans Wennborg [Fri, 5 Feb 2016 20:32:42 +0000 (20:32 +0000)]
CallAnalyzer::analyzeCall: change the condition back to "Cost < Threshold"

In r252595, I inadvertently changed the condition to "Cost <= Threshold",
which caused a significant size regression in Chrome. This commit rectifies
that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259915 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AArch64] Refactoring aarch64-ldst-opt. NCF.
Jun Bum Lim [Fri, 5 Feb 2016 20:02:03 +0000 (20:02 +0000)]
[AArch64] Refactoring aarch64-ldst-opt. NCF.

Remove narrow load / store instructions from getMatchingPairOpcode(),
and add getMatchingWideOpcode().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259914 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoTableGen: Add IsOptional field to AsmOperandClass
Tom Stellard [Fri, 5 Feb 2016 19:59:33 +0000 (19:59 +0000)]
TableGen: Add IsOptional field to AsmOperandClass

Summary:
This makes it possible to specify some operands as optional to the AsmMatcher.
Setting this field to true will prevent the AsmMatcher from emitting
'too few operands' errors when there are missing optional operands.

Reviewers: olista01, ab

Subscribers: nhaustov, arsenm, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259913 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Account for LDS alignment
Matt Arsenault [Fri, 5 Feb 2016 19:47:29 +0000 (19:47 +0000)]
AMDGPU: Account for LDS alignment

The current situation isn't great, because the amount of padding
requires is determined by the inverse order of the first encountered
use. We should eventually somehow sort these to minimize wasted space.

Another problem is the alignment of kernel arguments isn't
respected. The group_segment_alignment is always emitted as
the default 16, and typed arguments with higher alignments
or an explicitly set alignment are also ignored.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259912 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Preserve alignments on new created globals
Matt Arsenault [Fri, 5 Feb 2016 19:47:23 +0000 (19:47 +0000)]
AMDGPU: Preserve alignments on new created globals

Also switch to internal linkage, and include the name of the function in
the name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259911 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[codeview] Dump a missing field and change its signedness
Reid Kleckner [Fri, 5 Feb 2016 19:15:45 +0000 (19:15 +0000)]
[codeview] Dump a missing field and change its signedness

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259904 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Remove some purely R600 functions from AMDGPUInstrInfo
Tom Stellard [Fri, 5 Feb 2016 18:44:57 +0000 (18:44 +0000)]
AMDGPU: Remove some purely R600 functions from AMDGPUInstrInfo

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259900 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Fix ordering of CPU and FS parameters in TargetMachine constructors
Tom Stellard [Fri, 5 Feb 2016 18:29:17 +0000 (18:29 +0000)]
AMDGPU: Fix ordering of CPU and FS parameters in TargetMachine constructors

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259897 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix echo.ll test failing due to DOS line endings
Reid Kleckner [Fri, 5 Feb 2016 18:21:28 +0000 (18:21 +0000)]
Fix echo.ll test failing due to DOS line endings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259896 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSome stackslots are allocated to vregs which have no real reference.
Wei Mi [Fri, 5 Feb 2016 18:14:24 +0000 (18:14 +0000)]
Some stackslots are allocated to vregs which have no real reference.

LiveRangeEdit::eliminateDeadDef is used to remove dead define instructions
after rematerialization. To remove a VNI for a vreg from its LiveInterval,
LiveIntervals::removeVRegDefAt is used. However, after non-PHI VNIs are all
removed, PHI VNI are still left in the LiveInterval. Such unused vregs will
be kept in RegsToSpill[] at the end of InlineSpiller::reMaterializeAll and
spiller will allocate stackslot for them.

The fix is to get rid of unused reg by checking whether it has non-dbg
reference instead of whether it has non-empty interval.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259895 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU/SI: Correctly initialize SIInsertWaits pass
Tom Stellard [Fri, 5 Feb 2016 17:42:38 +0000 (17:42 +0000)]
AMDGPU/SI: Correctly initialize SIInsertWaits pass

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259894 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[WebAssembly] Update the select instructions' operand orders to match the spec.
Dan Gohman [Fri, 5 Feb 2016 17:14:59 +0000 (17:14 +0000)]
[WebAssembly] Update the select instructions' operand orders to match the spec.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259893 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd the missing test case for PR26193
Nemanja Ivanovic [Fri, 5 Feb 2016 15:03:17 +0000 (15:03 +0000)]
Add the missing test case for PR26193

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259888 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix for PR 26193
Nemanja Ivanovic [Fri, 5 Feb 2016 14:50:29 +0000 (14:50 +0000)]
Fix for PR 26193

This is a simple fix for a PowerPC intrinsic that was incorrectly defined
(the return type was incorrect).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259886 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoMove classes defined in a cpp file into an anonymous namespace.
Benjamin Kramer [Fri, 5 Feb 2016 13:50:53 +0000 (13:50 +0000)]
Move classes defined in a cpp file into an anonymous namespace.

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259883 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoPrefix external symbols in llvm-c-test.
Benjamin Kramer [Fri, 5 Feb 2016 13:31:14 +0000 (13:31 +0000)]
Prefix external symbols in llvm-c-test.

This makes it less likely to clash with other stuff that might be linked
in by change, e.g. ncurses exposes an external function called simply
"echo", so linking ncurses statically into the binary explodes in funny
ways.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259882 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[AArch64] Improve load/store optimizer to handle LDUR + LDR (take 3)."
Renato Golin [Fri, 5 Feb 2016 12:14:30 +0000 (12:14 +0000)]
Revert "[AArch64] Improve load/store optimizer to handle LDUR + LDR (take 3)."

This reverts commit r259812 as it broke AArch64 self-hosting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259881 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[DebugInfo] Eliminate compilation warning about used variable LSDA
Dmitry Polukhin [Fri, 5 Feb 2016 09:24:34 +0000 (09:24 +0000)]
[DebugInfo] Eliminate compilation warning about used variable LSDA

The waring was:
lib/DebugInfo/DWARF/DWARFDebugFrame.cpp:643:20: warning: variable ‘LSDA’ set but not used

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259877 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LoopUnrolling] Try harder to avoid rebuilding LCSSA when possible.
Michael Zolotukhin [Fri, 5 Feb 2016 02:17:36 +0000 (02:17 +0000)]
[LoopUnrolling] Try harder to avoid rebuilding LCSSA when possible.

In r255133 (reapplied r253126) we started to avoid redundant
recomputation of LCSSA after loop-unrolling. This patch moves one step
further in this direction - now we can avoid it for much wider range of
loops, as we start to look at IR and try to figure out if the
transformation actually breaks LCSSA phis or makes it necessary to
insert new ones.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259869 91177308-0d34-0410-b5e6-96231b3b80d8