llvm-project/llvm/lib
Daniel Sanders 3519dce968 [mips][msa] Fix invalid generated code when lowering FrameIndex involving unaligned offsets.
Summary:
The MSA ld.[bhwd] and st.[bhwd] instructions scale the immediate by the
element size before use as an offset. The offset must therefore be a
multiple of the element size to be valid in these instructions. However,
an unaligned base address is valid in MSA.

This commit causes the compiler to emit valid code when the calculated
offset is not a multiple of the element size by accounting for the offset
using addiu and using a zero offset in the load/store.

Depends on D2338

Reviewers: matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://llvm-reviews.chandlerc.com/D2339

llvm-svn: 196777
2013-12-09 12:47:12 +00:00
..
Analysis Don't #include heavy Dominators.h file in LoopInfo.h. This change reduces 2013-12-07 21:20:17 +00:00
AsmParser Debug Info: drop debug info via upgrading path if version number does not match. 2013-12-02 21:29:56 +00:00
Bitcode Remove unused value. 2013-12-07 02:27:52 +00:00
CodeGen Factor out the SchedRemainder/SchedBoundary from GenericScheduler strategy. 2013-12-07 05:59:44 +00:00
DebugInfo DebugInfo: Avoid emitting pubtype entries for type DIEs that just indirect to a type unit. 2013-11-26 00:22:37 +00:00
ExecutionEngine Whitespace cleanups. 2013-12-07 11:21:42 +00:00
IR Add getBitCastOrAddrSpaceCast 2013-12-07 02:58:41 +00:00
IRReader [llvm-c] Expose IRReader interface 2013-11-06 09:21:15 +00:00
LTO Remove the isImplicitlyPrivate argument of getNameWithPrefix. 2013-12-05 05:53:12 +00:00
Linker Revert "Move copying of global initializers below the cloning of functions." 2013-11-09 00:43:18 +00:00
MC Cache AllowAtInIdentifier as class variable in AsmLexer 2013-12-06 23:05:33 +00:00
Object Fix a pair of array index checks. 2013-12-06 02:33:38 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support Support: Fix handling of args that begin with @ but aren't files 2013-12-06 22:56:19 +00:00
TableGen Fix most memory leaks in tablegen. 2013-10-31 04:07:41 +00:00
Target [mips][msa] Fix invalid generated code when lowering FrameIndex involving unaligned offsets. 2013-12-09 12:47:12 +00:00
Transforms Revert 196544 due to internal bot failures. 2013-12-08 20:28:33 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00