OSDN Git Service
Simon Pilgrim [Mon, 6 May 2019 11:52:16 +0000 (11:52 +0000)]
X86DAGToDAGISel::tryVPTESTM - fix uninitialized variable warning. NFCI.
findBroadcastedOp should always initialize the value if it returns true but static-analyzer isn't great at recognising this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360037
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Mon, 6 May 2019 11:43:19 +0000 (11:43 +0000)]
[test] Remove redundant bracket in rL360035
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360036
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Mon, 6 May 2019 11:39:49 +0000 (11:39 +0000)]
Try fix Windows bot after rL360015
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360035
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Mon, 6 May 2019 11:37:20 +0000 (11:37 +0000)]
Try fix Windows bot after rL360015
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/25599/steps/test/logs/stdio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360034
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Waldenborg [Mon, 6 May 2019 11:31:45 +0000 (11:31 +0000)]
[llvm-c-test] Make include-all.c do what its name says it does
The purpose of this file is to make sure that all includes in llvm-c
works when included from a C source file (i.e no C++isms sneaked in).
To do this it must actually include all the include files.
Reviewed By: whitequark
Differential Revision: https://reviews.llvm.org/D61567
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360033
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Mon, 6 May 2019 10:25:11 +0000 (10:25 +0000)]
[LoadStoreVectorizer] vectorizeStoreChain - ensure we find a store type.
Properly initialize store type to null then ensure we find a real store type in the chain.
Fixes scan-build null dereference warning and makes the code clearer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360031
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Mon, 6 May 2019 10:21:17 +0000 (10:21 +0000)]
[CodeGen] Move X86 tests under the X86 directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360029
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Mon, 6 May 2019 10:15:34 +0000 (10:15 +0000)]
[X86] X86InstrInfo::findThreeSrcCommutedOpIndices - fix unread variable warning.
scan-build was reporting that CommutableOpIdx1 never used its original initialized value - move it down to where its first used to make the real initialization more obvious (and matches the comment that's there).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360028
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Mon, 6 May 2019 10:11:24 +0000 (10:11 +0000)]
[X86] lowerVectorShuffle - use any_of to detect out of bounds shuffle indices. NFCI.
Fixes cppcheck local shadow warning as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360027
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Mon, 6 May 2019 10:04:23 +0000 (10:04 +0000)]
[Analysis] Remove duplicated std::move from LocRange constructor
scan-build was reporting that we were referencing a moved variable - in fact we were moving it twice.....
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360025
91177308-0d34-0410-b5e6-
96231b3b80d8
Guillaume Chatelet [Mon, 6 May 2019 09:46:50 +0000 (09:46 +0000)]
[NFC] Update memcpy tests
Summary: Runs utils/update_llc_test_checks.py on a few memcpy files
Reviewers: courbet
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61507
Remove cfi noise by adding nounwind
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360023
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Mon, 6 May 2019 09:24:36 +0000 (09:24 +0000)]
[X86] Move files to correct directories after D60552
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360022
91177308-0d34-0410-b5e6-
96231b3b80d8
Clement Courbet [Mon, 6 May 2019 09:15:22 +0000 (09:15 +0000)]
[SimplifyLibCalls] Simplify bcmp too.
Summary: Fixes PR40699.
Reviewers: gchatelet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61585
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360021
91177308-0d34-0410-b5e6-
96231b3b80d8
Pengfei Wang [Mon, 6 May 2019 08:31:18 +0000 (08:31 +0000)]
[NFC] This is a test for the commit access.
Summary: Signed-off-by: Pengfei Wang <pengfei.wang@intel.com>
Reviewers: LuoYuanke
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61580
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360019
91177308-0d34-0410-b5e6-
96231b3b80d8
Luo, Yuanke [Mon, 6 May 2019 08:22:37 +0000 (08:22 +0000)]
Enable AVX512_BF16 instructions, which are supported for BFLOAT16 in Cooper Lake
Summary:
1. Enable infrastructure of AVX512_BF16, which is supported for BFLOAT16 in Cooper Lake;
2. Enable VCVTNE2PS2BF16, VCVTNEPS2BF16 and DPBF16PS instructions, which are Vector Neural Network Instructions supporting BFLOAT16 inputs and conversion instructions from IEEE single precision.
VCVTNE2PS2BF16: Convert Two Packed Single Data to One Packed BF16 Data.
VCVTNEPS2BF16: Convert Packed Single Data to Packed BF16 Data.
VDPBF16PS: Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
For more details about BF16 isa, please refer to the latest ISE document: https://software.intel.com/en-us/download/intel-architecture-instruction-set-extensions-programming-reference
Author: LiuTianle
Reviewers: craig.topper, smaslov, LuoYuanke, wxiao3, annita.zhang, RKSimon, spatel
Reviewed By: craig.topper
Subscribers: kristina, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60550
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360017
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Mon, 6 May 2019 08:03:46 +0000 (08:03 +0000)]
DWARF v5: fix directory index in the line table
Summary:
Prior to DWARF v5, a directory index of 0 represents DW_AT_comp_dir.
In DWARF v5, the index starts with 0 and Entry.DirIdx is the index into
Prologue.IncludeDirectories.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D61253
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360015
91177308-0d34-0410-b5e6-
96231b3b80d8
Markus Lavin [Mon, 6 May 2019 07:20:56 +0000 (07:20 +0000)]
[DebugInfo] GlobalOpt DW_OP_deref_size instead of DW_OP_deref.
Optimization pass lib/Transforms/IPO/GlobalOpt.cpp needs to insert
DW_OP_deref_size instead of DW_OP_deref to be compatible with big-endian
targets for same reasons as in D59687.
Differential Revision: https://reviews.llvm.org/D60611
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360013
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Waldenborg [Mon, 6 May 2019 06:42:06 +0000 (06:42 +0000)]
[llvm-c] Make LLVMGetStringErrorTypeId a proper prototype
In C a function declaration with an empty argument list isn't a real
prototype, it will allow calling the function with any number of
arguments. It will also cause warnings when used in C code compiled with
'-Wstrict-prototypes'
Reviewed By: whitequark
Differential Revision: https://reviews.llvm.org/D61568
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360012
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 6 May 2019 04:01:49 +0000 (04:01 +0000)]
[SelectionDAG] Replace llvm_unreachable at the end of getCopyFromParts with a report_fatal_error.
Based on PR41748, not all cases are handled in this function.
llvm_unreachable is treated as an optimization hint than can prune code paths
in a release build. This causes weird behavior when PR41748 is encountered on a
release build. It appears to generate an fp_round instruction from the floating
point code.
Making this a report_fatal_error prevents incorrect optimization of the code
and will instead generate a message to file a bug report.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360008
91177308-0d34-0410-b5e6-
96231b3b80d8
Petr Hosek [Mon, 6 May 2019 01:25:31 +0000 (01:25 +0000)]
[libcxxabi] Don't use -fvisibility-global-new-delete-hidden when not defining them
When builing the hermetic static library, the compiler switch
-fvisibility-global-new-delete-hidden is necessary to get the new and
delete operator definitions made correctly. However, when those
definitions are not included in the library, then this switch does harm.
With lld (though not all linkers) setting STV_HIDDEN on SHN_UNDEF
symbols makes it an error to leave them undefined or defined via dynamic
linking that should generate PLTs for -shared linking (lld makes this a
hard error even without -z defs). Though leaving the symbols undefined
would usually work in practice if the linker were to allow it (and the
user didn't pass -z defs), this actually indicates a real problem that
could bite some target configurations more subtly at runtime. For
example, x86-32 ELF -fpic code generation uses hidden visibility on
declarations in the caller's scope as a signal that the call will never
be resolved to a PLT entry and so doesn't have to meet the special ABI
requirements for PLT calls (setting %ebx). Since these functions might
actually be resolved to PLT entries at link time (we don't know what the
user is linking in when the hermetic library doesn't provide all the
symbols itself), it's not safe for the compiler to treat their
declarations at call sites as having hidden visibility.
Differential Revision: https://reviews.llvm.org/D61572
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360004
91177308-0d34-0410-b5e6-
96231b3b80d8
Petr Hosek [Mon, 6 May 2019 01:22:28 +0000 (01:22 +0000)]
[libcxx] Don't use -fvisibility-global-new-delete-hidden when not defining them
When builing the hermetic static library, the compiler switch
-fvisibility-global-new-delete-hidden is necessary to get the new and
delete operator definitions made correctly. However, when those
definitions are not included in the library, then this switch does harm.
With lld (though not all linkers) setting STV_HIDDEN on SHN_UNDEF
symbols makes it an error to leave them undefined or defined via dynamic
linking that should generate PLTs for -shared linking (lld makes this a
hard error even without -z defs). Though leaving the symbols undefined
would usually work in practice if the linker were to allow it (and the
user didn't pass -z defs), this actually indicates a real problem that
could bite some target configurations more subtly at runtime. For
example, x86-32 ELF -fpic code generation uses hidden visibility on
declarations in the caller's scope as a signal that the call will never
be resolved to a PLT entry and so doesn't have to meet the special ABI
requirements for PLT calls (setting %ebx). Since these functions might
actually be resolved to PLT entries at link time (we don't know what the
user is linking in when the hermetic library doesn't provide all the
symbols itself), it's not safe for the compiler to treat their
declarations at call sites as having hidden visibility.
Differential Revision: https://reviews.llvm.org/D61571
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360003
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 20:45:20 +0000 (20:45 +0000)]
[X86] Pull out repeated Subtarget feature tests. NFCI.
Avoids a scan-build "uninitialized value" warning in X86FastISel::X86SelectFPExtOrFPTrunc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360001
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 20:23:45 +0000 (20:23 +0000)]
[TargetLowering] getValueType - use dyn_cast directly to find VectorType. NFCI.
Matches what we do in other getValueType functions and fixes a null dereference warning in scan-build.
Also cleans up the rest of the function - use auto and standardize the variable names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360000
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 20:03:51 +0000 (20:03 +0000)]
[TTI][X86] Make getAddressComputationCost cost value const. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359999
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Lebedev [Sun, 5 May 2019 18:59:45 +0000 (18:59 +0000)]
[NFC] BasicBlock: generalize replaceSuccessorsPhiUsesWith(), take Old bb
Thus it does not assume that the old basic block is the basic block
for which we are looking at successors.
Not reviewed, but seems rather trivial, in line with the rest of
previous few patches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359997
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Lebedev [Sun, 5 May 2019 18:59:39 +0000 (18:59 +0000)]
[NFC] BasicBlock: refactor changePhiUses() out of replacePhiUsesWith(), use it
Summary:
It is a common thing to loop over every `PHINode` in some `BasicBlock`
and change old `BasicBlock` incoming block to a new `BasicBlock` incoming block.
`replaceSuccessorsPhiUsesWith()` already had code to do that,
it just wasn't a function.
So outline it into a new function, and use it.
Reviewers: chandlerc, craig.topper, spatel, danielcdh
Reviewed By: craig.topper
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61013
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359996
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Lebedev [Sun, 5 May 2019 18:59:30 +0000 (18:59 +0000)]
[NFC] PHINode: introduce replaceIncomingBlockWith() function, use it
Summary:
There is `PHINode::getBasicBlockIndex()`, `PHINode::setIncomingBlock()`
and `PHINode::getNumOperands()`, but no function to replace every
specified `BasicBlock*` predecessor with some other specified `BasicBlock*`.
Clearly, there are a lot of places that could use that functionality.
Reviewers: chandlerc, craig.topper, spatel, danielcdh
Reviewed By: craig.topper
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61011
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359995
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Lebedev [Sun, 5 May 2019 18:59:22 +0000 (18:59 +0000)]
[NFC] Instruction: introduce replaceSuccessorWith() function, use it
Summary:
There is `Instruction::getNumSuccessors()`, `Instruction::getSuccessor()`
and `Instruction::setSuccessor()`, but no function to replace every
specified `BasicBlock*` successor with some other specified `BasicBlock*`.
I've found one place where it should clearly be used.
Reviewers: chandlerc, craig.topper, spatel, danielcdh
Reviewed By: craig.topper
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61010
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359994
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Lebedev [Sun, 5 May 2019 18:59:12 +0000 (18:59 +0000)]
[NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI instruction
Summary:
If `deleteDeadLoop()` is called on such a loop, that has "bad" exit block,
one that e.g. has no terminator instruction, the `DIBuilder::insertDbgValueIntrinsic()`
will be told to insert the Dbg Value Intrinsic after `nullptr`
(since there is no first non-PHI instruction), which will cause it to not insert
those instructions into any basic block. The instructions will be parent-less,
and IR verifier will complain. It is rather obvious to track down the root cause
when that happens, so let's just assert it never happens.
Reviewers: sanjoy, davide, vsk
Reviewed By: vsk
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61008
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359993
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 18:34:38 +0000 (18:34 +0000)]
Move getOpcode() call into if statement. NFCI.
Avoids a cppcheck "Local variable name shadows outer variable" warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359991
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron McInally [Sun, 5 May 2019 18:22:09 +0000 (18:22 +0000)]
Precommit an FNeg InstructionSimplify test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359990
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 17:53:09 +0000 (17:53 +0000)]
[SLPVectorizer] Prefer pre-increments. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359989
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 5 May 2019 17:46:17 +0000 (17:46 +0000)]
[LLParser] Remove unused variable after r359987. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359988
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 5 May 2019 17:19:23 +0000 (17:19 +0000)]
[LLParser] Remove unnecessary error check making sure NUW/NSW flags aren't set on a non-integer operation.
Summary: This check appears to be a leftover from when add/sub/mul could be either integer or fp. The NSW/NUW flags are only set for add/sub/mul/shl earlier. And we check that those operations only have integer types just below this. So it seems unnecessary to explicitly error for NUW/NSW being used on a add/sub/mul that have the wrong type that would later error for that.
Reviewers: spatel, dblaikie, jyknight, arsenm
Reviewed By: spatel
Subscribers: wdng, llvm-commits, hiraditya
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61562
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359987
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 5 May 2019 17:19:19 +0000 (17:19 +0000)]
[LLParser] Simplify type checking in ParseArithmetic and ParseUnaryOp.
Summary:
These methods previously took a 0, 1, or 2 to indicate what types were allowed, but the 0 encoding which meant both fp and integer types has been unused for years. Its leftover from when add/sub/mul used to be shared between int and fp
Simplify it by changing it to just a bool to distinquish int and fp.
Reviewers: spatel, dblaikie, jyknight, arsenm
Reviewed By: spatel
Subscribers: wdng, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61561
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359986
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 5 May 2019 17:19:16 +0000 (17:19 +0000)]
[Constants] Simplify type checking switch in ConstantExpr::get.
Summary:
Remove duplicate checks that both operands have the same type. This is checked
before the switch.
Use 'integer' or 'floating-point' instead of 'arithmetic' type. I think this
might be a leftover to the days when floating point and integer operations
shared the same opcodes.
Reviewers: spatel, RKSimon, dblaikie
Reviewed By: RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61558
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359985
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrea Di Biagio [Sun, 5 May 2019 16:07:27 +0000 (16:07 +0000)]
[MCA] Notify event listeners when instructions transition to the Pending state. NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359983
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron McInally [Sun, 5 May 2019 16:07:09 +0000 (16:07 +0000)]
Add FNeg IR constant folding support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359982
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 12:51:47 +0000 (12:51 +0000)]
[X86] Make X86RegisterInfo(const Triple &TT) constructor explicit.
Fixes cppcheck warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359981
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 12:00:14 +0000 (12:00 +0000)]
[X86] Fix some cppcheck "Local variable name shadows outer variable" warnings. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359976
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 10:37:38 +0000 (10:37 +0000)]
[SLPVectorizer] Make getSpillCost() const. NFCI.
Ideally getTreeCost() should be const as well but non-const Type creation would need to be addressed first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359975
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 10:30:04 +0000 (10:30 +0000)]
[SelectionDAG] Use any_of/all_of where possible. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359974
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 5 May 2019 10:27:45 +0000 (10:27 +0000)]
Move Value *RHSCIOp def into the scope where its actually used. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359973
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron McInally [Sat, 4 May 2019 14:56:08 +0000 (14:56 +0000)]
Add InstCombine tests for FNeg instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359970
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 4 May 2019 12:46:32 +0000 (12:46 +0000)]
[CodeGenPrepare] limit overflow intrinsic matching to a single basic block (2nd try)
This is a subset of the original commit from rL359879
which was reverted because it could crash when using the 'RemovedInstructions'
structure that enables delayed deletion of dead instructions. The motivating
compile-time win does not require that change though. We should get most of
that win from this change alone.
Using/updating a dominator tree to match math overflow patterns may be very
expensive in compile-time (because of the way CGP uses a DT), so just handle
the single-block case.
See post-commit thread for rL354298 for more details:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-
20190422/646276.html
Differential Revision: https://reviews.llvm.org/D61075
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359969
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Sat, 4 May 2019 09:12:18 +0000 (09:12 +0000)]
[llvm-nm] Convert weak.test to use yaml2obj and fix unntested 'v'
This restores part of the good change reverted by r359830.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359965
91177308-0d34-0410-b5e6-
96231b3b80d8
Stanislav Mekhanoshin [Sat, 4 May 2019 06:40:20 +0000 (06:40 +0000)]
[AMDGPU] Fixed asan error after D61536
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359963
91177308-0d34-0410-b5e6-
96231b3b80d8
Stanislav Mekhanoshin [Sat, 4 May 2019 04:30:57 +0000 (04:30 +0000)]
AMDGPU] gfx1010 hazard recognizer
Differential Revision: https://reviews.llvm.org/D61536
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359961
91177308-0d34-0410-b5e6-
96231b3b80d8
Stanislav Mekhanoshin [Sat, 4 May 2019 04:20:37 +0000 (04:20 +0000)]
[AMDGPU] gfx1010: use fmac instructions
Differential Revision: https://reviews.llvm.org/D61527
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359959
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Sat, 4 May 2019 00:23:09 +0000 (00:23 +0000)]
[JITLink] Add two useful Section operations: find by name, get address range.
These operations were already used in eh-frame registration, and are likely to
be used in other runtime registrations, so this commit moves them into a header
where they can be re-used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359950
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Fri, 3 May 2019 22:47:29 +0000 (22:47 +0000)]
[x86] add tests for fneg IR with undef; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359941
91177308-0d34-0410-b5e6-
96231b3b80d8
Jessica Paquette [Fri, 3 May 2019 22:37:46 +0000 (22:37 +0000)]
[AArch64][GlobalISel] Use fcsel instead of csel for G_SELECT on FPRs
This saves us some unnecessary copies.
If the inputs to a G_SELECT are floating point, we should use fcsel rather than
csel.
Changes here are...
- Teach selectCopy about s1-to-s1 copies across register banks.
- AArch64RegisterBankInfo about G_SELECT in general.
- Teach the instruction selector about the FCSEL instructions.
Also add two tests:
- select-select.mir to show that we get the expected FCSEL
- regbank-select.mir (unfortunately named) to show the register banks on
G_SELECT are properly preserved
And update fast-isel-select.ll to show that we do the same thing as other
instruction selectors in these cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359940
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 3 May 2019 22:03:29 +0000 (22:03 +0000)]
Make the git-llvm script work on older git versions that don't support git rev-parse --git-common-dir.
Not all versions of git support git rev-parse --git-common-dir. Rather than erorr or print any kind of
useful error, they just print back '--git-common-dir' instead of a directory. The git-llvm script
ends up taking this '--git-common-dir' as a diretory name to use.
Not sure exactly what happens after that, but the end result is that the 'git llvm push' ends up
looking like it pushed your commits, but really did nothing.
This patch makes the script detect the bogus directory name for --git-common-dir and falls back to using --git-dir instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359939
91177308-0d34-0410-b5e6-
96231b3b80d8
Stanislav Mekhanoshin [Fri, 3 May 2019 21:53:53 +0000 (21:53 +0000)]
[AMDGPU] gfx1010 wait count insertion
Differential Revision: https://reviews.llvm.org/D61534
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359938
91177308-0d34-0410-b5e6-
96231b3b80d8
Stanislav Mekhanoshin [Fri, 3 May 2019 21:26:39 +0000 (21:26 +0000)]
[AMDGPU] gfx1010 s_code_end generation
Also add some missing metadata in the streamer.
Differential Revision: https://reviews.llvm.org/D61531
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359937
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron McInally [Fri, 3 May 2019 21:19:12 +0000 (21:19 +0000)]
Update PatternMatcher for FNeg
Match both FNeg(X) and FSub(+-0.0, X) in FNeg_match
Differential Revision: https://reviews.llvm.org/D61520
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359936
91177308-0d34-0410-b5e6-
96231b3b80d8
Stanislav Mekhanoshin [Fri, 3 May 2019 21:17:29 +0000 (21:17 +0000)]
[AMDGPU] gfx1010 loop alignment
Differential Revision: https://reviews.llvm.org/D61529
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359935
91177308-0d34-0410-b5e6-
96231b3b80d8
Mandeep Singh Grang [Fri, 3 May 2019 21:12:36 +0000 (21:12 +0000)]
[COFF, ARM64] Fix ABI implementation of struct returns
Summary:
Refer the ABI doc at: https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2019#return-values
Related clang patch: D60349
Reviewers: rnk, efriedma, TomTan, ssijaric
Reviewed By: rnk, efriedma
Subscribers: mstorsjo, javed.absar, kristof.beyls, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60348
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359934
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 19:06:57 +0000 (19:06 +0000)]
Reapply r359906, "RegAllocFast: Add heuristic to detect values not live-out of a block"
This reverts commit r359912.
This should pass now, since the clang test was made less fragile in
r359918.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359919
91177308-0d34-0410-b5e6-
96231b3b80d8
Don Hinton [Fri, 3 May 2019 18:56:25 +0000 (18:56 +0000)]
[CommandLine] Enable Grouping for short options by default. Part 4 of 5
Summary:
This change enables `cl::Grouping` for short options --
options with names of a single character. This is consistent with GNU
getopt behavior.
Reviewers: rnk, MaskRay
Reviewed By: MaskRay
Subscribers: thopre, cfe-commits, MaskRay, rupprecht, hiraditya, llvm-commits
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D61270
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359917
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 18:20:28 +0000 (18:20 +0000)]
[DAGCombine] Remove repeated variables. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359915
91177308-0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Fri, 3 May 2019 18:08:03 +0000 (18:08 +0000)]
Revert r359906, "RegAllocFast: Add heuristic to detect values not live-out of a block"
Makes clang/test/Misc/backend-stack-frame-diagnostics-fallback.cpp fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359912
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 18:02:33 +0000 (18:02 +0000)]
[TargetLowering] SimplifySetCC - remove repeated variable. NFCI.
Also reduce scope of Temp variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359911
91177308-0d34-0410-b5e6-
96231b3b80d8
Don Hinton [Fri, 3 May 2019 17:47:29 +0000 (17:47 +0000)]
[CommandLine] Change help output to prefix long options with `--` instead of `-`. NFC . Part 3 of 5
Summary:
By default, `parseCommandLineOptions()` will accept either a
`-` or `--` prefix for long options -- options with names longer than
a single character.
While this change does not affect behavior, it will be helpful with a
subsequent change that requires long options use the `--` prefix.
Reviewers: rnk, thopre
Reviewed By: thopre
Subscribers: thopre, cfe-commits, hiraditya, llvm-commits
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D61269
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359909
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Fri, 3 May 2019 17:31:49 +0000 (17:31 +0000)]
Revert "[CodeGenPrepare] limit overflow intrinsic matching to a single basic block"
This reverts commit r359879, which introduced a compiler crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359908
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 17:03:24 +0000 (17:03 +0000)]
RegAllocFast: Add heuristic to detect values not live-out of a block
Add an improved/new heuristic to catch more cases when values are not
live out of a basic block.
Patch by Matthias Braun
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359906
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Cain [Fri, 3 May 2019 16:50:38 +0000 (16:50 +0000)]
[hexagon] change AsmParser assertion to error
For immediates that can't be evaluated in assembler-mapped instructions, we
should return 'invalid operand' instead of assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359905
91177308-0d34-0410-b5e6-
96231b3b80d8
Yonghong Song [Fri, 3 May 2019 16:40:16 +0000 (16:40 +0000)]
[Docs][CodeGenerator][eBPF] Correct the values for BPF_X and BPF_K
Fix the values of BPF_X and BPF_K according to BPFInstrFormats.td:
"
def BPF_K : BPFSrcType<0x0>;
def BPF_X : BPFSrcType<0x1>;
"
The right value for BPF_X is 0x1, and the right value for BPF_K is 0x0.
Signed-off-by: Wang YanQing <udknight@gmail.com>
Differential Revision: https://reviews.llvm.org/D61512
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359904
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 3 May 2019 16:15:15 +0000 (16:15 +0000)]
[X86] Allow assembly parser to accept x/y/z suffixes on non-memory vfpclassps/pd and on memory forms in intel syntax
The x/y/z suffix is needed to disambiguate the memory form in at&t syntax since no xmm/ymm/zmm register is mentioned.
But we should also allow it for the register and broadcast forms where its not needed for consistency. This matches gas.
The printing code will still only use the suffix for the memory form where it is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359903
91177308-0d34-0410-b5e6-
96231b3b80d8
Don Hinton [Fri, 3 May 2019 16:15:13 +0000 (16:15 +0000)]
[llvm] Revert r231274: "Devirtualize ~parser<T> by making it protected in base classes and making derived classes final"
Summary: This patch was previously applied in r231221, and reverted in
r231254 because it broke self-hosting. It was subsequently fixed and
reapplied in r231274. Unfortunately, making the `parser<T>` classes
final prevents inheritance which makes it impossible to implement
custom parsers.
Reverting r231221 restores the ability to customize parsers.
Reviewers: dblaikie
Reviewed By: dblaikie
Subscribers: craig.topper, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60955
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359902
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 15:56:06 +0000 (15:56 +0000)]
[X86] LowerToHorizontalOp - Tidyup calls to getHopForBuildVector. NFCI.
Merge the if() tests for the various HADD/SUB + Subtarget tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359901
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 15:50:37 +0000 (15:50 +0000)]
[SelectionDAG] CreateTopologicalOrder - don't use iterator
We shouldn't use an iterator to loop across a std::vector when the same loop is adding elements to that std::vector
Found by cppcheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359900
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 15:37:07 +0000 (15:37 +0000)]
AMDGPU: Select VOP3 form of sub
The VOP3 form should always be the preferred selection form to be
shrunk later.
The r600 sub test needs to be split out because it asserts on the
arguments in the new test during the calling convention lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359899
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 15:21:53 +0000 (15:21 +0000)]
AMDGPU: Support shrinking add with FI in SIFoldOperands
Avoids test regression in a future patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359898
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Lougher [Fri, 3 May 2019 15:14:19 +0000 (15:14 +0000)]
Revert r359549 - incorrect update of test checks. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359897
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Fri, 3 May 2019 15:09:53 +0000 (15:09 +0000)]
[x86] add tests for fneg with undefs; NFC
This was originally part of D61419.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359896
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 15:08:36 +0000 (15:08 +0000)]
AMDGPU: Remove redundant patterns for shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359895
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 15:08:35 +0000 (15:08 +0000)]
AMDGPU: Remove redundant patterns for sub
There were 2 patterns for sub, one selecting to sub and one to
subrev. Only one of these will succeed, so remove the reversed one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359894
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 14:54:38 +0000 (14:54 +0000)]
AMDGPU: Add baseline test for future patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359893
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 14:40:10 +0000 (14:40 +0000)]
AMDGPU: Replace shrunk instruction with dummy implicit_def
This was broken if the original operand was killed. The kill flag
would appear on both instructions, and fail the verifier. Keep the
kill flag, but remove the operands from the old instruction. This has
an added benefit of really reducing the use count for future folds.
Ideally the pass would be structured more like what PeepholeOptimizer
does to avoid this hack to avoid breaking instruction iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359891
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 14:38:24 +0000 (14:38 +0000)]
[TargetLowering] ShrinkDemandedConstant - reduce scope of TLO.DAG variable. NFCI.
Only ever used in one block
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359890
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 14:37:00 +0000 (14:37 +0000)]
[X86] Remove repeated variables. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359889
91177308-0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Fri, 3 May 2019 14:27:12 +0000 (14:27 +0000)]
gn build: Merge r359878
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359888
91177308-0d34-0410-b5e6-
96231b3b80d8
Sid Manning [Fri, 3 May 2019 14:14:01 +0000 (14:14 +0000)]
Let --discard-all imply --strip-debug.
This will match gnu strip's behavior.
Differential Revision: https://reviews.llvm.org/D61092
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359887
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 14:07:38 +0000 (14:07 +0000)]
[X86] Add X64 common prefixes and regenerate mul i64 tests
Noticed while reviewing D61472
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359886
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 13:55:40 +0000 (13:55 +0000)]
AMDGPU: Forgot to commit test file for r358890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359885
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 13:50:38 +0000 (13:50 +0000)]
Avoid cppcheck operator precedence warnings. NFCI.
Prefer ((X & Y) ? A : B) to (X & Y ? A : B)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359884
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 13:42:56 +0000 (13:42 +0000)]
AMDGPU: Fix incorrect commute with sub when folding immediates
When a fold of an immediate into a sub/subrev required shrinking the
instruction, the wrong VOP2 opcode was used. This was using the VOP2
equivalent of the original instruction, not the commuted instruction
with the inverted opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359883
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 3 May 2019 13:42:55 +0000 (13:42 +0000)]
AMDGPU: Fix test verification
This should run the verifier, and needs to enable trackRegLiveness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359882
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Fri, 3 May 2019 13:25:06 +0000 (13:25 +0000)]
[LICM] auto-generate complete test checks; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359881
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Fri, 3 May 2019 13:09:18 +0000 (13:09 +0000)]
[CodeGenPrepare] limit overflow intrinsic matching to a single basic block
Using/updating a dominator tree to match math overflow patterns may be very
expensive in compile-time (because of the way CGP uses a DT), so just handle
the single-block case.
Also, we were restarting the iterator loops when doing the overflow intrinsic
transforms by marking the dominator tree for update. That was done to prevent
iterating over a removed instruction. But we can postpone the deletion using
the existing "RemovedInsts" structure, and that means we don't need to update
the DT.
See post-commit thread for rL354298 for more details:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-
20190422/646276.html
Differential Revision: https://reviews.llvm.org/D61075
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359879
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Fertile [Fri, 3 May 2019 12:57:07 +0000 (12:57 +0000)]
[Object][XCOFF] Add an XCOFF dumper for llvm-readobj.
Patch adds support for dumping of file headers with llvm-readobj. XCOFF
object files are added to test dumping a well formed file, and dumping
both negative timestamps and negative symbol counts, both of which are
allowed in the XCOFF definition.
Differential Revision: https://reviews.llvm.org/D60878
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359878
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 12:55:25 +0000 (12:55 +0000)]
[TargetLowering] expandUnalignedStore - cleanup EVT variables. NFCI.
Avoid duplicated EVTs and rename Store/Load VTs to avoid -Wshadow warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359877
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Afanasyev [Fri, 3 May 2019 12:36:22 +0000 (12:36 +0000)]
Revert "[MIR] Add simple PRE pass to MachineCSE"
This reverts commit
9c20156de39b377190d7a91783d61877b303fe35.
It breaks stage 2 of clang-ppc64be-linux-multistage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359875
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 11:32:00 +0000 (11:32 +0000)]
[SelectionDAG] Use INT_MIN as (1 << 31) is UB for signed integers. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359873
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 11:11:03 +0000 (11:11 +0000)]
[SelectionDAG] computeKnownBits - remove some duplicate/shadow variables. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359872
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 10:32:07 +0000 (10:32 +0000)]
[X86] LowerMULH - remove unused Lo/Hi vector indices. NFCI.
Leftover from before we had the extract128BitVector helpers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359871
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Afanasyev [Fri, 3 May 2019 10:30:59 +0000 (10:30 +0000)]
[MIR] Add simple PRE pass to MachineCSE
This is the second part of the commit fixing PR38917 (hoisting
partitially redundant machine instruction). Most of PRE (partitial
redundancy elimination) and CSE work is done on LLVM IR, but some of
redundancy arises during DAG legalization. Machine CSE is not enough
to deal with it. This simple PRE implementation works a little bit
intricately: it passes before CSE, looking for partitial redundancy
and transforming it to fully redundancy, anticipating that the next
CSE step will eliminate this created redundancy. If CSE doesn't
eliminate this, than created instruction will remain dead and eliminated
later by Remove Dead Machine Instructions pass.
The third part of the commit is supposed to refactor MachineCSE,
to make it more clear and to merge MachinePRE with MachineCSE,
so one need no rely on further Remove Dead pass to clear instrs
not eliminated by CSE.
First step: https://reviews.llvm.org/D54839
Fixes llvm.org/PR38917
Reviewers: RKSimon
Subscribers: hfinkel, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D56772
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359870
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Fri, 3 May 2019 10:13:41 +0000 (10:13 +0000)]
Reduce variable scope to just the if() block its actually used in. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359869
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 3 May 2019 07:14:05 +0000 (07:14 +0000)]
[X86] Add more one checks to masked compare patterns that were missed in r358358.
This covers the patterns we use for widening 128/256 comparisons to 512-bit when
AVX512VL isn't supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359863
91177308-0d34-0410-b5e6-
96231b3b80d8