llvm-project/llvm/lib/CodeGen/GlobalISel
Marcello Maggioni c596584f67 [GlobalISel] Fix inserting copies in the right position for reg definitions
When constrainRegClass is called if the constraining happens on a use the COPY
needs to be inserted before the instruction that contains the MachineOperand,
but if we are constraining a definition it actually needs to be added
after the instruction. In addition, the COPY needs to have its operands
flipped (in the use case we are copying from the old unconstrained register
to the new constrained register, while in the definition case we are copying
from the new constrained register that the instruction defines to the old
unconstrained register).

llvm-svn: 359282
2019-04-26 07:21:56 +00:00
..
CMakeLists.txt [GISel]: Add support for CSEing continuously during GISel passes. 2019-01-16 00:40:37 +00:00
CSEInfo.cpp [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only. 2019-04-15 05:04:20 +00:00
CSEMIRBuilder.cpp Re-apply r353553 "[GISel][NFC]: Add missing call to record CSE hits in the CSEMIRBuilder" 2019-02-08 23:34:11 +00:00
CallLowering.cpp [GlobalISel] Fix a crash when handling an invalid MVT during call lowering. 2019-04-12 22:05:46 +00:00
Combiner.cpp [GISel][NFC]: Add methods to speed up insertion into GISelWorklist 2019-02-15 01:37:54 +00:00
CombinerHelper.cpp [AArch64][GlobalISel] Don't do extending loads combine for non-pow-2 types. 2019-04-15 22:34:08 +00:00
GISelChangeObserver.cpp [AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix a crash. 2019-04-13 00:33:25 +00:00
GlobalISel.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IRTranslator.cpp [GlobalISel] Add IRTranslator support for G_FNEARBYINT 2019-04-25 16:39:28 +00:00
InstructionSelect.cpp [GlobalISel] Make isel verification checks of vregs run under NDEBUG only. 2019-03-16 01:02:10 +00:00
InstructionSelector.cpp [GlobalISel] Fix inserting copies in the right position for reg definitions 2019-04-26 07:21:56 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LegalityPredicates.cpp GlobalISel: Add alignment to LegalityQuery MMOs 2019-02-14 22:41:09 +00:00
LegalizeMutations.cpp GlobalISel: Try to make legalize rules more useful for vectors 2019-02-07 17:25:51 +00:00
Legalizer.cpp [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only. 2019-04-15 05:04:20 +00:00
LegalizerHelper.cpp [GlobalISel][AArch64] Legalize G_FNEARBYINT 2019-04-25 16:44:40 +00:00
LegalizerInfo.cpp Change some llvm::{lower,upper}_bound to llvm::bsearch. NFC 2019-04-17 07:58:05 +00:00
Localizer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MachineIRBuilder.cpp [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only. 2019-04-15 05:04:20 +00:00
RegBankSelect.cpp [IR] Refactor attribute methods in Function class (NFC) 2019-04-04 22:40:06 +00:00
RegisterBank.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterBankInfo.cpp GlobalISel: Fix RegBankSelect for REG_SEQUENCE 2019-03-21 20:45:36 +00:00
Utils.cpp [GlobalISel] Fix inserting copies in the right position for reg definitions 2019-04-26 07:21:56 +00:00