- Apr 13, 2012
-
-
Sirish Pande authored
llvm-svn: 154695
-
Benjamin Kramer authored
- Don't copy offsets into HashData, the underlying vector won't change once the table is finalized. - Allocate HashData and HashDataContents in a BumpPtrAllocator. - Allocate string map entries in the same allocator. - Random cleanups. llvm-svn: 154694
-
Evan Cheng authored
llvm-svn: 154689
-
Dan Gohman authored
llvm-svn: 154687
-
Kevin Enderby authored
targets so if the branch target has the high bit set it does not get printed as: beq 0xffffffff8008c404 llvm-svn: 154685
-
Dan Gohman authored
their argument as "escape" points for objc_retainBlock optimization. This fixes rdar://11229925. llvm-svn: 154682
-
Hal Finkel authored
As has been suggested by Duncan and others, Early-CSE and GVN should do similar redundancy elimination, but Early-CSE is much less expensive. Most of my autovectorization benchmarks show a performance regresion, but all of these are < 0.1%, and so I think that it is still worth using the less expensive pass. llvm-svn: 154673
-
Benjamin Kramer authored
llvm-svn: 154661
-
Craig Topper authored
Silence various build warnings from Hexagon backend that show up in release builds. Mostly converting 'assert(0)' to 'llvm_unreachable' to silence warnings about missing returns. Also fold some variable declarations into asserts to prevent the variables from being unused in release builds. llvm-svn: 154660
-
Dan Gohman authored
library return value optimization for phi uses. Even when the phi itself is not dominated, the specific use may be dominated. llvm-svn: 154647
-
Bill Wendling authored
obviously cannot know that this code is present, let alone used. So prevent the internalize pass from internalizing those global values which code-gen may insert. llvm-svn: 154645
-
Dan Gohman authored
optimizing autorelease calls on phi nodes with null operands. This fixes rdar://11207070. llvm-svn: 154642
-
Dan Gohman authored
as Eli noticed. llvm-svn: 154641
-
Dan Gohman authored
directly instead of a user Instruction. This allows them to test whether a def dominates a particular operand if the user instruction is a PHI. llvm-svn: 154631
-
Kevin Enderby authored
symbolic operands added when using the C disassembler API. llvm-svn: 154628
-
Ted Kremenek authored
llvm-svn: 154622
-
- Apr 12, 2012
-
-
Evandro Menezes authored
llvm-svn: 154620
-
Sirish Pande authored
llvm-svn: 154616
-
Preston Gurd authored
of zero-initialized sections, virtual sections and common symbols and preventing the loading of sections which are not required for execution such as debug information. Patch by Andy Kaylor! llvm-svn: 154610
-
Evan Cheng authored
Generalize r153635 to deal with TokenFactor chains; also clean up the logic and fix the tests. rdar://11069732, rdar://11236106 llvm-svn: 154604
-
Evandro Menezes authored
llvm-svn: 154597
-
Benjamin Kramer authored
llvm-svn: 154588
-
Craig Topper authored
llvm-svn: 154580
-
Jim Grosbach authored
They reference the PC directly, so things work properly that way. rdar://11231229 llvm-svn: 154576
-
Akira Hatanaka authored
otherwise expand FNEG during legalization. llvm-svn: 154546
-
Akira Hatanaka authored
Invalid operation is signaled if the operand of these instructions is NaN. llvm-svn: 154545
-
Kevin Enderby authored
of a VST instruction. llvm-svn: 154544
-
Akira Hatanaka authored
- FCOPYSIGN nodes that have operands of different types were not handled. - Different code was generated depending on the endianness of the target. Additionally, code is added that emits INS and EXT instructions, if they are supported by target (they are R2 instructions). llvm-svn: 154540
-
- Apr 11, 2012
-
-
Chad Rosier authored
llvm-svn: 154522
-
Jim Grosbach authored
While there is an encoding for it in VUZP, the result of that is undefined, so we should avoid it. Define the instruction as a pseudo for VTRN.32 instead, as the ARM ARM indicates. rdar://11222366 llvm-svn: 154511
-
Jim Grosbach authored
While there is an encoding for it in VZIP, the result of that is undefined, so we should avoid it. Define the instruction as a pseudo for VTRN.32 instead, as the ARM ARM indicates. rdar://11221911 llvm-svn: 154505
-
Sylvestre Ledru authored
Thanks to Pino Toscano for the patch llvm-svn: 154500
-
Benjamin Kramer authored
FoldingSet is implemented as a chained hash table. When there is a hash collision during insertion, which is common as we fill the table until a load factor of 2.0 is hit, we walk the chained elements, comparing every operand with the new element's operands. This can be very expensive if the MDNode has many operands. We sacrifice a word of space in MDNode to cache the full hash value, reducing compares on collision to a minimum. MDNode grows from 28 to 32 bytes + operands on x86. On x86_64 the new bits fit nicely into existing padding, not growing the struct at all. The actual speedup depends a lot on the test case and is typically between 1% and 2% for C++ code with clang -c -O0 -g. llvm-svn: 154497
-
Benjamin Kramer authored
llvm-svn: 154496
-
Benjamin Kramer authored
llvm-svn: 154495
-
Nadav Rotem authored
llvm-svn: 154494
-
Duncan Sands authored
binary and assembly. Patch by Carlo Kok. Emitting was inspired by but not based on the D llvm bindings. llvm-svn: 154493
-
Chandler Carruth authored
Yea, 'NumCallerCallersAnalyzed' isn't a great name, suggestions welcome. llvm-svn: 154492
-
Nadav Rotem authored
Fix a dagcombine optimization which assumes that the vsetcc result type is always of the same size as the compared values. This is ture for SSE/AVX/NEON but not for all targets. llvm-svn: 154490
-
-