llvm-project/llvm/test/CodeGen/X86/GlobalISel
Quentin Colombet e77e5f44b8 [GlobalISel][Utils] Add a getConstantVRegVal variant that looks through instrs
getConstantVRegVal used to only look for G_CONSTANT when looking at
unboxing the value of a vreg. However, constants are sometimes not
directly used and are hidden behind trunc, s|zext or copy chain of
computation.

In particular this may be introduced by the legalization process that
doesn't want to simplify these patterns because it can lead to infine
loop when legalizing a constant.

To circumvent that problem, add a new variant of getConstantVRegVal,
named getConstantVRegValWithLookThrough, that allow to look through
extensions.

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

llvm-svn: 356116
2019-03-14 01:37:13 +00:00
..
GV.ll
add-ext.ll Copy utilities updated and added for MI flags 2018-09-19 18:52:08 +00:00
add-scalar.ll [x86] allow 8-bit adds to be promoted by convertToThreeAddress() to form LEA 2018-12-12 17:58:27 +00:00
add-vec.ll
and-scalar.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
ashr-scalar.ll [GlobalISel][Utils] Add a getConstantVRegVal variant that looks through instrs 2019-03-14 01:37:13 +00:00
avoid-matchtable-crash.mir
binop.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
br.ll
brcond.ll Correct dwarf unwind information in function epilogue 2018-04-24 10:32:08 +00:00
callingconv.ll [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
calllowering-nocrashret.ll [GISel]: Remove an incorrect assert in CallLowering 2018-09-28 15:08:49 +00:00
cmp.ll
constant.ll Revert r345165 "[X86] Bring back the MOV64r0 pseudo instruction" 2018-10-31 21:53:24 +00:00
ext-x86-64.ll GlobalISel: Allow shift amount to be a different type 2019-01-22 21:42:11 +00:00
ext.ll GlobalISel: Allow shift amount to be a different type 2019-01-22 21:42:11 +00:00
fadd-scalar.ll
fconstant.ll
fdiv-scalar.ll
fmul-scalar.ll
fpext-scalar.ll
frameIndex.ll Correct dwarf unwind information in function epilogue 2018-04-24 10:32:08 +00:00
fsub-scalar.ll
gep.ll GlobalISel: Allow shift amount to be a different type 2019-01-22 21:42:11 +00:00
inttoptr.ll
irtranslator-callingconv.ll GlobalISel: Fix creating MMOs with align 0 2019-01-31 01:38:47 +00:00
legalize-add-v128.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-add-v256.mir [X86] Regenerate legalize test files 2019-03-01 13:13:40 +00:00
legalize-add-v512.mir [X86] Regenerate legalize test files 2019-03-01 13:13:40 +00:00
legalize-add.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
legalize-and-scalar.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
legalize-ashr-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-brcond.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-cmp.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-constant.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-ext-x86-64.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
legalize-ext.mir [GlobalISel] Fix the artifact combiner to fold G_IMPLICIT_DEF properly 2018-10-10 18:01:48 +00:00
legalize-fadd-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-fdiv-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-fmul-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-fneg.mir [AArch64][GlobalISel] Add some missing vector support for FP arithmetic ops. 2019-01-28 02:28:22 +00:00
legalize-fpext-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-fptrunc-scalar.mir [GlobalISel][X86] Add the support for G_FPTRUNC 2018-08-31 11:26:51 +00:00
legalize-fsub-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-gep.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-insert-vec256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-insert-vec512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-lshr-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-memop-scalar-32.mir GlobalISel: Verify memory size for load/store 2019-01-30 01:10:42 +00:00
legalize-memop-scalar-64.mir GlobalISel: Verify memory size for load/store 2019-01-30 01:10:42 +00:00
legalize-mul-scalar.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
legalize-mul-v128.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-mul-v256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-mul-v512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-or-scalar.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
legalize-phi.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-shl-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-sub-v128.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-sub-v256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-sub-v512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
legalize-sub.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
legalize-trunc.mir GlobalISel: Verify memory size for load/store 2019-01-30 01:10:42 +00:00
legalize-undef.mir [GlobalISel] Fix the artifact combiner to fold G_IMPLICIT_DEF properly 2018-10-10 18:01:48 +00:00
legalize-xor-scalar.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
lit.local.cfg
lshr-scalar.ll [GlobalISel][Utils] Add a getConstantVRegVal variant that looks through instrs 2019-03-14 01:37:13 +00:00
memop-scalar-x32.ll
memop-scalar.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
memop-vec.ll
mul-scalar.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
mul-vec.ll
or-scalar.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
phi.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
ptrtoint.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
regbankselect-AVX2.mir
regbankselect-AVX512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
regbankselect-X32.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
regbankselect-X86_64.mir [GlobalISel][X86] Add the support for G_FPTRUNC 2018-08-31 11:26:51 +00:00
select-GV-32.mir GlobalISel: Verify memory size for load/store 2019-01-30 01:10:42 +00:00
select-GV-64.mir GlobalISel: Verify memory size for load/store 2019-01-30 01:10:42 +00:00
select-add-v128.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-add-v256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-add-v512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-add-x32.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-add.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-and-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-ashr-scalar.mir GlobalISel: Enforce operand types for constants 2019-02-04 23:29:31 +00:00
select-blsi.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-blsr.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-br.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-brcond.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-cmp.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-constant.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-copy.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-ext-x86-64.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-ext.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-extract-vec256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-extract-vec512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-fadd-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-fconstant.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-fdiv-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-fmul-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-fpext-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-fptrunc-scalar.mir [GlobalISel][X86] Add the support for G_FPTRUNC 2018-08-31 11:26:51 +00:00
select-fsub-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-gep.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-inc.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-insert-vec256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-insert-vec512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-intrinsic-x86-flags-read-u32.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-leaf-constant.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-lshr-scalar.mir GlobalISel: Enforce operand types for constants 2019-02-04 23:29:31 +00:00
select-memop-scalar-x32.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
select-memop-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-memop-v128.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-memop-v256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-memop-v512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-merge-vec256.mir [GlobalISel] Restrict G_MERGE_VALUES capability and replace with new opcodes. 2018-12-10 18:44:58 +00:00
select-merge-vec512.mir [GlobalISel] Restrict G_MERGE_VALUES capability and replace with new opcodes. 2018-12-10 18:44:58 +00:00
select-mul-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-mul-vec.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-or-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-phi.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-shl-scalar.mir GlobalISel: Enforce operand types for constants 2019-02-04 23:29:31 +00:00
select-sub-v128.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-sub-v256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-sub-v512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-sub.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-trunc.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-undef.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-unmerge-vec256.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-unmerge-vec512.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
select-xor-scalar.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
shl-scalar-widening.ll [x86] allow 8-bit adds to be promoted by convertToThreeAddress() to form LEA 2018-12-12 17:58:27 +00:00
shl-scalar.ll [GlobalISel][Utils] Add a getConstantVRegVal variant that looks through instrs 2019-03-14 01:37:13 +00:00
sub-scalar.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
sub-vec.ll
trunc.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00
undef.ll [x86] don't try to convert add with undef operands to LEA 2018-12-09 14:40:37 +00:00
x32-select-frameIndex.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86-legalize-GV.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86-legalize-inttoptr.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-legalize-ptrtoint.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-legalize-sdiv.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86-legalize-srem.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-legalize-udiv.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86-legalize-urem.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-select-frameIndex.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86-select-inttoptr.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-select-ptrtoint.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-select-sdiv.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86-select-srem.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-select-trap.mir [GlobalIsel][X86] Support for llvm.trap intrinsic 2018-08-31 11:05:13 +00:00
x86-select-udiv.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86-select-urem.mir MIR: Reject non-power-of-4 alignments in MMO parsing 2019-01-30 23:09:28 +00:00
x86_64-fallback.ll GlobalISel: Consolidate load/store legalization 2019-02-05 00:26:12 +00:00
x86_64-irtranslator-struct-return.ll [GlobalISel] Rewrite CallLowering::lowerReturn to accept multiple VRegs per Value 2018-08-02 08:33:31 +00:00
x86_64-irtranslator.ll [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-legalize-GV.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-legalize-fcmp.mir [GlobalIsel][X86] Support for G_FCMP 2018-08-31 09:38:27 +00:00
x86_64-legalize-fptosi.mir [GlobalISel][X86_64] Support for G_FPTOSI 2018-08-31 11:16:58 +00:00
x86_64-legalize-inttoptr.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-legalize-ptrtoint.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-legalize-sdiv.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-legalize-sitofp.mir [GISel]: Change how CSE is enabled by default for each pass 2019-01-24 23:11:25 +00:00
x86_64-legalize-srem.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-legalize-udiv.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-legalize-urem.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-legalize-zext.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-select-fcmp.mir [GlobalIsel][X86] Support for G_FCMP 2018-08-31 09:38:27 +00:00
x86_64-select-fptosi.mir [GlobalISel][X86_64] Support for G_FPTOSI 2018-08-31 11:16:58 +00:00
x86_64-select-frameIndex.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-select-inttoptr.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-select-ptrtoint.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-select-sdiv.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
x86_64-select-sitofp.mir Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
x86_64-select-srem.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-select-udiv.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-select-urem.mir [GlobalIsel][X86] Support G_UDIV/G_UREM/G_SREM 2018-10-08 13:40:34 +00:00
x86_64-select-zext.mir [globalisel] Remove redundant -global-isel option from tests that use -run-pass. NFC 2018-05-05 21:19:59 +00:00
xor-scalar.ll Fix line-endings. NFCI. 2018-09-20 10:59:08 +00:00