- Nov 09, 2009
-
-
David Goodwin authored
Fix dependencies added to model memory aliasing for post-RA scheduling. The dependencies were overly conservative for memory access that are known not to alias. llvm-svn: 86580
-
Dan Gohman authored
llvm-svn: 86564
-
Evan Cheng authored
llvm-svn: 86522
-
Evan Cheng authored
llvm-svn: 86521
-
- Nov 08, 2009
-
-
Lang Hames authored
llvm-svn: 86446
-
- Nov 07, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 86384
-
Chris Lattner authored
llvm-svn: 86354
-
Lang Hames authored
llvm-svn: 86342
-
Mon P Wang authored
llvm-svn: 86340
-
Evan Cheng authored
except it doesn't care if the definitions' virtual registers differ. This is used by machine LICM and other MI passes to perform CSE. - Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical. Since pc relative constantpool entries are always different, this requires it it check if the values can actually the same. llvm-svn: 86328
-
Kenneth Uildriks authored
Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers llvm-svn: 86324
-
Jakob Stoklund Olesen authored
A non-identity copy cannot be coalesced when the phi join destination register is live at the copy site. Also verify the condition that the PHI join source register is only used in the PHI join. Otherwise the coalescing is invalid. llvm-svn: 86322
-
- Nov 06, 2009
-
-
Bob Wilson authored
llvm-svn: 86295
-
Dan Gohman authored
prints them with the leading '@'. llvm-svn: 86261
-
Devang Patel authored
llvm-svn: 86259
-
Devang Patel authored
llvm-svn: 86212
-
Dan Gohman authored
llvm-svn: 86199
-
Dan Gohman authored
problems with name collisions. llvm-svn: 86189
-
- Nov 05, 2009
-
-
Lang Hames authored
Added support for renumbering existing index list elements. Removed some junk from the initial numbering code in runOnMachineFunction. llvm-svn: 86184
-
David Goodwin authored
Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates. llvm-svn: 86172
-
Dan Gohman authored
llvm-svn: 86151
-
David Goodwin authored
llvm-svn: 86102
-
David Goodwin authored
Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies. llvm-svn: 86098
-
Evan Cheng authored
llvm-svn: 86092
-
Evan Cheng authored
llvm-svn: 86085
-
David Goodwin authored
llvm-svn: 86080
-
Devang Patel authored
While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately. This improves bitfield support. llvm-svn: 86073
-
- Nov 04, 2009
-
-
Devang Patel authored
Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field. llvm-svn: 86054
-
Lang Hames authored
Handle empty/tombstone keys for LiveIndex more cleanly. Check for index sanity when constructing index list entries. llvm-svn: 86049
-
Eric Christopher authored
llvm-svn: 86044
-
Devang Patel authored
llvm-svn: 86043
-
Jakob Stoklund Olesen authored
The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output. With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF. llvm-svn: 86041
-
Evan Cheng authored
and extract_subreg as a "copy" that defines a valno. Also fixes a typo. These two issues prevent a simple subreg coalescing from happening before. llvm-svn: 86022
-
Douglas Gregor authored
llvm-svn: 85994
-
Lang Hames authored
This introduces a new pass, SlotIndexes, which is responsible for numbering instructions for register allocation (and other clients). SlotIndexes numbering is designed to match the existing scheme, so this patch should not cause any changes in the generated code. For consistency, and to avoid naming confusion, LiveIndex has been renamed SlotIndex. The processImplicitDefs method of the LiveIntervals analysis has been moved into its own pass so that it can be run prior to SlotIndexes. This was necessary to match the existing numbering scheme. llvm-svn: 85979
-
Bob Wilson authored
an unconditional branch (possibly from tail merging), this code is trying to redirect all of its predecessors to go directly to the branch target, but that isn't feasible for indirect branches. The other predecessors (that don't end with indirect branches) could theoretically still be handled, but that is not easily done right now. The AnalyzeBranch interface doesn't currently let us distinguish jump table branches from indirect branches, and this code is currently handling jump tables. To avoid punting on address-taken blocks, we would have to give up handling jump tables. That seems like a bad tradeoff. llvm-svn: 85975
-
- Nov 03, 2009
-
-
Evan Cheng authored
llvm-svn: 85947
-
David Goodwin authored
Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed. llvm-svn: 85939
-
rdar://problem/7352605David Goodwin authored
<rdar://problem/7352605>. When building schedule graph use mayAlias information to avoid chaining loads/stores of spill slots with non-aliased memory ops. llvm-svn: 85934
-
Devang Patel authored
llvm-svn: 85909
-