llvm-project/llvm/test/CodeGen/X86/GlobalISel
Amara Emerson cf12c7815f [GlobalISel] Translate calls to memcpy et al to G_INTRINSIC_W_SIDE_EFFECTs and legalize later.
I plan on adding memcpy optimizations in the GlobalISel pipeline, but we can't
do that unless we delay lowering to actual function calls. This patch changes
the translator to generate G_INTRINSIC_W_SIDE_EFFECTS for these functions, and
then have each target specify that using the new custom legalizer for intrinsics
hook that they want it expanded it a libcall.

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

llvm-svn: 366516
2019-07-19 00:24:45 +00:00
..
GV.ll
add-ext.ll [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly. 2019-05-25 06:17:47 +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
callingconv.ll [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly. 2019-05-25 06:17:47 +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
fsub-scalar.ll
gep.ll [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly. 2019-05-25 06:17:47 +00:00
inttoptr.ll
irtranslator-callingconv.ll [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only. 2019-04-15 05:04:20 +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 [AArch64][GlobalISel] Make s8 and s16 G_CONSTANTs legal. 2019-06-21 16:43:50 +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] Enable CSE in the IRTranslator & legalizer for -O0 with constants only. 2019-04-15 05:04:20 +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 [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly. 2019-05-25 06:17:47 +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 [X86] Merge the different Jcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:28:09 +00:00
select-cmp.mir [X86] Merge the different SETcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:27:49 +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 [X86] Introduce new MOVSSrm/MOVSDrm opcodes that use VR128 register class. 2019-06-18 03:23:11 +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-unordered.mir [X86][GlobalISEL] Support lowering aligned unordered atomics 2019-03-15 17:50:30 +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 [X86] Merge the different Jcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:28:09 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
x86-legalize-ptrtoint.mir Describe stack-id as an enum 2019-06-17 09:13:29 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
x86-select-frameIndex.mir Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
x86-select-inttoptr.mir Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
x86-select-ptrtoint.mir Describe stack-id as an enum 2019-06-17 09:13:29 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
x86-select-urem.mir Describe stack-id as an enum 2019-06-17 09:13:29 +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] Translate calls to memcpy et al to G_INTRINSIC_W_SIDE_EFFECTs and legalize later. 2019-07-19 00:24:45 +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 [X86] Merge the different SETcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:27:49 +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 Describe stack-id as an enum 2019-06-17 09:13:29 +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