- Dec 05, 2007
-
-
Evan Cheng authored
llvm-svn: 44610
-
Evan Cheng authored
llvm-svn: 44609
-
Chris Lattner authored
llvm-svn: 44608
-
Chris Lattner authored
llvm-svn: 44607
-
Evan Cheng authored
This allows an important optimization to be re-enabled. - If all uses / defs of a split interval can be folded, give the interval a low spill weight so it would not be picked in case spilling is needed (avoid pushing other intervals in the same BB to be spilled). llvm-svn: 44601
-
Evan Cheng authored
the stored register is killed. llvm-svn: 44600
-
Evan Cheng authored
llvm-svn: 44587
-
- Dec 04, 2007
-
-
Evan Cheng authored
Spiller unfold optimization bug: do not clobber a reusable stack slot value unless it can be modified. llvm-svn: 44575
-
Chris Lattner authored
to codegen this: define float @test_extract_elt(<1 x float> * %P) { %p = load <1 x float>* %P %R = extractelement <1 x float> %p, i32 0 ret float %R } llvm-svn: 44570
-
Chris Lattner authored
llvm-svn: 44569
-
Evan Cheng authored
llvm-svn: 44565
-
- Dec 03, 2007
-
-
Evan Cheng authored
llvm-svn: 44549
-
Duncan Sands authored
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
-
Evan Cheng authored
llvm-svn: 44532
-
Evan Cheng authored
llvm-svn: 44531
-
- Dec 02, 2007
-
-
Evan Cheng authored
llvm-svn: 44517
-
- Dec 01, 2007
-
-
Evan Cheng authored
llvm-svn: 44482
-
Evan Cheng authored
llvm-svn: 44479
-
- Nov 30, 2007
-
-
Evan Cheng authored
llvm-svn: 44467
-
Devang Patel authored
llvm-svn: 44446
-
Evan Cheng authored
llvm-svn: 44443
-
- Nov 29, 2007
-
-
Evan Cheng authored
in the middle of a split basic block, create a new live interval starting at the def. This avoid artifically extending the live interval over a number of cycles where it is dead. e.g. bb1: = vr1204 (use / kill) <= new interval starts and ends here. ... ... vr1204 = (new def) <= start a new interval here. = vr1204 (use) llvm-svn: 44436
-
Evan Cheng authored
llvm-svn: 44434
-
Evan Cheng authored
llvm-svn: 44428
-
Evan Cheng authored
llvm-svn: 44427
-
- Nov 28, 2007
-
-
Duncan Sands authored
use them. llvm-svn: 44403
-
Duncan Sands authored
llvm-svn: 44399
-
Evan Cheng authored
llvm-svn: 44386
-
- Nov 27, 2007
-
-
Owen Anderson authored
llvm-svn: 44384
-
Nate Begeman authored
llvm-svn: 44371
-
Duncan Sands authored
the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
-
Chris Lattner authored
llvm-svn: 44352
-
Chris Lattner authored
llvm-svn: 44351
-
Dan Gohman authored
optimized. This avoids creating illegal divisions when the combiner is running after legalize; this fixes PR1815. Also, it produces better code in the included testcase by avoiding the subtract and multiply when the division isn't optimized. llvm-svn: 44341
-
- Nov 24, 2007
-
-
Chris Lattner authored
llvm-svn: 44304
-
Chris Lattner authored
Improve a comment. Unbreak Duncan's carefully written path compression where I didn't realize what was happening! llvm-svn: 44301
-
Chris Lattner authored
1) Change the interface to TargetLowering::ExpandOperationResult to take and return entire NODES that need a result expanded, not just the value. This allows us to handle things like READCYCLECOUNTER, which returns two values. 2) Implement (extremely limited) support in LegalizeDAG::ExpandOp for MERGE_VALUES. 3) Reimplement custom lowering in LegalizeDAGTypes in terms of the new ExpandOperationResult. This makes the result simpler and fully general. 4) Implement (fully general) expand support for MERGE_VALUES in LegalizeDAGTypes. 5) Implement ExpandOperationResult support for ARM f64->i64 bitconvert and ARM i64 shifts, allowing them to work with LegalizeDAGTypes. 6) Implement ExpandOperationResult support for X86 READCYCLECOUNTER and FP_TO_SINT, allowing them to work with LegalizeDAGTypes. LegalizeDAGTypes now passes several more X86 codegen tests when enabled and when type legalization in LegalizeDAG is ifdef'd out. llvm-svn: 44300
-
- Nov 21, 2007
-
-
Duncan Sands authored
node A gets back into the DAG again because it was hiding in one of the node maps: make sure that node replacement happens in those maps too. llvm-svn: 44263
-
Dale Johannesen authored
for Darwin PPC, but it's not fully working yet. llvm-svn: 44258
-
- Nov 19, 2007
-
-
Chris Lattner authored
Fix a couple of problems: 1. Don't assume the VT-1 is a VT that is half the size. 2. Treat vectors of FP in the vector path, not the FP path. This has a couple of remaining problems before it will work with the code in PR1811: the code below this change assumes that it can use extload/shift/or to construct the result, which isn't right for vectors. This also doesn't handle vectors of 1 or vectors that aren't pow-2. llvm-svn: 44243
-