| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
|  | 
Fix a nasty bug in the memcmp optimizer where we used the wrong variable!
llvm-svn: 28269
 | 
| | 
| 
| 
|  | 
llvm-svn: 28268
 | 
| | 
| 
| 
|  | 
llvm-svn: 28267
 | 
| | 
| 
| 
|  | 
llvm-svn: 28266
 | 
| | 
| 
| 
|  | 
llvm-svn: 28265
 | 
| | 
| 
| 
|  | 
llvm-svn: 28264
 | 
| | 
| 
| 
| 
| 
| 
|  | 
that still fails (because all the register spill weights are inf), just grab
one.
llvm-svn: 28262
 | 
| | 
| 
| 
|  | 
llvm-svn: 28261
 | 
| | 
| 
| 
|  | 
llvm-svn: 28260
 | 
| | 
| 
| 
| 
| 
|  | 
Bug identified by coverity.
llvm-svn: 28259
 | 
| | 
| 
| 
|  | 
llvm-svn: 28258
 | 
| | 
| 
| 
|  | 
llvm-svn: 28257
 | 
| | 
| 
| 
| 
| 
|  | 
object is never deleted though.
llvm-svn: 28256
 | 
| | 
| 
| 
|  | 
llvm-svn: 28255
 | 
| | 
| 
| 
|  | 
llvm-svn: 28254
 | 
| | 
| 
| 
|  | 
llvm-svn: 28253
 | 
| | 
| 
| 
|  | 
llvm-svn: 28252
 | 
| | 
| 
| 
| 
| 
|  | 
created by reading the symbol table.
llvm-svn: 28251
 | 
| | 
| 
| 
|  | 
llvm-svn: 28250
 | 
| | 
| 
| 
|  | 
llvm-svn: 28249
 | 
| | 
| 
| 
|  | 
llvm-svn: 28248
 | 
| | 
| 
| 
|  | 
llvm-svn: 28247
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
%tmp152 = setgt uint %tmp144, %tmp149           ; <bool> [#uses=1]
        %tmp159 = setlt uint %tmp144, %tmp149           ; <bool> [#uses=1]
        %bothcond2 = or bool %tmp152, %tmp159           ; <bool> [#uses=1]
To setne, not setune, which causes an assertion fault.
llvm-svn: 28244
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Nate, please verify that if InsertMask is 0, rlwimi shouldn't be used.
This fixes the crash and causes no PPC testsuite regressions.
llvm-svn: 28243
 | 
| | 
| 
| 
| 
| 
|  | 
This continues the work on PR 761.
llvm-svn: 28239
 | 
| | 
| 
| 
| 
| 
| 
|  | 
TargetData.h.  This should make recompiles a bit faster with my current
TargetData tinkering.
llvm-svn: 28238
 | 
| | 
| 
| 
|  | 
llvm-svn: 28237
 | 
| | 
| 
| 
| 
| 
|  | 
possible
llvm-svn: 28236
 | 
| | 
| 
| 
|  | 
llvm-svn: 28235
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
string representation.
This is part of PR 761.
llvm-svn: 28234
 | 
| | 
| 
| 
| 
| 
|  | 
simplify tf(x,y,y,z) -> tf(x,y,z).
llvm-svn: 28233
 | 
| | 
| 
| 
| 
| 
| 
|  | 
If a two-address code whose first operand has uses below, it should be commuted
when possible.
llvm-svn: 28230
 | 
| | 
| 
| 
|  | 
llvm-svn: 28229
 | 
| | 
| 
| 
| 
| 
|  | 
people aren't reusing machine code buffers at all.
llvm-svn: 28228
 | 
| | 
| 
| 
| 
| 
|  | 
Finally, implement ExecutionEngine::freeMachineCodeForFunction.
llvm-svn: 28227
 | 
| | 
| 
| 
| 
| 
| 
|  | 
separate file. Added an initial implementation of top-down register pressure
reduction list scheduler.
llvm-svn: 28226
 | 
| | 
| 
| 
| 
| 
| 
|  | 
allocation policies and much more.  All this complexity, and we have no
functionality change, woo! :)
llvm-svn: 28225
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
When doing the initial pass of constant folding, if we get a constantexpr,
simplify the constant expr like we would do if the constant is folded in the
normal loop.
This fixes the missed-optimization regression in
Transforms/InstCombine/getelementptr.ll last night.
llvm-svn: 28224
 | 
| | 
| 
| 
| 
| 
|  | 
isStoreToStackSlot
llvm-svn: 28223
 | 
| | 
| 
| 
| 
| 
|  | 
spilled.
llvm-svn: 28220
 | 
| | 
| 
| 
|  | 
llvm-svn: 28219
 | 
| | 
| 
| 
| 
| 
| 
|  | 
the use follows def immediately, it doesn't make sense to spill it and
hope it will be easier to allocate for this LI.
llvm-svn: 28217
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
1. Implement InstCombine/deadcode.ll by not adding instructions in unreachable
   blocks (due to constants in conditional branches/switches) to the worklist.
   This causes them to be deleted before instcombine starts up, leading to
   better optimization.
2. In the prepass over instructions, do trivial constprop/dce as we go.  This
   has the effect of improving the effectiveness of #1.  In addition, it
   *significantly* speeds up instcombine on test cases with large amounts of
   constant folding code (for example, that produced by code specialization
   or partial evaluation).  In one example, it speeds up instcombine from
   0.0589s to 0.0224s with a release build (a 2.6x speedup).
llvm-svn: 28215
 | 
| | 
| 
| 
| 
| 
| 
|  | 
really a bad codegen bug that LLC happens to get lucky with. I must chat with
Nate for the proper fix.
llvm-svn: 28213
 | 
| | 
| 
| 
|  | 
llvm-svn: 28212
 | 
| | 
| 
| 
|  | 
llvm-svn: 28210
 | 
| | 
| 
| 
|  | 
llvm-svn: 28207
 | 
| | 
| 
| 
| 
| 
|  | 
ppc
llvm-svn: 28205
 | 
| | 
| 
| 
|  | 
llvm-svn: 28204
 | 
| | 
| 
| 
| 
| 
| 
|  | 
the distance between the def and another use is much longer). This is under
option control for now "-sched-lower-defnuse".
llvm-svn: 28201
 |