]> granicus.if.org Git - llvm/log
llvm
7 years ago[X86][SSE4A] Add tests showing missed opportunities to combine EXTRQI/INSERTQI shuffles
Simon Pilgrim [Mon, 3 Jul 2017 15:01:07 +0000 (15:01 +0000)]
[X86][SSE4A] Add tests showing missed opportunities to combine EXTRQI/INSERTQI shuffles

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

7 years ago[AMDGPU] Switch scalarize global loads ON by default
Alexander Timofeev [Mon, 3 Jul 2017 14:54:11 +0000 (14:54 +0000)]
[AMDGPU] Switch scalarize global loads ON by default

Differential revision: https://reviews.llvm.org/D34407

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

7 years ago[x86] auto-generate complete checks for tests; NFC
Sanjay Patel [Mon, 3 Jul 2017 14:29:45 +0000 (14:29 +0000)]
[x86] auto-generate complete checks for tests; NFC

These all used 'CHECK-NOT' which isn't necessary if we have complete checks.

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

7 years ago[InstCombine] move and improve tests for cmp-intrinsic; NFC
Sanjay Patel [Mon, 3 Jul 2017 14:07:40 +0000 (14:07 +0000)]
[InstCombine] move and improve tests for cmp-intrinsic; NFC

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

7 years agoRevert "[GVN] Recommit the patch "Add phi-translate support in scalarpre"."
Benjamin Kramer [Mon, 3 Jul 2017 12:23:10 +0000 (12:23 +0000)]
Revert "[GVN] Recommit the patch "Add phi-translate support in scalarpre"."

This reverts commit r306313. This breaks selfhost at -O3 and PR33652.
Let me know if you need additional information on reproducing the issue.

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

7 years ago[GlobalISel][X86] fix %ptr(p0) = G_CONSTANT selection.
Igor Breger [Mon, 3 Jul 2017 11:06:54 +0000 (11:06 +0000)]
[GlobalISel][X86] fix %ptr(p0) = G_CONSTANT selection.

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

7 years agofix trivial typos in comments; NFC
Hiroshi Inoue [Mon, 3 Jul 2017 06:32:59 +0000 (06:32 +0000)]
fix trivial typos in comments; NFC

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

7 years ago[InstCombine] Add a TODO for a probable missing single use check. NFC
Craig Topper [Mon, 3 Jul 2017 05:54:16 +0000 (05:54 +0000)]
[InstCombine] Add a TODO for a probable missing single use check. NFC

Will try to fix it soon, but in case I forget.

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

