- Nov 10, 2011
-
-
Jakob Stoklund Olesen authored
The TII.foldMemoryOperand hook preserves implicit operands from the original instruction. This is not what we want when those implicit operands refer to the register being spilled. Implicit operands referring to other registers are preserved. This fixes PR11347. llvm-svn: 144247
-
Jim Grosbach authored
llvm-svn: 144244
-
Jim Grosbach authored
rdar://10422955 llvm-svn: 144242
-
Eli Friedman authored
llvm-svn: 144241
-
Pete Cooper authored
Currently checks alignment and killing stores on a power of 2 boundary as this is likely to trim the size of the earlier store without breaking large vector stores into scalar ones. Fixes <rdar://problem/10140300> llvm-svn: 144239
-
- Nov 09, 2011
-
-
Nick Lewycky authored
llvm-svn: 144236
-
Eli Friedman authored
llvm-svn: 144216
-
Chad Rosier authored
rdar://10418009 llvm-svn: 144213
-
Nadav Rotem authored
llvm-svn: 144212
-
Devang Patel authored
llvm-svn: 144211
-
Benjamin Kramer authored
llvm-svn: 144194
-
Duncan Sands authored
dragonegg self-host buildbot will recover (it is complaining about object files differing between different build stages). Original commit message: Add a hack to the scheduler to disable pseudo-two-address dependencies in basic blocks containing calls. This works around a problem in which these artificial dependencies can get tied up in calling seqeunce scheduling in a way that makes the graph unschedulable with the current approach of using artificial physical register dependencies for calling sequences. This fixes PR11314. llvm-svn: 144188
-
Nadav Rotem authored
llvm-svn: 144187
-
Benjamin Kramer authored
llvm-svn: 144186
-
Benjamin Kramer authored
llvm-svn: 144184
-
Craig Topper authored
Enable execution dependency fix pass for YMM registers when AVX2 is enabled. Add AVX2 logical operations to list of replaceable instructions. llvm-svn: 144179
-
Craig Topper authored
llvm-svn: 144176
-
Craig Topper authored
llvm-svn: 144174
-
Nick Lewycky authored
or not. Patch by Brendon Cahoon! llvm-svn: 144173
-
Devang Patel authored
llvm-svn: 144172
-
Eric Christopher authored
llvm-svn: 144169
-
Chad Rosier authored
remove a fair number of unnecessary materialized constants. rdar://10412592 llvm-svn: 144163
-
Evan Cheng authored
llvm-svn: 144154
-
Jakob Stoklund Olesen authored
During the initial RPO traversal of the basic blocks, remember the ones that are incomplete because of back-edges from predecessors that haven't been visited yet. After the initial RPO, revisit all those loop headers so the incoming DomainValues on the back-edges can be properly collapsed. This will properly fix execution domains on software pipelined code, like the included test case. llvm-svn: 144151
-
Jakob Stoklund Olesen authored
When merging two uncollapsed DomainValues, place a link to the active DomainValue from the passive DomainValue. This allows old stale references to the passive DomainValue to be updated to point to the active DomainValue. The new resolve() function finds the active DomainValue and updates the pointer. This change makes old live-out lists more useful since they may contain uncollapsed DomainValues that have since been merged into other DomainValues. llvm-svn: 144149
-
Michael J. Spencer authored
llvm-svn: 144148
-
Jakob Stoklund Olesen authored
This allows clear() to be called on a DomainValue with references. llvm-svn: 144147
-
- Nov 08, 2011
-
-
Bruno Cardoso Lopes authored
Patch by Jack Carter. llvm-svn: 144139
-
Bill Wendling authored
*headdesk* llvm-svn: 144138
-
Jakob Stoklund Olesen authored
There is no need to involve the LiveRegs array and kill() any longer. llvm-svn: 144133
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 144132
-
Jakob Stoklund Olesen authored
This new function will decrement the reference count, and collapse a domain value when the last reference is gone. This simplifies DomainValue reference counting, and decouples it from the LiveRegs array. llvm-svn: 144131
-
Eric Christopher authored
and is different than the normal name. llvm-svn: 144130
-
Dan Gohman authored
basic blocks containing calls. This works around a problem in which these artificial dependencies can get tied up in calling seqeunce scheduling in a way that makes the graph unschedulable with the current approach of using artificial physical register dependencies for calling sequences. This fixes PR11314. llvm-svn: 144124
-
Evan Cheng authored
llvm-svn: 144123
-
Chad Rosier authored
No functional change intended. llvm-svn: 144122
-
Eli Friedman authored
llvm-svn: 144121
-
Jakob Stoklund Olesen authored
The old value may still be referenced by some live-out list, and we don't wan't to collapse those instructions twice. This fixes the "Can only swizzle VMOVD" assertion in some armv7 SPEC builds. <rdar://problem/10413292> llvm-svn: 144117
-
Michael J. Spencer authored
llvm-svn: 144111
-
Pete Cooper authored
LICM pass now understands invariant load metadata. Nothing generates this yet so it will currently never get used in real tests llvm-svn: 144107
-