- Jan 21, 2010
-
-
Evan Cheng authored
llvm-svn: 94105
-
Jim Grosbach authored
llvm-svn: 94097
-
Jim Grosbach authored
order for SjLj style exception handling. llvm-svn: 94055
-
- Jan 20, 2010
-
-
David Greene authored
When XDEBUG is enabled, check for SelectionDAG cycles at some key points. This will help us find future problems like the one described in PR6019. llvm-svn: 94019
-
David Greene authored
Add some asserts to check SelectionDAG problems earlier. llvm-svn: 93960
-
Dan Gohman authored
that SCEVExpander can produce when running on behalf of LSR. llvm-svn: 93949
-
- Jan 19, 2010
-
-
David Greene authored
Add some new debugging APIs to print out "raw" SelectionDAGs to make understanding CannotYTetSelect and other errors easier. llvm-svn: 93901
-
Dale Johannesen authored
llvm-svn: 93818
-
Dale Johannesen authored
comments (fast isel, X86). This doesn't seem to break any functionality, but will introduce cases where -g affects the generated code. I'll be fixing that. llvm-svn: 93811
-
- Jan 18, 2010
-
-
Evan Cheng authored
Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore: %t1 = sub i32 0, %a %t2 = add i32 %t1, -1 The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A will fold it to -1 - %a. llvm-svn: 93773
-
- Jan 17, 2010
-
-
Kenneth Uildriks authored
When checking for sret-demotion, it needs to use legal types. When using the return value of an sret-demoted call, it needs to use possibly illegal types that match the declared Type of the callee. llvm-svn: 93667
-
- Jan 15, 2010
-
-
David Greene authored
Add some debug routines to SelectionDAG to dump full DAGs. print/dumpWithDepth allows one to dump a DAG up to N levels deep. dump/printWithFullDepth prints the whole DAG, subject to a depth limit on 100 in the default case (to prevent infinite recursion). Have CannotYetSelect to a dumpWithFullDepth so it is clearer exactly what the non-matching DAG looks like. llvm-svn: 93538
-
Victor Hernandez authored
Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument. llvm-svn: 93531
-
Victor Hernandez authored
llvm-svn: 93515
-
Victor Hernandez authored
Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. llvm-svn: 93504
-
Jim Grosbach authored
llvm-svn: 93487
-
- Jan 14, 2010
-
-
Dan Gohman authored
llvm-svn: 93417
-
- Jan 12, 2010
-
-
Dan Gohman authored
llvm-svn: 93228
-
Dan Gohman authored
llvm-svn: 93227
-
- Jan 11, 2010
-
-
Jakob Stoklund Olesen authored
This fixes PR5980. llvm-svn: 93184
-
Mon P Wang authored
loads are not in the default address space because the transformation discards src value info. llvm-svn: 93180
-
- Jan 09, 2010
-
-
Dan Gohman authored
really does need to be a vector type, because TargetLowering::getOperationAction for SIGN_EXTEND_INREG uses that type, and it needs to be able to distinguish between vectors and scalars. Also, fix some more issues with legalization of vector casts. llvm-svn: 93043
-
Evan Cheng authored
Dan pointed out checking whether a node is dead by comparing its opcode to ISD::DELETED_NODE is not safe. Use a DAGUpdateListener to remove dead nodes from work list instead. llvm-svn: 93031
-
- Jan 08, 2010
-
-
Evan Cheng authored
ReplaceAllUsesOfValueWith may delete other nodes that the one being replaced. Do not delete dead nodes again. llvm-svn: 92988
-
- Jan 07, 2010
-
-
rdar://7517201Chris Lattner authored
When folding a and(any_ext(load)) both the any_ext and the load have to have only a single use. This removes the anyext-uses.ll testcase which started failing because it is unreduced and unclear what it is testing. llvm-svn: 92950
-
Chris Lattner authored
time, no functionality change. llvm-svn: 92948
-
Evan Cheng authored
llvm-svn: 92943
-
Benjamin Kramer authored
llvm-svn: 92918
-
- Jan 06, 2010
-
-
Evan Cheng authored
llvm-svn: 92850
-
Evan Cheng authored
(OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
-
Bill Wendling authored
llvm-svn: 92810
-
Bill Wendling authored
llvm-svn: 92807
-
Bill Wendling authored
bottom-up scheduler. We prefer the lower order number. llvm-svn: 92806
-
- Jan 05, 2010
-
-
Bill Wendling authored
result in illegal types for the SHL operator. llvm-svn: 92797
-
Dan Gohman authored
uses several kinds of opcode values which are not declared within that enum. This fixes PR5946. llvm-svn: 92794
-
Benjamin Kramer authored
Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. llvm-svn: 92726
-
Devang Patel authored
Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start llvm-svn: 92672
-
David Greene authored
llvm-svn: 92597
-
David Greene authored
llvm-svn: 92581
-
David Greene authored
llvm-svn: 92580
-