llvm-project/llvm/lib
Jim Grosbach d6a1a1dc2f ARM: Don't form a t2LDRi8 or t2STRi8 with an offset of zero.
The load/store optimizer splits LDRD/STRD into two instructions when the
register pairing doesn't work out. For negative offsets in Thumb2, it uses
t2STRi8 to do that. That's fine, except for the case when the offset is in
the range [-4,-1]. In that case, we'll also form a second t2STRi8 with
the original offset plus 4, resulting in a t2STRi8 with a non-negative
offset, which ends up as if it were an STRT, which is completely bogus.
Similarly for loads.

No testcase, unfortunately, as any I've been able to construct is both large
and extremely fragile.

rdar://11193937

llvm-svn: 154141
2012-04-05 23:51:24 +00:00
..
Analysis Always compute all the bits in ComputeMaskedBits. 2012-04-04 12:51:34 +00:00
Archive Include cstdio in a few place that depended on getting it transitively through StringExtras.h 2012-03-23 11:35:30 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode llvm::SwitchInst 2012-03-11 06:09:17 +00:00
CodeGen Patch to set is_stmt a little better for prologue lines in a function. 2012-04-05 20:39:05 +00:00
DebugInfo Fix a C++11 UDL conflict. 2012-04-04 20:33:56 +00:00
ExecutionEngine Removing a file that's no longer being used after the recent refactorings 2012-04-01 06:50:01 +00:00
Linker It's possible for two types, which are isomorphic, to be added to the 2012-03-23 23:17:38 +00:00
MC Move getOpcodeName from the various target InstPrinters into the superclass MCInstPrinter. 2012-04-02 08:32:38 +00:00
Object Object: drop bogus VMCore dependency 2012-04-03 15:48:10 +00:00
Support In MemoryBuffer::getOpenFile() make sure that the buffer is null-terminated if 2012-04-05 04:23:56 +00:00
TableGen Fix infinite loop in nested multiclasses. 2012-03-07 16:39:35 +00:00
Target ARM: Don't form a t2LDRi8 or t2STRi8 with an offset of zero. 2012-04-05 23:51:24 +00:00
Transforms Fix accidentally inverted logic from r152803, and make the 2012-04-05 20:27:21 +00:00
VMCore The speedup doesn't appear to have been from this, but was an anomaly of my testing machine. 2012-04-03 11:19:21 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00