7 years ago[InstCombine] Support BITWISE_OP( BSWAP(x), CONSTANT ) -> BSWAP( BITWISE_OP(x, BSWAP...
Craig Topper [Mon, 3 Jul 2017 05:54:15 +0000 (05:54 +0000)]
[InstCombine] Support BITWISE_OP( BSWAP(x), CONSTANT ) -> BSWAP( BITWISE_OP(x, BSWAP(CONSTANT) ) ) for splat vectors.

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

7 years ago[InstCombine] Add test cases for BITWISE_OP( BSWAP(x), CONSTANT ) -> BSWAP( BITWISE_O...
Craig Topper [Mon, 3 Jul 2017 05:54:14 +0000 (05:54 +0000)]
[InstCombine] Add test cases for BITWISE_OP( BSWAP(x), CONSTANT ) -> BSWAP( BITWISE_OP(x, BSWAP(CONSTANT) ) ) with splat vectors. NFC

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

7 years ago[InstCombine] Remove support for BITWISE_OP(CONSTANT, BSWAP(x)) -> BSWAP(OP(BSWAP...
Craig Topper [Mon, 3 Jul 2017 05:54:13 +0000 (05:54 +0000)]
[InstCombine] Remove support for BITWISE_OP(CONSTANT, BSWAP(x)) -> BSWAP(OP(BSWAP(CONSTANT), x)).

Constants were already canonicalized to the right hand side before we got here.

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

7 years ago[InstCombine] Support BITWISE_OP(BSWAP(A),BSWAP(B))->BSWAP(BITWISE_OP(A, B)) for...
Craig Topper [Mon, 3 Jul 2017 05:54:13 +0000 (05:54 +0000)]
[InstCombine] Support BITWISE_OP(BSWAP(A),BSWAP(B))->BSWAP(BITWISE_OP(A, B)) for vectors.

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

7 years ago[InstCombine] Add test cases showing missed opportunity to fold BITWISE_OP(BSWAP...
Craig Topper [Mon, 3 Jul 2017 05:54:12 +0000 (05:54 +0000)]
[InstCombine] Add test cases showing missed opportunity to fold BITWISE_OP(BSWAP(A),BSWAP(B))->BSWAP(BITWISE_OP(A, B)) for vectors. NFC

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

7 years ago[InstCombine] Remove an if that should have been guaranteed by the caller. Replace...
Craig Topper [Mon, 3 Jul 2017 05:54:11 +0000 (05:54 +0000)]
[InstCombine] Remove an if that should have been guaranteed by the caller. Replace with an assert. NFC

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

7 years agoAMDGPU: Add operand target flags serialization
Matt Arsenault [Sun, 2 Jul 2017 23:21:48 +0000 (23:21 +0000)]
AMDGPU: Add operand target flags serialization

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

7 years ago[X86][AVX512] Test AVX512VPOPCNTDQ CTPOP with/without AVX512BW
Simon Pilgrim [Sun, 2 Jul 2017 19:52:20 +0000 (19:52 +0000)]
[X86][AVX512] Test AVX512VPOPCNTDQ CTPOP with/without AVX512BW

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

7 years ago[X86][AVX512VPOPCNTDQ] Improve support for v16i8/v8i16/v16i16/ CTPOP
Simon Pilgrim [Sun, 2 Jul 2017 19:32:37 +0000 (19:32 +0000)]
[X86][AVX512VPOPCNTDQ] Improve support for v16i8/v8i16/v16i16/ CTPOP

Zero extend to v16i32/v8i64, use VPOPCNTDQ instructions and truncate back.

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

7 years ago[X86][AVX512] Cleanup tzcnt tests triples and attributes
Simon Pilgrim [Sun, 2 Jul 2017 18:51:48 +0000 (18:51 +0000)]
[X86][AVX512] Cleanup tzcnt tests triples and attributes

Avoid use of specific -mcpu

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

7 years ago[X86][AVX512] Cleanup popcnt tests triples and attributes
Simon Pilgrim [Sun, 2 Jul 2017 18:35:22 +0000 (18:35 +0000)]
[X86][AVX512] Cleanup popcnt tests triples and attributes

Avoid use of specific -mcpu

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

7 years ago[IR] Remove unnecessary operator new from ConstantDataArray and ConstantDataVector...
Craig Topper [Sun, 2 Jul 2017 17:08:44 +0000 (17:08 +0000)]
[IR] Remove unnecessary operator new from ConstantDataArray and ConstantDataVector. They inherit an identical version from ConstantData. NFC

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

7 years ago[InstCombine] Use m_BitReverse pattern match helper. NFCI.
Simon Pilgrim [Sun, 2 Jul 2017 16:31:16 +0000 (16:31 +0000)]
[InstCombine] Use m_BitReverse pattern match helper. NFCI.

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

7 years ago[InstCombine] fix crash when folding cmp+bswap vector
Sanjay Patel [Sun, 2 Jul 2017 16:05:11 +0000 (16:05 +0000)]
[InstCombine] fix crash when folding cmp+bswap vector

We assumed the constant was a scalar when creating the replacement operand.

Also, improve tests for this fold and move the tests for this fold to their own file.
I'll move the related and missing tests to this file as a follow-up.

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

7 years ago[x86] auto-generate complete checks for tests; NFC
Sanjay Patel [Sun, 2 Jul 2017 15:24:08 +0000 (15:24 +0000)]
[x86] auto-generate complete checks for tests; NFC

These all used 'CHECK-NOT' which isn't necessary if we have complete checks.

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

7 years ago[x86] remove unnecessary RUN for test after auto-generating checks; NFC
Sanjay Patel [Sun, 2 Jul 2017 15:16:17 +0000 (15:16 +0000)]
[x86] remove unnecessary RUN for test after auto-generating checks; NFC

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

7 years ago[x86] update test to use FileCheck and auto-generate checks; NFC
Sanjay Patel [Sun, 2 Jul 2017 15:15:18 +0000 (15:15 +0000)]
[x86] update test to use FileCheck and auto-generate checks; NFC

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

7 years ago[x86] auto-generate complete checks for tests; NFC
Sanjay Patel [Sun, 2 Jul 2017 14:50:35 +0000 (14:50 +0000)]
[x86] auto-generate complete checks for tests; NFC

These all used 'CHECK-NOT' which isn't necessary if we have complete checks.

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

7 years ago[InstCombine] look through bswap/bitreverse for equality comparisons
Sanjay Patel [Sun, 2 Jul 2017 14:34:50 +0000 (14:34 +0000)]
[InstCombine] look through bswap/bitreverse for equality comparisons

I noticed this missed bswap optimization in the CGP memcmp() expansion,
and then I saw that we don't have the fold in InstCombine.

Differential Revision: https://reviews.llvm.org/D34763

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

7 years agollvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll: -debug is available in...
NAKAMURA Takumi [Sun, 2 Jul 2017 14:25:27 +0000 (14:25 +0000)]
llvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll: -debug is available in +Asserts.

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

7 years ago[X86][SSE] Attempt to combine 64-bit and 32-bit shuffles to unary shuffles before...
Simon Pilgrim [Sun, 2 Jul 2017 14:16:25 +0000 (14:16 +0000)]
[X86][SSE] Attempt to combine 64-bit and 32-bit shuffles to unary shuffles before bit shifts

We are combining shuffles to bit shifts before unary permutes, which means we can't fold loads plus the destination register is destructive

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

7 years ago[X86][SSE] Attempt to combine 64-bit and 16-bit shuffles to unary shuffles before...
Simon Pilgrim [Sun, 2 Jul 2017 13:19:10 +0000 (13:19 +0000)]
[X86][SSE] Attempt to combine 64-bit and 16-bit shuffles to unary shuffles before bit shifts

We are combining shuffles to bit shifts before unary permutes, which means we can't fold loads plus the destination register is destructive

The 32-bit shuffles are a bit tricky and will be dealt with in a later patch

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

7 years ago[X86][SSE] Add test showing missed opportunity to combine to pshuflw
Simon Pilgrim [Sun, 2 Jul 2017 12:56:10 +0000 (12:56 +0000)]
[X86][SSE] Add test showing missed opportunity to combine to pshuflw

We are combining shuffles to bit shifts before unary permutes, which means we can't fold loads plus the destination register is destructive

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

7 years agofix trivial typos in documents; NFC
Hiroshi Inoue [Sun, 2 Jul 2017 12:44:27 +0000 (12:44 +0000)]
fix trivial typos in documents; NFC

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

7 years ago[X86][CM] update add\sub costs of vectors of 64 in X86\SLM arch
Mohammed Agabaria [Sun, 2 Jul 2017 12:16:15 +0000 (12:16 +0000)]
[X86][CM] update add\sub costs of vectors of 64 in X86\SLM arch

this patch updates the cost of addq\subq (add\subtract of vectors of 64bits)
based on the performance numbers of SLM arch.

Differential Revision: https://reviews.llvm.org/D33983

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

7 years ago[X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC.
Gadi Haber [Sun, 2 Jul 2017 12:01:33 +0000 (12:01 +0000)]
[X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC.

This is NFC after rerunning the "update_llc_test_checks.py" tool on the CodeGen X86 tests in order to submit a patch.
Minor differences due to added "End of Function" lines.

Reviewers: zvi
Differential Revision: https://reviews.llvm.org/D34933

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

7 years ago[GlobalISel][X86] Support G_GLOBAL_VALUE operation.
Igor Breger [Sun, 2 Jul 2017 08:58:29 +0000 (08:58 +0000)]
[GlobalISel][X86] Support G_GLOBAL_VALUE operation.

Summary: Support G_GLOBAL_VALUE operation. For now most of the PIC configurations not implemented yet.

Reviewers: zvi, guyblank

Reviewed By: guyblank

Subscribers: rovka, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D34738

Conflicts:
test/CodeGen/X86/GlobalISel/regbankselect-X86_64.mir

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

7 years ago[GlobalISel][X86] Support vector type G_UNMERGE_VALUES selection.
Igor Breger [Sun, 2 Jul 2017 08:15:49 +0000 (08:15 +0000)]
[GlobalISel][X86] Support vector type G_UNMERGE_VALUES selection.

Summary:
Support vector type G_UNMERGE_VALUES selection.
For now G_UNMERGE_VALUES marked as legal for any type, so nothing to do in legalizer.

Reviewers: t.p.northover, qcolombet, zvi, guyblank

Reviewed By: guyblank

Subscribers: rovka, kristof.beyls, guyblank, llvm-commits

Differential Revision: https://reviews.llvm.org/D33665

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

7 years agofix trivial typos; NFC
Hiroshi Inoue [Sun, 2 Jul 2017 03:24:54 +0000 (03:24 +0000)]
fix trivial typos; NFC

suport -> support

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

7 years ago[InstCombine] Fold (a | b) ^ (~a | ~b) --> ~(a ^ b) and (a & b) ^ (~a & ~b) --> ...
Craig Topper [Sun, 2 Jul 2017 01:15:51 +0000 (01:15 +0000)]
[InstCombine] Fold (a | b) ^ (~a | ~b) --> ~(a ^ b) and (a & b) ^ (~a & ~b) --> ~(a ^ b)

Summary:
I came across this while thinking about what would happen if one of the operands in this xor pattern was itself a inverted (A & ~B) ^ (~A & B)-> (A^B).

The patterns here assume that the (~a | ~b) will be demorganed to ~(a & b) first. Though I wonder if there's a multiple use case that would prevent the demorgan.

Reviewers: spatel

Reviewed By: spatel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34870

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

7 years ago[CodeExtractor] Remove unneded and commented out debugging stmts.
Davide Italiano [Sun, 2 Jul 2017 00:07:18 +0000 (00:07 +0000)]
[CodeExtractor] Remove unneded and commented out debugging stmts.

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

7 years ago[X86][RDSEED] Split off i64 intrinsic tests and test i16/i32 on 32-bit target as...
Simon Pilgrim [Sat, 1 Jul 2017 16:42:16 +0000 (16:42 +0000)]
[X86][RDSEED] Split off i64 intrinsic tests and test i16/i32 on 32-bit target as well.

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

7 years ago[X86][RDRAND] Split off i64 intrinsic tests and test i16/i32 on 32-bit target as...
Simon Pilgrim [Sat, 1 Jul 2017 16:41:12 +0000 (16:41 +0000)]
[X86][RDRAND] Split off i64 intrinsic tests and test i16/i32 on 32-bit target as well.

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

7 years ago[X86] Removed reference to update_test_checks.py
Simon Pilgrim [Sat, 1 Jul 2017 16:34:29 +0000 (16:34 +0000)]
[X86] Removed reference to update_test_checks.py

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

7 years ago[X86][AVX] Remove duplicate autogeneration note
Simon Pilgrim [Sat, 1 Jul 2017 16:32:02 +0000 (16:32 +0000)]
[X86][AVX] Remove duplicate autogeneration note

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

7 years agofix trivial typos, NFC
Hiroshi Inoue [Sat, 1 Jul 2017 07:12:15 +0000 (07:12 +0000)]
fix trivial typos, NFC

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

7 years ago[SelectionDAGBuilder] Use EVT::getVectorVT instead of MVT::getVectorVT to prevent...
Craig Topper [Sat, 1 Jul 2017 06:46:09 +0000 (06:46 +0000)]
[SelectionDAGBuilder] Use EVT::getVectorVT instead of MVT::getVectorVT to prevent a crash if the type isn't a simple VT.

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

7 years ago[AVR] Remove a bunch of now-obselete tests
Dylan McKay [Sat, 1 Jul 2017 05:23:13 +0000 (05:23 +0000)]
[AVR] Remove a bunch of now-obselete tests

The fixups in these instructions are now lowered into relocations.

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

7 years agoRevert "Revert "Replace trivial use of external rc.exe by writing our own .res file.""
Eric Beckmann [Sat, 1 Jul 2017 03:59:54 +0000 (03:59 +0000)]
Revert "Revert "Replace trivial use of external rc.exe by writing our own .res file.""

Summary:
This reverts commit 51931072a7c9a52540baf76fc30ef391d2529a2f.

This revert was originally done because the integrations of the new
WindowsResource library into LLD was causing error in chromium, due to
bugs in how resource sections were handled.  These bugs were fixed,
meaning that the features may be reintegrated.

Subscribers: hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D34922

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

7 years agoRemove the default ARMSubtarget from the ARM TargetMachine.
Eric Christopher [Sat, 1 Jul 2017 03:41:53 +0000 (03:41 +0000)]
Remove the default ARMSubtarget from the ARM TargetMachine.

This enables us to ensure better LTO and code generation in the face of module linking.
Remove a report_fatal_error from the TargetMachine and replace it with an assert in ARMSubtarget - and remove the test that depended on the error. The assertion will still fire in the case that we were reporting before, but error reporting needs to be in front end tools if possible for options parsing.

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

7 years ago[Cloner] Re-map simplfied cloned instructions.
Davide Italiano [Sat, 1 Jul 2017 03:29:33 +0000 (03:29 +0000)]
[Cloner] Re-map simplfied cloned instructions.

This commit pretty much rolls back the logic added in r306495
as in the testcase provided we simplify an `icmp` looking through
a PHI that hasn't been mapped yet.

I think instsimplify shouldn't do threading over select/phis or
just looking through phis in general, but this is what we have
now. Also, add a test to prevent this from happening in case somebody
wants to modify this code again.

Briefly discussed with Kyle Butt (thanks Kyle!).

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

7 years agoRecommit "r306541 - Add zero-length check to memcpy/memset load store loop expansion""
Teresa Johnson [Sat, 1 Jul 2017 03:24:10 +0000 (03:24 +0000)]
Recommit "r306541 - Add zero-length check to memcpy/memset load store loop expansion""

With fix for use-after-free errors. We can't add the new branch and
remove the old one until we are done with the Builder constructed for
the block.

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

7 years agoRevert "r306473 - re-commit r306336: Enable vectorizer-maximize-bandwidth by default."
Teresa Johnson [Sat, 1 Jul 2017 03:24:09 +0000 (03:24 +0000)]
Revert "r306473 - re-commit r306336: Enable vectorizer-maximize-bandwidth by default."

This still breaks PPC tests we have. I'll forward reproduction
instructions to dehao.

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

7 years agore-commit r306336: Enable vectorizer-maximize-bandwidth by default.
Teresa Johnson [Sat, 1 Jul 2017 03:24:08 +0000 (03:24 +0000)]
re-commit r306336: Enable vectorizer-maximize-bandwidth by default.

Differential Revision: https://reviews.llvm.org/D33341

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

7 years agorevert r306336 for breaking ppc test.
Teresa Johnson [Sat, 1 Jul 2017 03:24:07 +0000 (03:24 +0000)]
revert r306336 for breaking ppc test.

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

7 years agoEnable vectorizer-maximize-bandwidth by default.
Teresa Johnson [Sat, 1 Jul 2017 03:24:06 +0000 (03:24 +0000)]
Enable vectorizer-maximize-bandwidth by default.

Summary:
vectorizer-maximize-bandwidth is generally useful in terms of performance. I've tested the impact of changing this to default on speccpu benchmarks on sandybridge machines. The result shows non-negative impact:

spec/2006/fp/C++/444.namd                 26.84  -0.31%
spec/2006/fp/C++/447.dealII               46.19  +0.89%
spec/2006/fp/C++/450.soplex               42.92  -0.44%
spec/2006/fp/C++/453.povray               38.57  -2.25%
spec/2006/fp/C/433.milc                   24.54  -0.76%
spec/2006/fp/C/470.lbm                    41.08  +0.26%
spec/2006/fp/C/482.sphinx3                47.58  -0.99%
spec/2006/int/C++/471.omnetpp             22.06  +1.87%
spec/2006/int/C++/473.astar               22.65  -0.12%
spec/2006/int/C++/483.xalancbmk           33.69  +4.97%
spec/2006/int/C/400.perlbench             33.43  +1.70%
spec/2006/int/C/401.bzip2                 23.02  -0.19%
spec/2006/int/C/403.gcc                   32.57  -0.43%
spec/2006/int/C/429.mcf                   40.35  +0.27%
spec/2006/int/C/445.gobmk                 26.96  +0.06%
spec/2006/int/C/456.hmmer                  24.4  +0.19%
spec/2006/int/C/458.sjeng                 27.91  -0.08%
spec/2006/int/C/462.libquantum            57.47  -0.20%
spec/2006/int/C/464.h264ref               46.52  +1.35%

geometric mean                                   +0.29%

The regression on 453.povray seems real, but is due to secondary effects as all hot functions are bit-identical with and without the flag.

I started this patch to consult upstream opinions on this. It will be greatly appreciated if the community can help test the performance impact of this change on other architectures so that we can decided if this should be target-dependent.

Reviewers: hfinkel, mkuper, davidxl, chandlerc

Reviewed By: chandlerc

Subscribers: rengolin, sanjoy, javed.absar, bjope, dorit, magabari, RKSimon, llvm-commits, mzolotukhin

Differential Revision: https://reviews.llvm.org/D33341

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

7 years agoAnother test commit
Teresa Johnson [Sat, 1 Jul 2017 03:24:06 +0000 (03:24 +0000)]
Another test commit

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

7 years agoStill debugging
Teresa Johnson [Sat, 1 Jul 2017 03:24:05 +0000 (03:24 +0000)]
Still debugging

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

7 years agoStill test commit
Teresa Johnson [Sat, 1 Jul 2017 03:24:05 +0000 (03:24 +0000)]
Still test commit

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

7 years agoAnother test commit
Teresa Johnson [Sat, 1 Jul 2017 03:24:00 +0000 (03:24 +0000)]
Another test commit

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

7 years agoRewrite ARM execute only support to avoid the use of a command line flag and unqualif...
Eric Christopher [Sat, 1 Jul 2017 02:55:22 +0000 (02:55 +0000)]
Rewrite ARM execute only support to avoid the use of a command line flag and unqualified ARMSubtarget lookup.

Paired with a clang commit to use the new behavior.

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

7 years ago[ObjectYAML] Fix some Clang-tidy modernize and Include What You Use warnings; other...
Eugene Zelenko [Sat, 1 Jul 2017 01:35:55 +0000 (01:35 +0000)]
[ObjectYAML] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

7 years ago[AVR] Update AVRASmBackend from API change in r306906
Dylan McKay [Sat, 1 Jul 2017 01:18:12 +0000 (01:18 +0000)]
[AVR] Update AVRASmBackend from API change in r306906

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

7 years ago[X86] Move GISel accessor initialization from TargetMachine to Subtarget.
Quentin Colombet [Sat, 1 Jul 2017 00:45:50 +0000 (00:45 +0000)]
[X86] Move GISel accessor initialization from TargetMachine to Subtarget.

NFC

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

7 years ago[ARM] Move GISel accessor initialization from TargetMachine to Subtarget.
Quentin Colombet [Sat, 1 Jul 2017 00:45:45 +0000 (00:45 +0000)]
[ARM] Move GISel accessor initialization from TargetMachine to Subtarget.

NFC

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

7 years ago[Dominators] Reapply r306892, r306893, r306893.
Jakub Kuderski [Sat, 1 Jul 2017 00:23:01 +0000 (00:23 +0000)]
[Dominators] Reapply r306892, r306893, r306893.

This reverts commit r306907 and reapplies the patches in the title.
The patches used to make one of the
CodeGen/ARM/2011-02-07-AntidepClobber.ll test to fail because of a
missing null check.

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

7 years agoA little wordsmithing of dominator verification comments.
Daniel Berlin [Fri, 30 Jun 2017 23:49:53 +0000 (23:49 +0000)]
A little wordsmithing of dominator verification comments.

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

7 years ago[RegisterCoalescer] Account for instructions deleted by removePartialredunduncy and...
Sameer AbuAsal [Fri, 30 Jun 2017 23:49:07 +0000 (23:49 +0000)]
[RegisterCoalescer] Account for instructions deleted by removePartialredunduncy and in WorkList

Summary:
 removePartialRedundency optimization introduces a state in the
 RegisterCoalescer where an instruction pointed to in the WorkList
 is deleted from the MBB and then removed from the ErasedList.
 This patch updates the ErasedList to be used globally by not erasing
 erased Instructions from  it to solve the problem.

 The patch also accounts for the case where an Instruction was previously
 deleted and the same memory was reused by BuildMI to create a new instruction.

Reviewers: kparzysz, qcolombet

Reviewed By: qcolombet

Subscribers: MatzeB, qcolombet, llvm-commits

Differential Revision: https://reviews.llvm.org/D34902

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

7 years agoAdd comments on sibling and parent properties in dominator trees
Daniel Berlin [Fri, 30 Jun 2017 23:46:58 +0000 (23:46 +0000)]
Add comments on sibling and parent properties in dominator trees

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

7 years ago[ORE] Add diagnostics hotness threshold
Brian Gesiak [Fri, 30 Jun 2017 23:14:53 +0000 (23:14 +0000)]
[ORE] Add diagnostics hotness threshold

Summary:
Add an option to prevent diagnostics that do not meet a minimum hotness
threshold from being output. When generating optimization remarks for
large codebases with a ton of cold code paths, this option can be used
to limit the optimization remark output at a reasonable size. Discussion of
this change can be read here:
http://lists.llvm.org/pipermail/llvm-dev/2017-June/114377.html

Reviewers: anemet, davidxl, hfinkel

Reviewed By: anemet

Subscribers: qcolombet, javed.absar, fhahn, eraman, llvm-commits

Differential Revision: https://reviews.llvm.org/D34867

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

7 years ago[CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings;...
Eugene Zelenko [Fri, 30 Jun 2017 23:06:03 +0000 (23:06 +0000)]
[CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

7 years agoRevert "[Dominators] Teach IDF to use level information"
Jakub Kuderski [Fri, 30 Jun 2017 22:56:28 +0000 (22:56 +0000)]
Revert "[Dominators] Teach IDF to use level information"

This reverts commit r306894.

Revert "[Dominators] Add NearestCommonDominator verification"

This reverts commit r306893.

Revert "[Dominators] Keep tree level in DomTreeNode and use it to find NCD and answer dominance queries"

This reverts commit r306892.

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

7 years agoRename and adjust processFixupValue.
Rafael Espindola [Fri, 30 Jun 2017 22:47:27 +0000 (22:47 +0000)]
Rename and adjust processFixupValue.

It was not processing any value. All that it ever did was force
relocations, so name it shouldForceRelocation.

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

7 years ago[lit] Factor out listdir logic shared by different test formats.
David L. Jones [Fri, 30 Jun 2017 21:58:55 +0000 (21:58 +0000)]
[lit] Factor out listdir logic shared by different test formats.

Summary:
The lit test formats use largely the same logic for discovering tests. There are
some superficial differences in the logic, which seem reasonable enough to
handle in a single routine.

At a high level, the common goal is "look for files that end with one of these
suffixes, and skip anything starting with a dot." The balance of the logic
specific to ShTest and GoogleTest collapses quite a bit, so that
getTestsInDirectory is only a couple of lines around a call to the new function.

Reviewers: zturner, MatzeB, modocache

Subscribers: sanjoy, llvm-commits

Differential Revision: https://reviews.llvm.org/D34855

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

7 years ago[Dominators] Teach IDF to use level information
Jakub Kuderski [Fri, 30 Jun 2017 21:51:43 +0000 (21:51 +0000)]
[Dominators] Teach IDF to use level information

Summary: This patch teaches IteratedDominanceFrontier to use the level information stored in DomTreeNodes instead of calculating it manually.

Reviewers: dberlin, sanjoy, davide

Reviewed By: davide

Subscribers: davide, llvm-commits

Differential Revision: https://reviews.llvm.org/D34703

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

7 years ago[Dominators] Add NearestCommonDominator verification
Jakub Kuderski [Fri, 30 Jun 2017 21:51:43 +0000 (21:51 +0000)]
[Dominators] Add NearestCommonDominator verification

Summary:
This patch adds another verification function for checking correctness of findNearestCommonDominator.
For every edge from U to V in the input graph, `NCD(U, V) == IDom(V) or V` -- the new function checks this condition.

Reviewers: dberlin, sanjoy, chandlerc

Reviewed By: dberlin

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34575

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

7 years ago[Dominators] Keep tree level in DomTreeNode and use it to find NCD and answer dominan...
Jakub Kuderski [Fri, 30 Jun 2017 21:51:40 +0000 (21:51 +0000)]
[Dominators] Keep tree level in DomTreeNode and use it to find NCD and answer dominance queries

Summary:
This patch makes DomTreeNodes keep their level (depth) in the DomTree. By having this information always available, it is possible to speedup and simplify findNearestCommonDominator and certain dominance queries.

In the future, level information will be also needed to perform incremental updates.

My testing doesn't show any noticeable performance differences after applying this patch. There may be some improvements when other passes are thought to use the level information.

Reviewers: dberlin, sanjoy, chandlerc, grosser

Reviewed By: dberlin

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34548

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

7 years agoRemove spurious semicolons.
Zachary Turner [Fri, 30 Jun 2017 21:48:57 +0000 (21:48 +0000)]
Remove spurious semicolons.

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

7 years ago[llvm-pdbutil] Output the symbol offset when dumping.
Zachary Turner [Fri, 30 Jun 2017 21:35:00 +0000 (21:35 +0000)]
[llvm-pdbutil] Output the symbol offset when dumping.

Type records have a unique type index, but symbol records do
not.  Instead, symbol records refer to other symbol records
by referencing their offset in the symbol stream.  In a sense
this is the analogue of the TypeIndex, but we are not printing
it in the dumper.  Printing it not only gives us more useful
information when manually investigating the contents of a PDB,
but also allows us to write better tests by enabling us to
verify that fields that reference other symbol records do
so correctly.

Differential Revision: https://reviews.llvm.org/D34906

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

7 years ago[codeview] Use the first valid source location at the top of every MBB
Reid Kleckner [Fri, 30 Jun 2017 21:33:44 +0000 (21:33 +0000)]
[codeview] Use the first valid source location at the top of every MBB

If the instructions at the beginning of the block have no location,
we're better off using the location of the first instruction in the
current basic block. At the very least, that instruction post-dominates
this one, whereas if we don't emit a .cv_loc directive, we end up using
the potentially invalid location that falls through from the previous
block.

We could probably do better here by emitting some kind of ".cv_loc end"
directive that stops the line table entry of the previous .cv_loc
directive from bleeding out of its basic block. This would improve the
line table when an entire MBB has no valid location info.

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

7 years ago[Hexagon] Implement frame pointer elimination with -fomit-frame-pointer
Krzysztof Parzyszek [Fri, 30 Jun 2017 21:21:40 +0000 (21:21 +0000)]
[Hexagon] Implement frame pointer elimination with -fomit-frame-pointer

It applies to leaf functions that are otherwise not required to have
a frame pointer.

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

7 years ago[SLPVectorizer] Add isOdd() helper function, NFCI.
Dinar Temirbulatov [Fri, 30 Jun 2017 21:16:26 +0000 (21:16 +0000)]
[SLPVectorizer] Add isOdd() helper function, NFCI.

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

7 years ago[InstCombine] Replace an unnecessary use of a matcher with just an isa and a cast...
Craig Topper [Fri, 30 Jun 2017 21:09:34 +0000 (21:09 +0000)]
[InstCombine] Replace an unnecessary use of a matcher with just an isa and a cast. NFC

We aren't looking through any levels of IR here so I don't think we need the power of a matcher or the temporary variable it requires.

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

7 years ago[LV] Sink casts to unravel first order recurrence
Ayal Zaks [Fri, 30 Jun 2017 21:05:06 +0000 (21:05 +0000)]
[LV] Sink casts to unravel first order recurrence

Check if a single cast is preventing handling a first-order-recurrence Phi,
because the scheduling constraints it imposes on the first-order-recurrence
shuffle are infeasible; but they can be made feasible by moving the cast
downwards. Record such casts and move them when vectorizing the loop.

Differential Revision: https://reviews.llvm.org/D33058

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

7 years agoFix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR
Richard Smith [Fri, 30 Jun 2017 20:56:57 +0000 (20:56 +0000)]
Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR

This is a short-term fix for PR33650 aimed to get the modules build bots green again.

Remove all the places where we use the LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR
macros to try to locally specialize a global template for a global type. That's
not how C++ works.

Instead, we now centrally define how to format vectors of fundamental types and
of string (std::string and StringRef). We use flow formatting for the former
cases, since that's the obvious right thing to do; in the latter case, it's
less clear what the right choice is, but flow formatting is really bad for some
cases (due to very long strings), so we pick block formatting. (Many of the
cases that were using flow formatting for strings are improved by this change.)

Other than the flow -> block formatting change for some vectors of strings,
this should result in no functionality change.

Differential Revision: https://reviews.llvm.org/D34907

Corresponding updates to clang, clang-tools-extra, and lld to follow.

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

7 years ago[Hexagon] Guard the generation of lookup table
Sumanth Gundapaneni [Fri, 30 Jun 2017 20:54:24 +0000 (20:54 +0000)]
[Hexagon] Guard the generation of lookup table

The llvm flag "-hexagon-emit-lookup-tables" guards the generation
of lookup table generated from a switch statement.
Differential Revision: https://reviews.llvm.org/D34819

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

7 years ago[SystemZ] Add all remaining instructions
Ulrich Weigand [Fri, 30 Jun 2017 20:43:40 +0000 (20:43 +0000)]
[SystemZ] Add all remaining instructions

This adds all remaining instructions that were still missing, mostly
privileged and semi-privileged system-level instructions.  These are
provided for use with the assembler and disassembler only.

This brings the LLVM assembler / disassembler to parity with the
GNU binutils tools.

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

7 years agoGlobalISel: add G_IMPLICIT_DEF instruction.
Tim Northover [Fri, 30 Jun 2017 20:27:36 +0000 (20:27 +0000)]
GlobalISel: add G_IMPLICIT_DEF instruction.

It looks like there are two target-independent but not GISel instructions that
need legalization, IMPLICIT_DEF and PHI. These are already anomalies since
their operands have important LLTs attached, so to make things more uniform it
seems like a good idea to add generic variants. Starting with G_IMPLICIT_DEF.

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

7 years ago[Hexagon] Emit jump tables in text section based on a flag
Sumanth Gundapaneni [Fri, 30 Jun 2017 20:21:48 +0000 (20:21 +0000)]
[Hexagon] Emit jump tables in text section based on a flag

This patch adds a new LLVM flag -hexagon-emit-jt-text which is defaulted to
"false". The value "true" emits the switch generated jump tables in text section.
Differential Revision: https://reviews.llvm.org/D34820

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

7 years agoRevert "[Hexagon] Guard the generation of lookup table"
Sumanth Gundapaneni [Fri, 30 Jun 2017 20:20:00 +0000 (20:20 +0000)]
Revert "[Hexagon] Guard the generation of lookup table"

This reverts commit ae521f4192c3ed0202c047fec993cb59133dd1a0.
Wrong commit message

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

7 years ago[Hexagon] Guard the generation of lookup table
Sumanth Gundapaneni [Fri, 30 Jun 2017 20:10:28 +0000 (20:10 +0000)]
[Hexagon] Guard the generation of lookup table

The llvm flag "-hexagon-emit-lookup-tables" guards the generation
of lookup table from a switch statement.

Differential Revision: https://reviews.llvm.org/D34819

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

7 years ago[SimplifyCFG] Update the name of switch generated lookup table.
Sumanth Gundapaneni [Fri, 30 Jun 2017 20:00:01 +0000 (20:00 +0000)]
[SimplifyCFG] Update the name of switch generated lookup table.

This patch appends the name of the function to the switch generated lookup
table. This will ease the visual debugging in identifying the function the table
is generated from.

Differential Revision: https://reviews.llvm.org/D34817

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

7 years ago[ORE] Remove old "diagnostic hotness" spelling
Brian Gesiak [Fri, 30 Jun 2017 19:56:55 +0000 (19:56 +0000)]
[ORE] Remove old "diagnostic hotness" spelling

Summary:
Depends on https://reviews.llvm.org/D34865.

With the Clang uses of the old spelling having been removed in
https://reviews.llvm.org/D34865, get rid of the old "diagnostic hotness"
spellings in favor of the new "diagnostics hotness".

Reviewers: anemet, davidxl

Reviewed By: anemet

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34866

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

7 years agoARM: fix big-endian 64-bit cmpxchg.
Tim Northover [Fri, 30 Jun 2017 19:51:02 +0000 (19:51 +0000)]
ARM: fix big-endian 64-bit cmpxchg.

On big-endian machines the high and low parts of the value accessed by ldrexd
and strexd are swapped around. To account for this we swap inputs and outputs
in ISelLowering.

Patch by Bharathi Seshadri.

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

7 years agoMake 0 argument getSubtargetImpl functions for the X86, AArch64, and PPC targets...
Eric Christopher [Fri, 30 Jun 2017 19:49:05 +0000 (19:49 +0000)]
Make 0 argument getSubtargetImpl functions for the X86, AArch64, and PPC targets deleted so that no one is tempted to use them.

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

7 years ago[PowerPC] auto-generate check lines; NFC
Sanjay Patel [Fri, 30 Jun 2017 19:20:54 +0000 (19:20 +0000)]
[PowerPC] auto-generate check lines; NFC

The existing check lines were more flexible, but these are
small enough tests that there shouldn't be much question
about register allocation. I've been hand-modifying this
file as I change the CGP memcmp expansion, but that's
more error-prone and time-consuming than just running the
update script.

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

7 years ago[InstCombine] Add m_BitReverse pattern match helper. NFCI.
Simon Pilgrim [Fri, 30 Jun 2017 18:58:29 +0000 (18:58 +0000)]
[InstCombine] Add m_BitReverse pattern match helper. NFCI.

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

7 years agoCompletely disable git/svn version checking if not needed.
Rafael Espindola [Fri, 30 Jun 2017 18:48:33 +0000 (18:48 +0000)]
Completely disable git/svn version checking if not needed.

Working with git on a branch I find it really annoying that committing
a change causes ninja to think that stuff needs to be rebuilt.

With this change at least nothing in llvm needs to be rebuild when
something is committed.

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

7 years agoFix opt --help ordering of available optimizations.
Erich Keane [Fri, 30 Jun 2017 18:44:33 +0000 (18:44 +0000)]
Fix opt --help ordering of available optimizations.

Introduced in -r283004, the PassNameParser sorts Optimization options in
reverse. This is because the commit replaced a compare function with "<"
(which would seemingly be proper based on the name of the comparison function).
The result is the 'true' result is converted to '1', which is inverted.

This patch fixes this by replacing the '<' operator call on StringRef with a
call to the StringRef compare function. It also renames the function to better
reflect its meaning.

Differential Revision: https://reviews.llvm.org/D34831

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

7 years agoFix test broken by parameter mixup.
Zachary Turner [Fri, 30 Jun 2017 18:25:07 +0000 (18:25 +0000)]
Fix test broken by parameter mixup.

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

7 years agoDrop the LLVM mangler escape when printing the IR name in assembly comments
Reid Kleckner [Fri, 30 Jun 2017 18:22:51 +0000 (18:22 +0000)]
Drop the LLVM mangler escape when printing the IR name in assembly comments

I'm tired of seeing this:
        .globl  "?Test@@YAXXZ"          # -- Begin function ^A?Test@@YAXXZ

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

7 years agoFix bug in symbol generation for resource COFF
Eric Beckmann [Fri, 30 Jun 2017 18:16:35 +0000 (18:16 +0000)]
Fix bug in symbol generation for resource COFF

Symbols in the resource COFF file should be for .rsrc$02, where the
actual resource data is, not .rsrc$01, which contains the directory
tree.

Differential Revision: https://reviews.llvm.org/D34832

Patch by Joe Ranieri.

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