- Nov 28, 2012
-
-
Jakob Stoklund Olesen authored
No functional change, just moved header files. Targets can inject custom passes between register allocation and rewriting. This makes it possible to tweak the register allocation before rewriting, using the full global interference checking available from LiveRegMatrix. llvm-svn: 168806
-
Andrew Trick authored
This is a simple, cheap infrastructure for analyzing the shape of a DAG. It recognizes uniform DAGs that take the shape of bottom-up subtrees, such as the included matrix multiplication example. This is useful for heuristics that balance register pressure with ILP. Two canonical expressions of the heuristic are implemented in scheduling modes: -misched-ilpmin and -misched-ilpmax. llvm-svn: 168773
-
Andrew Trick authored
llvm-svn: 168772
-
Andrew Trick authored
This fixes a hole in the "cheap" alias analysis logic implemented within the DAG builder itself, regardless of whether proper alias analysis is enabled. It now handles this pattern produced by LSR+CodeGenPrepare. %sunkaddr1 = ptrtoint * %obj to i64 %sunkaddr2 = add i64 %sunkaddr1, %lsr.iv %sunkaddr3 = inttoptr i64 %sunkaddr2 to i32* store i32 %v, i32* %sunkaddr3 llvm-svn: 168768
-
Andrew Trick authored
llvm-svn: 168767
-
Jakob Stoklund Olesen authored
The *Impl class no longer serves a purpose now that the super-class implementation is in CodeGen. llvm-svn: 168759
-
Jakob Stoklund Olesen authored
The Target library is not allowed to depend on the large CodeGen library, but the TRI and TII classes provide abstract interfaces that require both caller and callee to link to CodeGen. The implementation files for these classes provide default implementations of some of the hooks. These methods may need to reference CodeGen, so they belong in that library. We already have a number of methods implemented in the TargetInstrInfoImpl sub-class because of that. I will merge that class into the parent next. llvm-svn: 168758
-
Chad Rosier authored
llvm-svn: 168751
-
- Nov 27, 2012
-
-
Eric Christopher authored
the coding standard would like. llvm-svn: 168737
-
Eric Christopher authored
llvm-svn: 168736
-
Manman Ren authored
boundaries. Given the following case: BB0 %vreg1<def> = SUBrr %vreg0, %vreg7 %vreg2<def> = COPY %vreg7 BB1 %vreg10<def> = SUBrr %vreg0, %vreg2 We should be able to CSE between SUBrr in BB0 and SUBrr in BB1. rdar://12462006 llvm-svn: 168717
-
Jakub Staszak authored
llvm-svn: 168712
-
Ulrich Weigand authored
argument. Instead, use a pair of .local and .comm directives. This avoids spurious differences between binaries built by the integrated assembler vs. those built by the external assembler, since the external assembler may impose alignment requirements on .lcomm symbols where the integrated assembler does not. llvm-svn: 168704
-
Eric Christopher authored
and O0 + debug codegen. llvm-svn: 168680
-
Jakub Staszak authored
llvm-svn: 168670
-
Jakub Staszak authored
llvm-svn: 168664
-
NAKAMURA Takumi authored
llvm-svn: 168663
-
Jakub Staszak authored
llvm-svn: 168660
-
Jakub Staszak authored
llvm-svn: 168659
-
Eric Christopher authored
llvm-svn: 168644
-
Eric Christopher authored
add a TODO for starting. llvm-svn: 168643
-
Eric Christopher authored
llvm-svn: 168638
-
Eric Christopher authored
llvm-svn: 168637
-
Chad Rosier authored
llvm-svn: 168633
-
Chad Rosier authored
r168627), we no longer need to call the freezeReservedRegs() function a second time. Previously, this pass was conservatively adding the FP to the set of reserved registers, requiring the second update to the reserved registers. rdar://12719844 llvm-svn: 168631
-
Chad Rosier authored
r168627), we no longer need to call the freezeReservedRegs() function a second time. Previously, this pass was conservatively adding the FP to the set of reserved registers, requiring the second update to the reserved registers. rdar://12719844 llvm-svn: 168630
-
- Nov 26, 2012
-
-
Jakub Staszak authored
llvm-svn: 168622
-
Jakub Staszak authored
llvm-svn: 168608
-
- Nov 25, 2012
-
-
Craig Topper authored
llvm-svn: 168557
-
Craig Topper authored
Remove duplicate check of LimitFloatPrecision. It was already checked earlier before IsExp10 could be set to true. llvm-svn: 168553
-
Craig Topper authored
llvm-svn: 168551
-
Craig Topper authored
Remove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's already called at the start of the function and captured in a local variable. llvm-svn: 168548
-
- Nov 24, 2012
-
-
Craig Topper authored
llvm-svn: 168546
-
Craig Topper authored
llvm-svn: 168538
-
- Nov 23, 2012
-
-
Craig Topper authored
llvm-svn: 168524
-
Patrik Hägglund authored
llvm-svn: 168507
-
- Nov 22, 2012
-
-
Eli Bendersky authored
llvm-svn: 168498
-
Lang Hames authored
isOperationLegal. Thanks to Craig Topper for pointing this out. llvm-svn: 168485
-
Eric Christopher authored
llvm-svn: 168481
-
- Nov 21, 2012
-
-
Eric Christopher authored
llvm-svn: 168402
-