- Jan 04, 2010
-
-
Dan Gohman authored
verifying that the special case does not occur. llvm-svn: 92504
-
Dan Gohman authored
for a refactoring I'm working on. llvm-svn: 92503
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92502
-
Devang Patel authored
The test, derived from optimzed IR, does not mention "bar" in debug info anywhere so the dwarf writer is not expected to emit any debug info for function "bar". llvm-svn: 92499
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92498
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92496
-
Chris Lattner authored
when doing this transform if the GEP is not inbounds. No testcase because it is very difficult to trigger this: instcombine already canonicalizes GEP indices to pointer size, so it relies specific permutations of the instcombine worklist. Thanks to Duncan for pointing this possible problem out. llvm-svn: 92495
-
Chris Lattner authored
llvm-svn: 92494
-
Dan Gohman authored
llvm-svn: 92492
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92490
-
Anton Korobeynikov authored
llvm-svn: 92472
-
Chris Lattner authored
llvm-svn: 92471
-
Mikhail Glushenkov authored
llvm-svn: 92470
-
Chris Lattner authored
llvm-svn: 92469
-
Chris Lattner authored
file. InstructionCombining.cpp is now down to a svelte 9300 lines :) llvm-svn: 92468
-
Chris Lattner authored
a new InstCombineCompares.cpp file. llvm-svn: 92467
-
Chris Lattner authored
llvm-svn: 92466
-
Chris Lattner authored
move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K lines out of instcombine.cpp llvm-svn: 92465
-
Mikhail Glushenkov authored
Also trailing whitespace & 80-col violations. llvm-svn: 92464
-
Chris Lattner authored
among the instcombine library. llvm-svn: 92463
-
Chris Lattner authored
llvm-svn: 92462
-
Chris Lattner authored
llvm-svn: 92461
-
Chris Lattner authored
llvm-svn: 92460
-
Chris Lattner authored
llvm-svn: 92459
-
Chris Lattner authored
on the example in PR4216. This doesn't trigger in the testsuite, so I'd really appreciate someone scrutinizing the logic for correctness. llvm-svn: 92458
-
- Jan 03, 2010
-
-
Chris Lattner authored
two labels as a truncate. llvm-svn: 92455
-
Chris Lattner authored
returned null, and may not have been big enough in any case. Thanks to Jay Foad for pointing this out! llvm-svn: 92452
-
Chris Lattner authored
llvm-svn: 92451
-
Chris Lattner authored
global variable initializer to require relocations. llvm-svn: 92450
-
Chris Lattner authored
llvm-svn: 92446
-
Nick Lewycky authored
functionality change. llvm-svn: 92445
-
Chris Lattner authored
arrays of structs and other arrays, so long as all the subsequent indexes are constants. This triggers frequently for stuff like: @divisions = internal constant [29 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 2], [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2]], align 32 ; <[29 x [2 x i32]]*> [#uses=50] %623 = getelementptr inbounds [29 x [2 x i32]]* @divisions, i64 0, i64 %619, i64 0 ; <i32*> [#uses=1] %684 = icmp eq i32 %683, 999 also for the "my_defs" table in 'gs', etc. llvm-svn: 92444
-
Nick Lewycky authored
llvm-svn: 92436
-
- Jan 02, 2010
-
-
Chris Lattner authored
occurs in 403.gcc in mode_mask_array, in safe-ctype.c (which is copied in multiple apps) in _sch_istable, etc. llvm-svn: 92427
-
Chris Lattner authored
when a consequtive sequence of elements all satisfies the predicate. Like the double compare case, this generates better code than the magic constant case and generalizes to more than 32/64 element array lookups. Here are some examples where it triggers. From 403.gcc, most accesses to the rtx_class array are handled, e.g.: @rtx_class = constant [153 x i8] c"xxxxxmmmmmmmmxxxxxxxxxxxxmxxxxxxiiixxxxxxxxxxxxxxxxxxxooxooooooxxoooooox3x2c21c2222ccc122222ccccaaaaaa<<<<<<<<<<<<<<<<<<111111111111bbooxxxxxxxxxxcc2211x", align 32 ; <[153 x i8]*> [#uses=547] %142 = icmp eq i8 %141, 105 @rtx_class = constant [153 x i8] c"xxxxxmmmmmmmmxxxxxxxxxxxxmxxxxxxiiixxxxxxxxxxxxxxxxxxxooxooooooxxoooooox3x2c21c2222ccc122222ccccaaaaaa<<<<<<<<<<<<<<<<<<111111111111bbooxxxxxxxxxxcc2211x", align 32 ; <[153 x i8]*> [#uses=543] %165 = icmp eq i8 %164, 60 Also, most of the 59-element arrays (mode_class/rid_to_yy, etc) optimized before are actually range compares. This lets 32-bit machines optimize them. 400.perlbmk has stuff like this: 400.perlbmk: PL_regkind, even for 32-bit: @PL_regkind = constant [62 x i8] c"\00\00\02\02\02\06\06\06\06\09\09\0B\0B\0D\0E\0E\0E\11\12\12\14\14\16\16\18\18\1A\1A\1C\1C\1E\1F !!!$$&'((((,-.///88886789:;8$", align 32 ; <[62 x i8]*> [#uses=4] %811 = icmp ne i8 %810, 33 @PL_utf8skip = constant [256 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\04\04\04\05\05\05\05\06\06\07\0D", align 32 ; <[256 x i8]*> [#uses=94] %12 = icmp ult i8 %10, 2 etc. llvm-svn: 92426
-
Chris Lattner authored
for this case. llvm-svn: 92425
-
Chris Lattner authored
to using -2/-3 instead of -1/-2 for a future xform. llvm-svn: 92423
-
Chris Lattner authored
If there is interest, it can be resurrected from SVN. PR4912. llvm-svn: 92422
-
Nick Lewycky authored
and. llvm-svn: 92419
-
Nick Lewycky authored
handle them efficiently. This is the opposite direction of the transformation we used to have here. llvm-svn: 92418
-