- Oct 11, 2009
-
-
Chris Lattner authored
llvm-svn: 83756
-
Chris Lattner authored
llvm-svn: 83755
-
Chris Lattner authored
llvm-svn: 83754
-
Chris Lattner authored
the IR, and to implement the FIXME'd optimization. llvm-svn: 83748
-
Chris Lattner authored
inserted only once, just use vector. Don't compute ExitBlocks unless we need it, change std::sort to array_pod_sort. llvm-svn: 83747
-
Chris Lattner authored
from GVN, this also speeds it up, inserts fewer PHI nodes (see the testcase) and allows it to remove more loads (due to fewer PHI nodes standing in the way). llvm-svn: 83746
-
Chris Lattner authored
llvm-svn: 83745
-
Chris Lattner authored
PHI nodes inserted. llvm-svn: 83744
-
Chris Lattner authored
llvm-svn: 83742
-
Chris Lattner authored
not just at the end. Add a big comment explaining when this could be useful (which never happens for jump threading). llvm-svn: 83741
-
Chris Lattner authored
what it does. llvm-svn: 83740
-
Anton Korobeynikov authored
Remove impdef of SRW. This fixes PR4779 llvm-svn: 83739
-
- Oct 10, 2009
-
-
Chris Lattner authored
llvm-svn: 83707
-
Chris Lattner authored
DemoteRegToStack. This makes it more efficient (because it isn't creating a ton of load/stores that are eventually removed by a later mem2reg), and more slightly more effective (because those load/stores don't get in the way of threading). llvm-svn: 83706
-
Chris Lattner authored
works on unstructured CFGs. This implements PR217, our oldest open PR. llvm-svn: 83705
-
Chris Lattner authored
llvm-svn: 83701
-
Dan Gohman authored
into MachineInstrs. This is mostly just moving the code from ScheduleDAGSDNodesEmit.cpp into a new class. This decouples MachineInstr emitting from scheduling. llvm-svn: 83699
-
Dan Gohman authored
since it won't do any folding. This will help avoid some inconvenient casting. llvm-svn: 83698
-
Dan Gohman authored
llvm-svn: 83697
-
Dan Gohman authored
MachineInstr::isInvariantLoad instead, which has the benefit of being more complete. llvm-svn: 83696
-
Dan Gohman authored
llvm-svn: 83695
-
Dan Gohman authored
it isn't needed in the ScheduleDAGSDNodes schedulers. llvm-svn: 83691
-
Dan Gohman authored
when loading from an invariant memory location. llvm-svn: 83688
-
Dan Gohman authored
is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687
-
Devang Patel authored
Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location. While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself. llvm-svn: 83684
-
Jeffrey Yasskin authored
mappings, which could cause errors and assert-failures. This patch fixes that, adds a test, and refactors the global-mapping-removal code into a single place. llvm-svn: 83678
-
Dan Gohman authored
llvm-svn: 83677
-
- Oct 09, 2009
-
-
Dale Johannesen authored
constants used in inlining heuristics (especially those used in more than one file). No functional change. llvm-svn: 83675
-
Kevin Enderby authored
lists. Changed ARMAsmParser::MatchRegisterName to return -1 instead of 0 on errors so 0-15 values could be returned as register numbers. Also added the rest of the arm register names to the currently hacked up version to allow more testing. Some changes to ARMAsmParser::ParseOperand to give different errors for things not yet supported and some additions to the hacked ARMAsmParser::MatchInstruction to allow more testing for now. llvm-svn: 83673
-
Dan Gohman authored
TargetInstrDesc::isRematerializable flag, so it isn't necessary to do this check in its callers. llvm-svn: 83671
-
Dan Gohman authored
when one of the bits being tested would end up being the sign bit in the narrower type, and a signed comparison is being performed, since this would change the result of the signed comparison. This fixes PR5132. llvm-svn: 83670
-
Dan Gohman authored
information when unfolding memory references. llvm-svn: 83656
-
Devang Patel authored
Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage. llvm-svn: 83655
-
Jim Grosbach authored
llvm-svn: 83653
-
Dan Gohman authored
llvm-svn: 83649
-
Evan Cheng authored
llvm-svn: 83624
-
Evan Cheng authored
llvm-svn: 83622
-
Evan Cheng authored
llvm-svn: 83608
-
Dan Gohman authored
instructions. llvm-svn: 83606
-
Dale Johannesen authored
and that will make Caller too big to inline, see if it might be better to inline Caller into its callers instead. This situation is described in PR 2973, although I haven't tried the specific case in SPASS. llvm-svn: 83602
-