- Apr 03, 2012
-
-
Craig Topper authored
llvm-svn: 153935
-
Andrew Trick authored
llvm-svn: 153922
-
Andrew Trick authored
I just noticed Jakob's examples of the proper application of std::set... routines. llvm-svn: 153918
-
- Apr 02, 2012
-
-
Silviu Baranga authored
llvm-svn: 153875
-
Benjamin Kramer authored
This way we can get AVX v-prefixed instructions tail merged with the normal insns. llvm-svn: 153869
-
Craig Topper authored
Reorder fields in MatchEntry and OperandMatchEntry to reduce padding. A bit tricky due to the target specific sizes for some of the fields so the ordering is only optimal for the targets in the tree. llvm-svn: 153865
-
Craig Topper authored
Remove getInstructionName from MCInstPrinter implementations in favor of using the instruction name table from MCInstrInfo. Reduces static data in the InstPrinter implementations. llvm-svn: 153863
-
Craig Topper authored
llvm-svn: 153857
-
- Apr 01, 2012
-
-
Craig Topper authored
Use SequenceToOffsetTable to create instruction name table. Saves space particularly on X86 where AVX instructions just add a 'v' to the front of other instructions. llvm-svn: 153841
-
Benjamin Kramer authored
This also avoids emitting the information twice, which led to code bloat. On i386-linux-Release+Asserts with all targets built this change shaves a whopping 1.3 MB off clang. The number is probably exaggerated by recent inliner changes but the methods were already enormous with the old inline cost computation. The DWARF reg -> LLVM reg mapping doesn't seem to have holes in it, so it could be a simple lookup table. I didn't implement that optimization yet to avoid potentially changing functionality. There is still some duplication both in tablegen and the generated code that should be cleaned up eventually. llvm-svn: 153837
-
- Mar 31, 2012
-
-
Andrew Trick authored
llvm-svn: 153796
-
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
-
Benjamin Kramer authored
It's slow, bloated and completely redundant with MCRegisterClass::contains. llvm-svn: 153782
-
- Mar 30, 2012
-
-
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
-
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
-
- Mar 29, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 153667
-
- Mar 28, 2012
-
-
Jakob Stoklund Olesen authored
The arm_neon intrinsics can create virtual registers from the DPair register class which allows both even-odd and odd-even D-register pairs. This fixes PR12389. llvm-svn: 153603
-
- Mar 26, 2012
-
-
Chris Lattner authored
llvm-svn: 153457
-
Benjamin Kramer authored
llvm-svn: 153432
-
- Mar 23, 2012
-
-
Benjamin Kramer authored
llvm-svn: 153328
-
- Mar 20, 2012
-
-
Evan Cheng authored
llvm-svn: 153125
-
- Mar 16, 2012
-
-
Craig Topper authored
llvm-svn: 152906
-
Craig Topper authored
Const-correct the FixedLenDecoderEmitter. Pass a few things by const reference instead of value to avoid some copying. llvm-svn: 152899
-
Craig Topper authored
Spacing fixes. Mostly aligning arguments that spilled onto next line with the opening parenthese instead of 2 spaces in. llvm-svn: 152889
-
Craig Topper authored
Remove unused field NumVariable from Filter class. Even it was needed the same result could be found with VariableInstructions.size(). Also fix some typos in comments. llvm-svn: 152885
-
- Mar 15, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 152840
-
Jakob Stoklund Olesen authored
We currently assume that all targets have less than 64k opcodes. We shouldn't limit it further. llvm-svn: 152833
-
Jakob Stoklund Olesen authored
We cannot limit the concatenated instruction names to 64K. ARM is already at 32K, and it is easy to imagine a target with more instructions. llvm-svn: 152817
-
Jakob Stoklund Olesen authored
This patch limited the concatenated register names to 64K which meant that the total number of registers was many times less than 64K. If any compilers actually enforce the 64K limit on string literals, and it turns out to be a problem, we should fix that problem by not using long string literals. llvm-svn: 152816
-
- Mar 13, 2012
-
-
Craig Topper authored
Remove unused field from FixedLenDecoderEmitter. Move NumberedInstructions declaration from class to run method since its only used there and was being reinitialized anyway. llvm-svn: 152616
-
- Mar 12, 2012
-
-
Benjamin Kramer authored
llvm-svn: 152581
-
- Mar 11, 2012
-
-
Craig Topper authored
llvm-svn: 152538
-
Craig Topper authored
Shrink and reorder some fields in MCOperandInfo to fit it in 8 bytes to reduce size of static tables. llvm-svn: 152524
-
- Mar 09, 2012
-
-
Kevin Enderby authored
prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. llvm-svn: 152414
-
NAKAMURA Takumi authored
~0U might be i32 on 32-bit hosts, then (uint64_t)~0U might not be expected as (i64)0xFFFFFFFF_FFFFFFFF, but as (i64)0x00000000_FFFFFFFF. llvm-svn: 152407
-
- Mar 08, 2012
-
-
Craig Topper authored
llvm-svn: 152301
-