- Mar 05, 2012
-
-
Jim Grosbach authored
Used to allow context sensitive printing of super-register or sub-register references. llvm-svn: 152043
-
Bill Wendling authored
Patch by Sean Silva! llvm-svn: 152042
-
Chad Rosier authored
Specifically, remove the magic number when checking to see if the copy has a glue operand and simplify the checking logic. rdar://10930395 llvm-svn: 152041
-
Jakob Stoklund Olesen authored
This was testing the handling of sub-register coalescing followed by remat. The original problem was caused by the extra <imp-def> operands added by sub-register coalescing. Those <imp-def> operands are not added any longer, and the test case passes even when the original patch is reverted. llvm-svn: 152040
-
Sebastian Pop authored
In this update: - I assumed neon2 does not imply vfpv4, but neon and vfpv4 imply neon2. - I kept setting .fpu=neon-vfpv4 code attribute because that is what the assembler understands. Patch by Ana Pazos <apazos@codeaurora.org> llvm-svn: 152036
-
Sebastian Pop authored
llvm-svn: 152035
-
Sebastian Pop authored
llvm-svn: 152034
-
Nadav Rotem authored
llvm-svn: 152028
-
Duncan Sands authored
llvm-svn: 152027
-
Chandler Carruth authored
llvm-svn: 152026
-
Chandler Carruth authored
This implicitly fixes a nasty bug in the GVN hashing (that thankfully could only manifest as a performance bug): actually include the opcode in the hash. The old code started the hash off with the opcode, but then overwrote it with the type pointer. Since this is likely to be pretty hot (GVN being already pretty expensive) I've included a micro-optimization to just not bother with the varargs hashing if they aren't present. I can't measure any change in GVN performance due to this, even with a big test case like Duncan's sqlite one. Everything I see is in the noise floor. That said, this closes a loop hole for a potential scaling problem due to collisions if the opcode were the differentiating aspect of the expression. llvm-svn: 152025
-
Chandler Carruth authored
hashing infrastructure. I wonder why we don't just use StringMap here, and I may revisit the issue if I have time, but for now I'm just trying to consolidate. llvm-svn: 152023
-
Chandler Carruth authored
complains about the truncation of a 64-bit constant to a 32-bit value when size_t is 32-bits wide, but *only with static_cast*!!! The exact signal that should *silence* such a warning, and in fact does silence it with both GCC and Clang. Anyways, this was causing grief for all the MSVC builds, so pointless change made. Thanks to Nikola on IRC for confirming that this works. llvm-svn: 152021
-
Craig Topper authored
llvm-svn: 152019
-
Craig Topper authored
llvm-svn: 152016
-
Eli Friedman authored
llvm-svn: 152014
-
- Mar 04, 2012
-
-
Jakob Stoklund Olesen authored
The first def of a virtual register cannot also read the register. Assert on such bad machine code instead of trying to fix it. TwoAddressInstructionPass should never create code like that. llvm-svn: 152010
-
Jakob Stoklund Olesen authored
We are already setting <undef> flags, and that is good enough. The <imp-def> operands don't mean anything any more. llvm-svn: 152009
-
Jakob Stoklund Olesen authored
MachineOperands that define part of a virtual register must have an <undef> flag if they are not intended as read-modify-write operands. The old trick of adding an <imp-def> operand doesn't work any longer. Fixes PR12177. llvm-svn: 152008
-
Duncan Sands authored
equalities into phi node operands for which the equality is known to hold in the incoming basic block. That's because replaceAllDominatedUsesWith wasn't handling phi nodes correctly in general (that this didn't give wrong results was just luck: the specific way GVN uses replaceAllDominatedUsesWith precluded wrong changes to phi nodes). llvm-svn: 152006
-
Chandler Carruth authored
new hash_value infrastructure, and replace their implementations using hash_combine. This removes a complete copy of Jenkin's lookup3 hash function (which is both significantly slower and lower quality than the one implemented in hash_combine) along with a somewhat scary xor-only hash function. Now that APInt and APFloat can be passed directly to hash_combine, simplify the rest of the LLVMContextImpl hashing to use the new infrastructure. llvm-svn: 152004
-
Chandler Carruth authored
llvm-svn: 152003
-
Bill Wendling authored
Some BBs can become dead after codegen preparation. If we delete them here, it could help enable tail-call optimizations later on. <rdar://problem/10256573> llvm-svn: 152002
-
Craig Topper authored
llvm-svn: 152001
-
Chandler Carruth authored
llvm-svn: 152000
-
Chandler Carruth authored
llvm-svn: 151999
-
Craig Topper authored
llvm-svn: 151998
-
Craig Topper authored
llvm-svn: 151996
-
Craig Topper authored
Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o llvm-svn: 151995
-
- Mar 03, 2012
-
-
Benjamin Kramer authored
llvm-svn: 151986
-
Benjamin Kramer authored
- Shrink the opcode field to 16 bits. - Shrink the AsmVariantID field to 8 bits. - Store the mnemonic string in a string table, store a 16 bit index. - Store a pascal-style length byte in the string instead of a null terminator, so we can avoid calling strlen on every entry we visit during mnemonic search. Shrinks X86AsmParser.o from 434k to 201k on x86_64 and eliminates relocs from the table. llvm-svn: 151984
-
Benjamin Kramer authored
StringToOffsetTable: Allow uniquing the first element, add an option to skip appending a terminating null. llvm-svn: 151983
-
Benjamin Kramer authored
While at it bump the small vector size a bit, it's inside a heap-allocated class. llvm-svn: 151980
-
Rafael Espindola authored
llvm-svn: 151979
-
Duncan Sands authored
llvm-svn: 151977
-
Francois Pichet authored
Move the NonPOD struct out of the anonymous namespace instead of adding llvm:: everywhere to fix the HashingTest on MSVC . chandlerc proposed this better solution on IRC. llvm-svn: 151974
-
Duncan Sands authored
llvm-svn: 151973
-
Francois Pichet authored
llvm-svn: 151971
-
NAKAMURA Takumi authored
unittests/ADT/HashingTest.cpp: Temporarily disable a new test introduced in r151891, to appease msvc. llvm-svn: 151970
-
NAKAMURA Takumi authored
llvm-svn: 151968
-