SuccessChanges

Summary

  1. [ARM] Adjust isLegalT1AddressImmediate for non-legal types Types such as float and i64's do not have legal loads in Thumb1, but will still be loaded with a LDR (or potentially multiple LDR's). As such we can treat the cost of addressing mode calculations the same as an i32 and get some optimisation benefits. Differential Revision: https://reviews.llvm.org/D62968
  2. [ARM] Add MVE addressing to isLegalT2AddressImmediate Now with MVE being added, we can add the vector addressing mode costs for it. These are generally imm7 multiplied by the size of the type being loaded / stored. Differential Revision: https://reviews.llvm.org/D62967
  3. [ARM] Add fp16 addressing to isLegalT2AddressImmediate The fp16 version of VLDR takes a imm8 multiplied by 2. This updates the costs to account for those, and adds extra testing. It is dependant upon hasFPRegs16 as this is what the load/store instructions require. Differential Revision: https://reviews.llvm.org/D62966
Revision 362874 by dmgreen:
[ARM] Adjust isLegalT1AddressImmediate for non-legal types

Types such as float and i64's do not have legal loads in Thumb1, but will still
be loaded with a LDR (or potentially multiple LDR's). As such we can treat the
cost of addressing mode calculations the same as an i32 and get some optimisation
benefits.

Differential Revision: https://reviews.llvm.org/D62968
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpptrunk/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/test/Analysis/CostModel/ARM/gep.lltrunk/test/Analysis/CostModel/ARM/gep.ll
Revision 362873 by dmgreen:
[ARM] Add MVE addressing to isLegalT2AddressImmediate

Now with MVE being added, we can add the vector addressing mode costs for it.
These are generally imm7 multiplied by the size of the type being loaded /
stored.

Differential Revision: https://reviews.llvm.org/D62967
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpptrunk/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/test/Analysis/CostModel/ARM/gep.lltrunk/test/Analysis/CostModel/ARM/gep.ll
Revision 362872 by dmgreen:
[ARM] Add fp16 addressing to isLegalT2AddressImmediate

The fp16 version of VLDR takes a imm8 multiplied by 2. This updates the costs
to account for those, and adds extra testing. It is dependant upon hasFPRegs16
as this is what the load/store instructions require.

Differential Revision: https://reviews.llvm.org/D62966
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpptrunk/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/test/Analysis/CostModel/ARM/gep.lltrunk/test/Analysis/CostModel/ARM/gep.ll