- Apr 16, 2009
-
-
Dan Gohman authored
have pointer types, though in contrast to C pointer types, SCEV addition is never implicitly scaled. This not only eliminates the need for special code like IndVars' EliminatePointerRecurrence and LSR's own GEP expansion code, it also does a better job because it lets the normal optimizations handle pointer expressions just like integer expressions. Also, since LLVM IR GEPs can't directly index into multi-dimensional VLAs, moving the GEP analysis out of client code and into the SCEV framework makes it easier for clients to handle multi-dimensional VLAs the same way as other arrays. Some existing regression tests show improved optimization. test/CodeGen/ARM/2007-03-13-InstrSched.ll in particular improved to the point where if-conversion started kicking in; I turned it off for this test to preserve the intent of the test. llvm-svn: 69258
-
Chris Lattner authored
llvm-svn: 69257
-
Devang Patel authored
This code could use some refactoring help! llvm-svn: 69254
-
Devang Patel authored
If FastISel is run and it has known DebugLoc then use it. llvm-svn: 69253
-
Devang Patel authored
If location where the function was inlined is not know then do not emit debug info describing inlinied region. llvm-svn: 69252
-
Chris Lattner authored
llvm-svn: 69249
-
Dale Johannesen authored
llvm-svn: 69247
-
Dale Johannesen authored
and sext over (iv | const), if a longer iv is available. Allow expressions to have more than one zext/sext parent. All from OpenSSL. llvm-svn: 69241
-
Chris Lattner authored
llvm-svn: 69235
-
- Apr 15, 2009
-
-
Chris Lattner authored
llvm-svn: 69219
-
Devang Patel authored
llvm-svn: 69216
-
Dale Johannesen authored
if a longer iv is available. These subscript forms are not common; they're a bottleneck in OpenSSL. llvm-svn: 69215
-
Chris Lattner authored
llvm-svn: 69213
-
Chris Lattner authored
llvm-svn: 69212
-
Chris Lattner authored
llvm-svn: 69211
-
Devang Patel authored
This fixes test/CodeGen//2009-01-21-invalid-debug-info.m test case. llvm-svn: 69210
-
Dan Gohman authored
to support replacing a node with another that has a superset of the result types. Use this instead of calling ReplaceAllUsesOfValueWith for each value. llvm-svn: 69209
-
Chris Lattner authored
llvm-svn: 69208
-
Chris Lattner authored
llvm-svn: 69206
-
Dan Gohman authored
llvm-svn: 69204
-
Dan Gohman authored
llvm-svn: 69203
-
Devang Patel authored
llvm-svn: 69202
-
Dan Gohman authored
variadic operands correctly. Patch by Jakob Stoklund Olesen! llvm-svn: 69190
-
Chris Lattner authored
in the record. llvm-svn: 69176
-
Chris Lattner authored
llvm-svn: 69173
-
Chris Lattner authored
llvm-svn: 69152
-
Nick Lewycky authored
problem from instcombine. llvm-svn: 69151
-
Douglas Gregor authored
llvm-svn: 69145
-
Bill Wendling authored
llvm-svn: 69140
-
Bill Wendling authored
llvm-svn: 69130
-
Dan Gohman authored
subclassed. llvm-svn: 69129
-
Dan Gohman authored
llvm-svn: 69128
-
Dan Gohman authored
llvm-svn: 69127
-
Dan Gohman authored
llvm-svn: 69126
-
Dan Gohman authored
llvm-svn: 69125
-
Dan Gohman authored
code out of line. llvm-svn: 69124
-
Dale Johannesen authored
sext around sext(shorter IV + constant), using a longer IV instead, when it can figure out the add can't overflow. This comes up a lot in subscripting; mainly affects 64 bit. llvm-svn: 69123
-
Evan Cheng authored
llvm-svn: 69121
-
Devang Patel authored
llvm.dbg.region.end instrinsic. This nested llvm.dbg.func.start/llvm.dbg.region.end pair now enables DW_TAG_inlined_subroutine support in code generator. llvm-svn: 69118
-
Chris Lattner authored
llvm-svn: 69117
-