- Mar 31, 2012
-
-
Andrew Trick authored
First small step toward modeling multi-register multi-pressure. In the future, register units can also be used to model liveness and aliasing. llvm-svn: 153794
-
Jakob Stoklund Olesen authored
ARMConstantIslandPass still has bugs where jump table compression can cause constant pool entries to go out of range. Add a safety margin of 2 bytes when placing constant islands, but use the real max displacement for verification. <rdar://problem/11156595> llvm-svn: 153789
-
Jakob Stoklund Olesen authored
llvm-svn: 153788
-
Bill Wendling authored
into the function. * Reorder some header files. llvm-svn: 153783
-
Benjamin Kramer authored
It's slow, bloated and completely redundant with MCRegisterClass::contains. llvm-svn: 153782
-
- Mar 30, 2012
-
-
Jim Grosbach authored
The 8-bit payload is not contiguous in the opcode. Move the upper nibble over 4 bits into the correct place. rdar://11158641 llvm-svn: 153780
-
Jakob Stoklund Olesen authored
This allows suffix sharing in register names. (AX is a suffix of EAX). llvm-svn: 153777
-
Jakob Stoklund Olesen authored
Use an explicit comparator instead of the default. The sets are sorted, but not using the default comparator. Hopefully, this will unbreak the Linux builders. llvm-svn: 153772
-
Rafael Espindola authored
--enable-expensive-checks build. llvm-svn: 153771
-
Jim Grosbach authored
When an immediate is both a value [t2_]so_imm and a [t2_]so_imm_neg, we want to use the non-negated form to make sure we prefer the normal encoding, not the aliased encoding via the negation of, e.g., 'cmp.w'. llvm-svn: 153770
-
Jim Grosbach authored
Make the non-tied register operand names line up with what the base class encoding handler expects. rdar://11157236 llvm-svn: 153766
-
Jim Grosbach authored
llvm-svn: 153765
-
Jakob Stoklund Olesen authored
Many register classes have the same value types. Share the table space. llvm-svn: 153764
-
Jakob Stoklund Olesen authored
TableGen emits lists of sub-registers, super-registers, and overlaps. Put them all in a single table and use a SequenceToOffsetTable to share suffixes. llvm-svn: 153761
-
Jakob Stoklund Olesen authored
This is similar to the StringToOffsetTable we use to produce string tables, but it can be used for other sequences than strings, and it eliminates entries for suffixes. llvm-svn: 153760
-
Jim Grosbach authored
For 'adds r2, r2, #56' outside of an IT block, the 16-bit encoding T2 can be used for this syntax. Prefer the narrow encoding when possible. rdar://11156277 llvm-svn: 153759
-
Rafael Espindola authored
needed for correctness, but still doesn't clean up code that now unnecessary checks for reachability. llvm-svn: 153755
-
Danil Malyshev authored
1. The main works will made in the RuntimeDyLdImpl with uses the ObjectFile class. RuntimeDyLdMachO and RuntimeDyLdELF now only parses relocations and resolve it. This is allows to make improvements of the RuntimeDyLd more easily. In addition the support for COFF can be easily added. 2. Added ARM relocations to RuntimeDyLdELF. 3. Added support for stub functions for the ARM, allowing to do a long branch. 4. Added support for external functions that are not loaded from the object files, but can be loaded from external libraries. Now MCJIT can correctly execute the code containing the printf, putc, and etc. 5. The sections emitted instead functions, thanks Jim Grosbach. MemoryManager.startFunctionBody() and MemoryManager.endFunctionBody() have been removed. 6. MCJITMemoryManager.allocateDataSection() and MCJITMemoryManager. allocateCodeSection() used JMM->allocateSpace() instead of JMM->allocateCodeSection() and JMM->allocateDataSection(), because I got an error: "Cannot allocate an allocated block!" with object file contains more than one code or data sections. llvm-svn: 153754
-
Jim Grosbach authored
Make sure to treat immediates as unsigned when doing relative comparisons. rdar://11153621 llvm-svn: 153753
-
Rafael Espindola authored
caused the slowdown last time. llvm-svn: 153747
-
Benjamin Kramer authored
llvm-svn: 153741
-
Bill Wendling authored
llvm-svn: 153740
-
James Molloy authored
Patch by Tim Northover! llvm-svn: 153737
-
Evan Cheng authored
ARM target should allow codegenprep to duplicate ret instructions to enable tailcall opt. rdar://11140249 llvm-svn: 153717
-
Bill Wendling authored
llvm-svn: 153711
-
Bill Wendling authored
llvm-svn: 153706
-
Bill Wendling authored
here but it has no other uses, then we have a problem. E.g., int foo (const int *x) { char a[*x]; return 0; } If we assign 'a' a vreg and fast isel later on has to use the selection DAG isel, it will want to copy the value to the vreg. However, there are no uses, which goes counter to what selection DAG isel expects. <rdar://problem/11134152> llvm-svn: 153705
-
Lang Hames authored
load. llvm-svn: 153704
-
Bill Wendling authored
llvm-svn: 153701
-
Jakob Stoklund Olesen authored
This pass splits basic blocks to insert constant islands, and it doesn't recompute the live-in lists. No later passes depend on accurate liveness information. This fixes PR12410 where the machine code verifier was complaining. llvm-svn: 153700
-
Jakob Stoklund Olesen authored
We are sometimes allocatinog from the DPair register class which contains odd-even pairs in addition to the Q registers. Place the Q registers first in the DPair allocation order as they can be copied with a single instruction. The odd-even pairs should only be allocated as a last resort. llvm-svn: 153699
-
Chandler Carruth authored
llvm-svn: 153697
-
- Mar 29, 2012
-
-
Lang Hames authored
vmov.f32. llvm-svn: 153696
-
Danil Malyshev authored
Added ExecutionEngine/MCJIT tests. llvm-svn: 153694
-
Eric Christopher authored
llvm-svn: 153691
-
Jim Grosbach authored
The CMP->CMN alias was matching for an immediate of zero when it should only match for negative values. rdar://11129224 llvm-svn: 153689
-
Lang Hames authored
testcase require asserts. llvm-svn: 153687
-
Jakob Stoklund Olesen authored
ARM recently gained DPair, DTriple, and DQuad register classes. Update copyPhysReg() to handle copies in these register classes. No test case, it is difficult to make the register allocator emit the odd copies reliably. The missing DPair copy caused a failure on partialsums in the nightly test suite. <rdar://problem/11147997> llvm-svn: 153686
-
Benjamin Kramer authored
llvm-svn: 153684
-
Lang Hames authored
llvm-svn: 153680
-