- May 21, 2008
-
-
Bill Wendling authored
llvm-svn: 51358
-
Gabor Greif authored
llvm-svn: 51357
-
Chris Lattner authored
hoist them. llvm-svn: 51356
-
- May 20, 2008
-
-
Dan Gohman authored
llvm-svn: 51351
-
Dan Gohman authored
now that instcombine also has ComputeNumSignBits. llvm-svn: 51350
-
Gabor Greif authored
llvm-svn: 51349
-
Dan Gohman authored
ComputeNumSignBits to SelectionDAG's ComputeNumSignBits. llvm-svn: 51348
-
Dan Gohman authored
llvm-svn: 51345
-
Chris Lattner authored
llvm-svn: 51335
-
Steve Naroff authored
llvm-svn: 51330
-
Chris Lattner authored
the contributed code. llvm-svn: 51329
-
Gabor Greif authored
Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too. llvm-svn: 51328
-
Evan Cheng authored
llvm-svn: 51327
-
Nuno Lopes authored
llvm-svn: 51326
-
Nuno Lopes authored
llvm-svn: 51324
-
Chris Lattner authored
wrong directory, this is the patch to fix it (also attached)." Patch by 'OvermindDL1' llvm-svn: 51323
-
Eli Friedman authored
llvm-svn: 51322
-
Eli Friedman authored
llvm-svn: 51321
-
Eli Friedman authored
llvm-svn: 51320
-
Eli Friedman authored
llvm-svn: 51319
-
Eli Friedman authored
in Sema, per discussion on mailing list. This doesn't cause any changes in the test results. I'll probably add some more tests at some point, but it's an open question what we need to accept to be compatible with real code. This doesn't touch the existing isConstantExpr method on Expr; that should be addressed somehow eventually (either removed or refined to whatever is appropriate). llvm-svn: 51318
-
Eli Friedman authored
consensus was that it was fine; iso646 is trivial. We actually don't need that many headers overall... on Ubuntu, at least, all we need are stdint.h, stdarg.h, limits.h, and float.h to stop depending on having gcc's headers around for normal code. On a side note, the path searching needs some improvement; I had to hardcode the path to my header directory into clang.cpp to get the driver to use it consistently. llvm-svn: 51317
-
Eli Friedman authored
llvm-svn: 51316
-
Matthijs Kooijman authored
llvm-svn: 51313
-
Eli Friedman authored
as far as I can tell, and it fixes code like test/CodeGen/functions.c. (Whatever performance effect it might have, crashing on a construct like this isn't really acceptable; I've run into this multiple times.) llvm-svn: 51312
-
Eli Friedman authored
extend beyond the end of the function. I'm not completely sure this is the right way to fix this bug, so someone familiar with the parser should double-check. llvm-svn: 51311
-
Eli Friedman authored
llvm-svn: 51310
-
Eli Friedman authored
llvm-svn: 51309
-
Eli Friedman authored
llvm-svn: 51308
-
Eli Friedman authored
Sema. No codegen yet. llvm-svn: 51307
-
Evan Cheng authored
If local spiller optimization turns some instruction into an identity copy, it will be removed. If the output register happens to be dead (and source is obviously killed), transfer the kill / dead information to last use / def in the same MBB. llvm-svn: 51306
-
Evan Cheng authored
llvm-svn: 51305
-
Eli Friedman authored
llvm-svn: 51304
-
Matthijs Kooijman authored
llvm-svn: 51303
-
Chris Lattner authored
(add (sext x), cst) --> (sext (add x, cst')) (add (sext x), (sext y)) --> (sext (add int x, y)) (add double (sitofp x), fpcst) --> (sitofp (add int x, intcst)) (add double (sitofp x), (sitofp y)) --> (sitofp (add int x, y)) This generally reduces conversions. For example MiBench/telecomm-gsm gets these simplifications: HACK2: %tmp67.i142.i.i = sext i16 %tmp6.i141.i.i to i32 ; <i32> [#uses=1] %tmp23.i139.i.i = sext i16 %tmp2.i138.i.i to i32 ; <i32> [#uses=1] %tmp8.i143.i.i = add i32 %tmp67.i142.i.i, %tmp23.i139.i.i ; <i32> [#uses=3] HACK2: %tmp67.i121.i.i = sext i16 %tmp6.i120.i.i to i32 ; <i32> [#uses=1] %tmp23.i118.i.i = sext i16 %tmp2.i117.i.i to i32 ; <i32> [#uses=1] %tmp8.i122.i.i = add i32 %tmp67.i121.i.i, %tmp23.i118.i.i ; <i32> [#uses=3] HACK2: %tmp67.i.i190.i = sext i16 %tmp6.i.i189.i to i32 ; <i32> [#uses=1] %tmp23.i.i187.i = sext i16 %tmp2.i.i186.i to i32 ; <i32> [#uses=1] %tmp8.i.i191.i = add i32 %tmp67.i.i190.i, %tmp23.i.i187.i ; <i32> [#uses=3] HACK2: %tmp67.i173.i.i.i = sext i16 %tmp6.i172.i.i.i to i32 ; <i32> [#uses=1] %tmp23.i170.i.i.i = sext i16 %tmp2.i169.i.i.i to i32 ; <i32> [#uses=1] %tmp8.i174.i.i.i = add i32 %tmp67.i173.i.i.i, %tmp23.i170.i.i.i ; <i32> [#uses=3] HACK2: %tmp67.i152.i.i.i = sext i16 %tmp6.i151.i.i.i to i32 ; <i32> [#uses=1] %tmp23.i149.i.i.i = sext i16 %tmp2.i148.i.i.i to i32 ; <i32> [#uses=1] %tmp8.i153.i.i.i = add i32 %tmp67.i152.i.i.i, %tmp23.i149.i.i.i ; <i32> [#uses=3] HACK2: %tmp67.i.i.i.i = sext i16 %tmp6.i.i.i.i to i32 ; <i32> [#uses=1] %tmp23.i.i5.i.i = sext i16 %tmp2.i.i.i.i to i32 ; <i32> [#uses=1] %tmp8.i.i7.i.i = add i32 %tmp67.i.i.i.i, %tmp23.i.i5.i.i ; <i32> [#uses=3] This also fixes a bug in ComputeNumSignBits handling select and makes it more aggressive with and/or. llvm-svn: 51302
-
Eli Friedman authored
llvm-svn: 51301
-
Eli Friedman authored
llvm-svn: 51300
-
Ted Kremenek authored
Reclaim memory from chains of ScopedDecls, and reclaim memory for the initializers of EnumConstantDecls. llvm-svn: 51299
-
Ted Kremenek authored
llvm-svn: 51298
-
Ted Kremenek authored
Fixed a bug in ParmVarDecl::param_end(): Handle the case where there are no ParmVarDecls for a FunctionDecl, but its function prototype has formal arguments (can happen with typedefs). llvm-svn: 51297
-