llvm-project/llvm/lib/CodeGen/GlobalISel
Matt Arsenault 02b5ca8cd1 GlobalISel: Implement lower for S64->S32 [SU]ITOFP
This is ported from the custom AMDGPU DAG implementation. I think this
is a better default expansion than what the DAG currently uses, at
least if the target has CTLZ.

This implements the signed version in terms of the unsigned
conversion, which is implemented with bit operations. SelectionDAG has
several other implementations that should eventually be ported
depending on what instructions are legal.

llvm-svn: 361081
2019-05-17 23:05:13 +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 G_FCOPYSIGN 2019-05-16 04:08:39 +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] Improve Legalizer debug output 2019-04-29 18:45:59 +00:00
LegalizerHelper.cpp GlobalISel: Implement lower for S64->S32 [SU]ITOFP 2019-05-17 23:05:13 +00:00
LegalizerInfo.cpp [globalisel] Improve Legalizer debug output 2019-04-29 18:45:59 +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: Define integer min/max instructions 2019-05-17 18:36:31 +00:00
RegBankSelect.cpp [GlobalISel] Fix -Wsign-compare on 32-bit -DLLVM_ENABLE_ASSERTIONS=on builds 2019-05-17 05:53:39 +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