"README.md" did not exist on "d813cbfe721ad70c8a9d9cd1f274c6d20e4e4411"
- Oct 10, 2012
-
-
Lang Hames authored
checkRegMaskInterference only initializes the bitmask on the first interference. This fixes PR14027 and (re)fixes PR13945. llvm-svn: 165608
-
Andrew Trick authored
llvm-svn: 165606
-
Andrew Trick authored
Allows the new machine model to be used for NumMicroOps and OutputLatency. Allows the HazardRecognizer to be disabled along with itineraries. llvm-svn: 165603
-
Andrew Trick authored
llvm-svn: 165566
-
Andrew Trick authored
misched: Allow flags to disable hasInstrSchedModel/hasInstrItineraries for external users of TargetSchedule. llvm-svn: 165564
-
Andrew Trick authored
This wasn't contributing anything significant to postRA heuristics except compile time (by my measurements) and will be replaced by a more general heuristic for cross-region dependencies within the scheduler itself. llvm-svn: 165563
-
- Oct 09, 2012
-
-
Bill Wendling authored
llvm-svn: 165550
-
Micah Villmow authored
Add in the first step of the multiple pointer support. This adds in support to the data layout for specifying a per address space pointer size. The next step is to update the optimizers to allow them to optimize the different address spaces with this information. llvm-svn: 165505
-
Bill Wendling authored
We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored. llvm-svn: 165488
-
Eric Christopher authored
llvm-svn: 165463
-
Nadav Rotem authored
Refactor the AddrMode class out of TLI to its own header file. This class is used by LSR and a number of places in the codegen. This is the first step in de-coupling LSR from TLI, and creating a new interface in between them. llvm-svn: 165455
-
Jakob Stoklund Olesen authored
When the CFG contains a loop with multiple entry blocks, the traces computed by MachineTraceMetrics don't always have the same nice properties. Loop back-edges are normally excluded from traces, but MachineLoopInfo doesn't recognize loops with multiple entry blocks, so those back-edges may be included. Avoid asserting when that happens by adding an isEarlierInSameTrace() function that accurately determines if a dominating block is part of the same trace AND is above the currrent block in the trace. llvm-svn: 165434
-
- Oct 08, 2012
-
-
Eric Christopher authored
llvm-svn: 165427
-
Eric Christopher authored
llvm-svn: 165426
-
Andrew Trick authored
llvm-svn: 165418
-
Andrew Trick authored
llvm-svn: 165417
-
Andrew Trick authored
llvm-svn: 165416
-
Micah Villmow authored
llvm-svn: 165402
-
Craig Topper authored
llvm-svn: 165382
-
- Oct 07, 2012
-
-
Craig Topper authored
llvm-svn: 165381
-
- Oct 05, 2012
-
-
Benjamin Kramer authored
llvm-svn: 165331
-
Benjamin Kramer authored
No functionality change. llvm-svn: 165321
-
Nadav Rotem authored
llvm-svn: 165267
-
- Oct 04, 2012
-
-
Eric Christopher authored
a) frame setup instructions define the prologue b) we shouldn't change our location mid-stream Add a test to make sure that the stack adjustment stays within the prologue. llvm-svn: 165250
-
Jakob Stoklund Olesen authored
Not all targets have itineraries, but the subtarget always has an MCSchedModel. llvm-svn: 165236
-
Jakob Stoklund Olesen authored
llvm-svn: 165235
-
Lang Hames authored
allocator. Fixes PR13945. llvm-svn: 165201
-
Andrew Trick authored
llvm-svn: 165188
-
- Oct 03, 2012
-
-
Bill Wendling authored
llvm-svn: 165163
-
Nadav Rotem authored
multiple stores with a single load. We create the wide loads and stores (and their chains) before we remove the scalar loads and stores and fix the DAG chain. We attempted to merge loads with a different chain. When that happened, the assumption that it is safe to RAUW broke and a cycle was introduced. llvm-svn: 165148
-
Nadav Rotem authored
is not profitable in many cases because modern processors perform multiple stores in parallel and merging stores prior to merging requires extra work. We handle two main cases: 1. Store of multiple consecutive constants: q->a = 3; q->4 = 5; In this case we store a single legal wide integer. 2. Store of multiple consecutive loads: int a = p->a; int b = p->b; q->a = a; q->b = b; In this case we load/store either ilegal vector registers or legal wide integer registers. llvm-svn: 165125
-
Silviu Baranga authored
Fixed a bug in the ExecutionDependencyFix pass that caused dependencies to not propagate through implicit defs. llvm-svn: 165102
-
Eric Christopher authored
more detail. llvm-svn: 165099
-
Jakob Stoklund Olesen authored
Enable the pass by default for targets that request it, and change the -enable-early-ifcvt to the opposite -disable-early-ifcvt. There are still some x86 regressions when enabling early if-conversion because of the missing machine models. Disable the pass for x86 until machine models are added. llvm-svn: 165075
-
Eric Christopher authored
This reverts 165055 and 165052 temporarily while I look at debugger failures. llvm-svn: 165071
-
Jakob Stoklund Olesen authored
The new algorithm has been enabled by default for almost a week now and seems to be stable. llvm-svn: 165062
-
Jakob Stoklund Olesen authored
Reserved register live ranges look like a set of dead defs - any uses of reserved registers are ignored. Instead of skipping the updating of reserved register operands entirely, just ignore the use operands and treat the def operands normally. No test case, handleMove() is not commonly used yet. llvm-svn: 165060
-
- Oct 02, 2012
-
-
Jakob Stoklund Olesen authored
JoinVals::pruneValues() calls LIS->pruneValue() to avoid conflicts when overlapping two different values. This produces a set of live range end points that are used to reconstruct the live range (with SSA update) after joining the two registers. When a value is pruned twice, the set of end points was insufficient: v1 = DEF v1 = REPLACE1 v1 = REPLACE2 KILL v1 The end point at KILL would only reconstruct the live range from REPLACE2 to KILL, leaving the range REPLACE1-REPLACE2 dead. Add REPLACE2 as an end point in this case so the full live range is reconstructed. This fixes PR13999. llvm-svn: 165056
-
Eric Christopher authored
llvm-svn: 165054
-
Eric Christopher authored
prologue. Also skip frame setup instructions when looking for the first location. llvm-svn: 165052
-