llvm-6502/lib
Mihai Popa 8b36f9e431 Fix Thumb2 aliasing complementary instructions taking modified immediates
There are many Thumb instructions which take 12-bit immediates encoded in a special
8-byte value + 4-byte rotator form. Not all numbers are represented, and it's legal
to transform an assembly instruction to be able to encode the immediate.

For example: AND and BIC are complementary instructions; one can switch the AND
to a BIC as long as the immediate is complemented. 

The intent is to switch one instruction into its complementary one when the immediate
cannot be encoded in the form requested in the original assembly and when the 
complementary immediate is encodable.

The patch addresses two issues:
1. definition of t2SOImmNot immediate - it has to check that the orignal value is
not encoded naturally
2. t2AND and t2BIC instruction aliases which should use the Thumb2 SOImm operand 
rather than the ARM one.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188548 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-16 11:55:44 +00:00
..
Analysis Fix an oversight in isPotentiallyReachable where we wouldn't do any CFG-walking 2013-08-13 00:03:47 +00:00
AsmParser Target/X86: Add explicit Win64 and System V/x86-64 calling conventions. 2013-07-12 06:02:35 +00:00
Bitcode Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
CodeGen [SystemZ] Use SRST to implement strlen and strnlen 2013-08-16 11:41:43 +00:00
DebugInfo Store compile unit corresponding to each chain of inlined debug info entries. No functionality change. 2013-08-06 10:49:15 +00:00
ExecutionEngine Support X86_64_GOTLoad relocations in RuntimeDyldMachO by treating them the 2013-08-15 22:31:40 +00:00
IR [Mips][msa] Value types for MSA support. 2013-08-13 22:34:26 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker
MC Support C99 hexadecimal floating-point literals in assembly 2013-08-14 14:23:31 +00:00
Object Add back missing PPC relocation types. 2013-08-09 09:42:14 +00:00
Option Options: explicit handling of -- 2013-08-13 22:23:05 +00:00
Support Tighten up the yamilizer so it stops eliding empty sequences if the embedded empty sequence is the first key/value in a map which is itself in a sequence. 2013-08-15 23:17:53 +00:00
TableGen Remove some std stream usage from Support and TableGen 2013-08-06 22:51:21 +00:00
Target Fix Thumb2 aliasing complementary instructions taking modified immediates 2013-08-16 11:55:44 +00:00
Transforms InstCombine: Simplify if(x!=0 && x!=-1). 2013-08-16 00:15:20 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile