1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/lib/CodeGen/GlobalISel
Diana Picus 1704a62e0b [ARM] GlobalISel: Legalize G_FCMP for s32
This covers both hard and soft float.

Hard float is easy, since it's just Legal.

Soft float is more involved, because there are several different ways to
handle it based on the predicate: one and ueq need not only one, but two
libcalls to get a result. Furthermore, we have large differences between
the values returned by the AEABI and GNU functions.

AEABI functions return a nice 1 or 0 representing true and respectively
false. GNU functions generally return a value that needs to be compared
against 0 (e.g. for ogt, the value returned by the libcall is > 0 for
true).  We could introduce redundant comparisons for AEABI as well, but
they don't seem easy to remove afterwards, so we do different processing
based on whether or not the result really needs to be compared against
something (and just truncate if it doesn't).

llvm-svn: 307243
2017-07-06 09:09:33 +00:00
..
CallLowering.cpp [IR] Abstract away ArgNo+1 attribute indexing as much as possible 2017-05-03 18:17:31 +00:00
CMakeLists.txt Prune trailing whitespace. (To regenerate makefiles) 2017-05-28 22:54:25 +00:00
GlobalISel.cpp [GlobalISel] Add a localizer pass for target to use 2017-05-27 01:34:00 +00:00
InstructionSelect.cpp ARM: Compute MaxCallFrame size early 2017-05-05 22:04:05 +00:00
InstructionSelector.cpp [globalisel][tablegen] Finish fixing compile-time regressions by merging the matcher and emitter state machines. 2017-07-05 14:50:18 +00:00
IRTranslator.cpp [GISel]: New Opcode G_FLOG/G_FLOG2 2017-06-29 23:43:44 +00:00
Legalizer.cpp GlobalISel: remove G_SEQUENCE instruction. 2017-06-23 16:15:55 +00:00
LegalizerHelper.cpp [ARM] GlobalISel: Legalize G_FCMP for s32 2017-07-06 09:09:33 +00:00
LegalizerInfo.cpp GlobalISel: add G_IMPLICIT_DEF instruction. 2017-06-30 20:27:36 +00:00
LLVMBuild.txt Revert "Get GlobalISel to build on Linux after r286407" 2016-11-16 22:24:59 +00:00
Localizer.cpp [Localizer] Don't trick to be smart for the insertion point 2017-05-30 20:53:06 +00:00
MachineIRBuilder.cpp [MachineIRBuilder] Fix formatting. NFC. 2017-07-05 11:47:23 +00:00
RegBankSelect.cpp GlobalISel: verify that a COPY is trivial when created. 2017-06-27 21:41:40 +00:00
RegisterBank.cpp Move size and alignment information of regclass to TargetRegisterInfo 2017-04-24 18:55:33 +00:00
RegisterBankInfo.cpp [RegisterBankInfo] Uniquely allocate instruction mapping. 2017-05-05 22:48:22 +00:00
Utils.cpp [globalisel][tablegen] Add support for COPY_TO_REGCLASS. 2017-06-20 12:36:34 +00:00