- Jun 12, 2011
-
-
Rafael Espindola authored
we try to branch to them. Before we were creating successor lists with duplicated entries. Fixing that found a bug in isBlockOnlyReachableByFallthrough that would causes it to return the wrong answer for ----------- ... jne foo jmp bar foo: ---------- llvm-svn: 132882
-
- Jun 11, 2011
-
-
Chad Rosier authored
llvm-svn: 132872
-
Chad Rosier authored
llvm-svn: 132871
-
Eric Christopher authored
llvm-svn: 132863
-
- Jun 10, 2011
-
-
Rafael Espindola authored
llvm-svn: 132857
-
Cameron Zwarich authored
comment on their meaning. llvm-svn: 132854
-
Cameron Zwarich authored
llvm-svn: 132853
-
Cameron Zwarich authored
llvm-svn: 132852
-
Rafael Espindola authored
Thanks Bob Wilson for noticing it! llvm-svn: 132851
-
Chad Rosier authored
and definitions when emitting global variables. This was causing global declarations to be emitted as if they were definitions. Fixes <rdar://problem/9429892>. llvm-svn: 132825
-
Rafael Espindola authored
llvm-svn: 132822
-
Rafael Espindola authored
llvm-svn: 132821
-
Rafael Espindola authored
With this I am able to bootstrap clang with early tail duplication enabled for any small bb and setting tail-dup-size to a relatively large value(8) to stress this code. llvm-svn: 132816
-
Rafael Espindola authored
llvm-svn: 132814
-
Eli Friedman authored
Change this DAGCombine to build AND of SHR instead of SHR of AND; this matches the ordering we prefer in instcombine. Part of rdar://9562809. The potential DAGCombine which enforces this more generally messes up some other very fragile patterns, so I'm leaving that alone, at least for now. llvm-svn: 132809
-
- Jun 09, 2011
-
-
Rafael Espindola authored
eh edges. Swap the order of the checks to avoid it. llvm-svn: 132806
-
Rafael Espindola authored
llvm-svn: 132805
-
Rafael Espindola authored
No functionality change. llvm-svn: 132798
-
Eric Christopher authored
llvm-svn: 132776
-
Eric Christopher authored
llvm-svn: 132771
-
Eric Christopher authored
of the frame then increase the maximum alignment of the frame to match. Fixes PR6965 llvm-svn: 132764
-
Eric Christopher authored
No functional change. Part of PR6965 llvm-svn: 132763
-
- Jun 08, 2011
-
-
Andrew Trick authored
llvm-svn: 132751
-
Rafael Espindola authored
llvm-svn: 132749
-
Rafael Espindola authored
llvm-svn: 132748
-
Cameron Zwarich authored
operands to an early clobber register. This fixes <rdar://problem/9566076>. llvm-svn: 132738
-
Rafael Espindola authored
Fixes PR10095. llvm-svn: 132735
-
- Jun 07, 2011
-
-
Andrew Trick authored
I've been sitting on this long enough trying to find a test case. I think the fix should go in now, but I'll keep working on the test case. llvm-svn: 132701
-
Jakob Stoklund Olesen authored
When local live range splitting creates a live range with the same number of instructions as the old range, mark it as RS_Local. When such a range is seen again, require that it be split in a way that reduces the number of instructions. That guarantees we are making progress while still being able to perform 3 -> 2+3 splits as required by PR10070. This also means that the PrevSlot map is no longer needed. This was also used to estimate new spill weights, but that is no longer necessary after slotIndexes::insertMachineInstrInMaps() got the extra Late insertion argument. llvm-svn: 132697
-
- Jun 06, 2011
-
-
Jakob Stoklund Olesen authored
Only target-dependent hints require callbacks. The RCI allocation order has CSR aliases last according to their order of appearance in the getCalleeSavedRegs list. This can depend on the calling convention. This way, AllocationOrder::next doesn't have to check for reserved registers, and CSRs are always allocated last, even with weird calling conventions. llvm-svn: 132690
-
Nadav Rotem authored
legalize SDNodes such as BUILD_VECTOR, EXTRACT_VECTOR_ELT, etc. llvm-svn: 132689
-
Stuart Hastings authored
llvm-svn: 132681
-
Jakob Stoklund Olesen authored
The order of registers returned by getCalleeSavedRegs is used to lay out the fixed stack slots for CSRs. Some targets like their CSRs used from one end, and some targets want them used from the other end. When computing an allocation order, simply preserve the relative ordering of CSRs that the target specifies in its allocation order. Reordering CSRs would break some targets, ARM in particular. We still place volatiles before the CSRs, providing slightly better results with different calling conventions. llvm-svn: 132680
-
Eli Friedman authored
llvm-svn: 132676
-
- Jun 05, 2011
-
-
Benjamin Kramer authored
llvm-svn: 132668
-
- Jun 04, 2011
-
-
Nadav Rotem authored
TypeLegalizer: Add support for passing of vector-promoted types in registers (copyFromParts/copyToParts). llvm-svn: 132649
-
Nadav Rotem authored
(only happens when using the -promote-elements option). The correct legalization order is to first try to promote element. Next, we try to widen vectors. llvm-svn: 132648
-
- Jun 03, 2011
-
-
Jakob Stoklund Olesen authored
of reserved registers. Use RegisterClassInfo in RABasic as well. This slightly changes som allocation orders because RegisterClassInfo puts CSR aliases last. llvm-svn: 132581
-
Jakob Stoklund Olesen authored
Previously, these aliases would be ordered alphabetically. (BH, BL) Print out the computed allocation orders. llvm-svn: 132580
-
Eric Christopher authored
llvm-svn: 132559
-