llvm-6502/lib
Vasileios Kalintiris 31f9936bf5 [mips] Support SELECT nodes for targets that don't have conditional-move instructions.
Summary:
For Mips targets that do not have conditional-move instructions, ie. targets
before MIPS32 and MIPS-IV, we have to insert a diamond control-flow
pattern in order to support SELECT nodes. In order to do that, we add
pseudo-instructions with a custom inserter that emits the necessary
control-flow that selects the correct value.

With this patch we add complete support for code generation of Mips-II targets
based on the LLVM test-suite.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D6212

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224124 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-12 14:41:37 +00:00
..
Analysis Fix PR21694. r219517 added a use of SCEV divide in HowFarToZero computation. This divide can produce incorrect results as we are using an unsigned divide for what should be a modular divide. This change reverts back to a more conservative computation using trailing zeros. 2014-12-10 22:53:52 +00:00
AsmParser AsmParser: Don't crash on an ill-formed MDNodeVector 2014-12-11 20:51:54 +00:00
Bitcode Bitcode: Add missing "Remove in 4.0" comments 2014-12-12 02:11:31 +00:00
CodeGen Revert: [MachineScheduler] Fix for PR21807: minor code difference building with/without -g. 2014-12-12 13:34:03 +00:00
DebugInfo
ExecutionEngine Move three methods only used by MCJIT to MCJIT. 2014-12-10 20:46:55 +00:00
IR Document that PassManager::add() may delete the pass right away. 2014-12-12 01:27:01 +00:00
IRReader
LineEditor
Linker IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
LTO IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
MC clang-formatted ranged loops and assignment, NFC. 2014-12-04 08:30:39 +00:00
Object Move three methods only used by MCJIT to MCJIT. 2014-12-10 20:46:55 +00:00
Option
ProfileData
Support Remove a convoluted way of calling close by moving the call to the only caller. 2014-12-11 20:12:55 +00:00
TableGen Use range-based for loops. NFC 2014-12-11 07:04:54 +00:00
Target [mips] Support SELECT nodes for targets that don't have conditional-move instructions. 2014-12-12 14:41:37 +00:00
Transforms This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads, 2014-12-12 12:53:44 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile