- Mar 02, 2010
-
-
Evan Cheng authored
llvm-svn: 97543
-
Chris Lattner authored
llvm-svn: 97541
-
Chris Lattner authored
stuff now that we don't care about emulating the old broken behavior of the old isel. This eliminates the 'CheckChainCompatible' check (along with IsChainCompatible) which did an incorrect and inefficient scan *up* the chain nodes which happened as the pattern was being formed and does the validation at the end in HandleMergeInputChains when it forms a structural pattern. This scans "down" the graph, which means that it is quickly bounded by nodes already selected. This also handles token factors that get "trapped" in the dag. Removing the CheckChainCompatible nodes also shrinks the generated tables by about 6K for X86 (down to 83K). There are two pieces remaining before I can nuke PreprocessRMW: 1. I xfailed a test because we're now producing worse code in a case that has nothing to do with the change: it turns out that our use of MorphNodeTo will leave dead nodes in the graph which (depending on how the graph is walked) end up causing bogus uses of chains and blocking matches. This is really bad for other reasons, so I'll fix this in a follow-up patch. 2. CheckFoldableChainNode needs to be improved to handle the TF. llvm-svn: 97539
-
Dan Gohman authored
Based on a patch by Micah Villmow for PR6438. llvm-svn: 97538
-
Dan Gohman authored
emitted after the increment. Make sure the insert position reflects this. This fixes PR6453. llvm-svn: 97537
-
Bill Wendling authored
llvm-svn: 97536
-
Devang Patel authored
Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases. llvm-svn: 97533
-
Dan Gohman authored
respectively. llvm-svn: 97531
-
Chris Lattner authored
llvm-svn: 97529
-
Bob Wilson authored
a loop and is itself the only dependency). llvm-svn: 97526
-
Chris Lattner authored
new helper function. llvm-svn: 97525
-
Bob Wilson authored
predecessors before returning. Otherwise, if multiple predecessor edges need splitting, we only get one of them per iteration. This makes a small but measurable compile time improvement with -enable-full-load-pre. llvm-svn: 97521
-
- Mar 01, 2010
-
-
Chris Lattner authored
now that it is gone. llvm-svn: 97516
-
Evan Cheng authored
llvm-svn: 97512
-
Chris Lattner authored
(the most general) the others are dead. llvm-svn: 97511
-
Evan Cheng authored
Remove the optimize for code size limitation on r67917. Optimize 64-bit imul by constants into leas + shl regardless if optimizing for code size. The size saving from using imulq isn't worth it. Also, the lea and shl instructions may expose further optimization. llvm-svn: 97507
-
Chris Lattner authored
problems. rdar://7697850. llvm-svn: 97500
-
Jakob Stoklund Olesen authored
Don't accidentally produce unspillable intervals for deeply nested loops. llvm-svn: 97496
-
Ted Kremenek authored
llvm-svn: 97488
-
Chris Lattner authored
llvm-svn: 97485
-
Chris Lattner authored
tantalyzing enough that people keep trying to use it. llvm-svn: 97483
-
Johnny Chen authored
bit should be set to 0 instead of 1. llvm-svn: 97481
-
Chris Lattner authored
OPC_SwitchOpcode to use a table lookup instead of having to go through the interpreter for this. llvm-svn: 97469
-
John McCall authored
an APInt. llvm-svn: 97467
-
Dan Gohman authored
by Micah Villmow for PR6335. llvm-svn: 97461
-
Dan Gohman authored
llvm-svn: 97460
-
Dan Gohman authored
llvm-svn: 97459
-
Dan Gohman authored
llvm-svn: 97458
-
Dan Gohman authored
llvm-svn: 97453
-
Dan Gohman authored
llvm-svn: 97450
-
Dan Gohman authored
llvm-svn: 97449
-
Dan Gohman authored
llvm-svn: 97448
-
Dan Gohman authored
llvm-svn: 97446
-
Nathan Keynes authored
llvm-svn: 97443
-
Chris Lattner authored
llvm-svn: 97441
-
Chris Lattner authored
ComplexPattern at the root be generated multiple times, once for each opcode they are part of. This encourages factoring because the opcode checks get treated just like everything else in the matcher. llvm-svn: 97439
-
Chris Lattner authored
to a scope where every child starts with a CheckOpcode, but executes more efficiently. Enhance DAGISelMatcherOpt to form it. This also fixes a bug in CheckOpcode: apparently the SDNodeInfo objects are not pointer comparable, we have to compare the enum name. llvm-svn: 97438
-
- Feb 28, 2010
-
-
Mikhail Glushenkov authored
llvm-svn: 97427
-
Chris Lattner authored
llvm-svn: 97426
-
Chris Lattner authored
(which gets #included into the middle of each target's DAGISel class) into a .cpp file where it is only compiled once. llvm-svn: 97425
-