- Sep 15, 2011
-
-
Jakob Stoklund Olesen authored
Fix the stats counters to reflect that. llvm-svn: 139819
-
Bruno Cardoso Lopes authored
take into consideration the presence of AVX. This change, together with the SSEDomainFix enabled for AVX, makes AVX codegen to always (hopefully) emit the same code as SSE for 128-bit vector ops. I don't have a testcase for this, but AVX now beats SSE in performance for 128-bit ops in the majority of programas in the llvm testsuite llvm-svn: 139817
-
Bruno Cardoso Lopes authored
llvm-svn: 139816
-
Jakob Stoklund Olesen authored
The number of spills could go negative since a folded COPY is just a spill, and it may be eliminated. llvm-svn: 139815
-
Jim Grosbach authored
llvm-svn: 139813
-
Jim Grosbach authored
llvm-svn: 139811
-
Jim Grosbach authored
llvm-svn: 139810
-
Benjamin Kramer authored
llvm-svn: 139808
-
Jim Grosbach authored
Assembler private local symbols aren't legal targets of symbol attributes, so issue a diagnostic for them. Based on patch by Stepan Dyatkovskiy. llvm-svn: 139807
-
Jakob Stoklund Olesen authored
Adjust counters when removing spill and reload instructions. We still don't account for reloads being removed by eliminateDeadDefs(). llvm-svn: 139806
-
Benjamin Kramer authored
llvm-svn: 139799
-
Jim Grosbach authored
If we see an EOF w/o a preceding end-of-line, return an EndOfStatement token before returning the Eof token. Based on patch by Stepan Dyatkovskiy. llvm-svn: 139798
-
Jakob Stoklund Olesen authored
When traceSiblingValue() encounters a PHI-def value created by live range splitting, don't look at all the predecessor blocks. That can be very expensive in a complicated CFG. Instead, consider that all the non-PHI defs jointly dominate all the PHI-defs. Tracing directly to all the non-PHI defs is much faster that zipping around in the CFG when there are many PHIs with many predecessors. This significantly improves compile time for indirectbr interpreters. llvm-svn: 139797
-
Jim Grosbach authored
llvm-svn: 139796
-
Jim Grosbach authored
llvm-svn: 139795
-
Jim Grosbach authored
llvm-svn: 139794
-
Jakob Stoklund Olesen authored
The getPrevIndex() function moves to the same slot in the previous instruction. For getVNInfoBefore(), we just need the previous slot in the same instruction. llvm-svn: 139793
-
Jakob Stoklund Olesen authored
Blocks with multiple PHI successors only need to go on the worklist once. Use a SmallPtrSet to track the live-out blocks that have already been handled. This is a lot faster than the two live range check we would otherwise do. Also stop recomputing hasPHIKill flags. Like RenumberValues(), it is conservatively correct to leave them in, and they are not used for anything important. llvm-svn: 139792
-
Jakob Stoklund Olesen authored
It does, after all. RemoveCopyByCommutingDef rewrites the uses of one particular value number in A. It doesn't know how to rewrite phi uses, so there can't be any. llvm-svn: 139787
-
Benjamin Kramer authored
llvm-svn: 139786
-
Nick Lewycky authored
DW_AT_GNU_template_name = 0x2110, not 0x2108. That would explain those attr #0x2110 under the DW_TAG_GNU_template_template_param I'm seeing. Migrate from documented values to reality. llvm-svn: 139785
-
Nick Lewycky authored
1. http://gcc.gnu.org/wiki/TemplateParmsDwarf 2. ftp://ftp.software.ibm.com/software/os390/czos/dwarf/mips_extensions.pdf llvm-svn: 139784
-
Jakob Stoklund Olesen authored
There is only one legitimate use remaining, in addIntervalsForSpills(). All other calls to hasPHIKill() are only used to update PHIKill flags. The addIntervalsForSpills() function is part of the old spilling framework, only used by linearscan. llvm-svn: 139783
-
Jakob Stoklund Olesen authored
Instead, let HasOtherReachingDefs() test for defs in B that overlap any phi-defs in A as well. This test is slightly different, but almost identical. A perfectly precise test would only check those phi-defs in A that are reachable from AValNo. llvm-svn: 139782
-
Jakob Stoklund Olesen authored
The source live range is recomputed using shrinkToUses() which does handle phis correctly. The hasPHIKill() condition was relevant in the old days when ReMaterializeTrivialDef() tried to recompute the live range itself. The shrinkToUses() function will mark the original def as dead when no more uses and phi kills remain. It is then removed by runOnMachineFunction(). llvm-svn: 139781
-
Jakob Stoklund Olesen authored
It is conservatively correct to keep the hasPHIKill flags, even after deleting PHI-defs. The calculation can be very expensive after taildup has created a quadratic number of indirectbr edges in the CFG, and the hasPHIKill flag isn't used for anything after RenumberValues(). llvm-svn: 139780
-
Nick Lewycky authored
Note that DW_TAG_rvalue_reference_type is officially 0x42, not 0x41. llvm-svn: 139779
-
Benjamin Kramer authored
Thanks Nick! llvm-svn: 139778
-
Benjamin Kramer authored
llvm-svn: 139777
-
Nick Lewycky authored
llvm-svn: 139776
-
Benjamin Kramer authored
llvm-svn: 139775
-
Benjamin Kramer authored
llvm-svn: 139774
-
Benjamin Kramer authored
llvm-svn: 139773
-
Benjamin Kramer authored
The llvm-dwarfdump output isn't very verbose yet. llvm-svn: 139771
-
Eli Friedman authored
llvm-svn: 139768
-
Andrew Trick authored
An improper SlotIndex->VNInfo lookup was leading to unsafe copy removal. Fixes PR10920 401.bzip2 miscompile with no IV rewrite. llvm-svn: 139765
-
Eli Friedman authored
Fix the code creating VZEXT_LOAD so that it creates the right memoperand. Issue spotted in -debug output. I can't think of any practical effects at the moment, but it might matter if we start doing more aggressive alias analysis in CodeGen. llvm-svn: 139758
-
Jim Grosbach authored
llvm-svn: 139757
-
Jim Grosbach authored
llvm-svn: 139756
-
Douglas Gregor authored
will ignore the erasedOnReboot option, and properly escape the backslash in "C:\TEMP". Thanks to Aaron and Francois. llvm-svn: 139755
-