- Mar 31, 2012
-
-
Benjamin Kramer authored
Internalize: Remove reference of @llvm.noinline, it was replaced with the noinline attribute a long time ago. llvm-svn: 153806
-
Bill Wendling authored
llvm-svn: 153805
-
Bill Wendling authored
llvm-svn: 153804
-
Bill Wendling authored
llvm-svn: 153803
-
Bill Wendling authored
llvm-svn: 153802
-
Chandler Carruth authored
one point, and I forgot to go back and clean it up. Sorry about that. =/ llvm-svn: 153801
-
Chandler Carruth authored
things around. llvm-svn: 153799
-
Duncan Sands authored
node and returning it if one didn't exist. llvm-svn: 153798
-
Hal Finkel authored
The powi intrinsic requires special handling because it always takes a single integer power regardless of the result type. As a result, we can vectorize only if the powers are equal. Fixes PR12364. llvm-svn: 153797
-
Andrew Trick authored
llvm-svn: 153796
-
Akira Hatanaka authored
llvm-svn: 153795
-
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
-