]> granicus.if.org Git - llvm/commit
[GlobalISel][X86] Support G_STORE/G_LOAD operation
authorIgor Breger <igor.breger@intel.com>
Thu, 23 Mar 2017 15:25:57 +0000 (15:25 +0000)
committerIgor Breger <igor.breger@intel.com>
Thu, 23 Mar 2017 15:25:57 +0000 (15:25 +0000)
commit6a1a59e0623832eece31583d79e498c464e3fcee
tree62469499fe441c32e07b1049634824db4d732bea
parented770d47a518f400e778b9d1afa5c1fb3aaa9472
[GlobalISel][X86] Support G_STORE/G_LOAD operation

Summary:
1. Support pointer type as function argumnet and return value
2. G_STORE/G_LOAD - set legal action for i8/i16/i32/i64/f32/f64/vec128
3. RegisterBank - support typeless operations like G_STORE/G_LOAD, for scalar use GPR bank.
4. Support instruction selection for G_LOAD/G_STORE

Reviewers: zvi, rovka, ab, qcolombet

Reviewed By: rovka

Subscribers: llvm-commits, dberris, kristof.beyls, eladcohen, guyblank

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298609 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
lib/Target/X86/X86CallLowering.cpp
lib/Target/X86/X86GenRegisterBankInfo.def
lib/Target/X86/X86InstructionSelector.cpp
lib/Target/X86/X86InstructionSelector.h
lib/Target/X86/X86LegalizerInfo.cpp
lib/Target/X86/X86RegisterBankInfo.cpp
lib/Target/X86/X86RegisterBankInfo.h
test/CodeGen/X86/GlobalISel/X86-regbankselect.mir
test/CodeGen/X86/GlobalISel/binop-isel.ll
test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
test/CodeGen/X86/GlobalISel/memop-isel.ll [new file with mode: 0644]
test/CodeGen/X86/GlobalISel/x86_64-instructionselect.mir