- Mar 04, 2009
-
-
Owen Anderson authored
Add a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update a testcase to check this. llvm-svn: 66029
-
Daniel Dunbar authored
- Add Options.def file, collects option information. - Actual option instantiation is handled lazily by OptTable to allow the driver to not need to instantiate all options. - cast<> support for Option, other minor tweaks. llvm-svn: 66028
-
Eli Friedman authored
llvm-svn: 66027
-
Gabor Greif authored
because less bytes are allocated and subobject construction is gone. For reference how it works, see BasicBlock.h. Btw. it is very assuring to see that somebody has invented this ilist-embedded sentinel technique before me :-) llvm-svn: 66026
-
Chris Lattner authored
preexpanded macro arguments from the preprocessor's bump pointer. This reduces # mallocs from 12444 to 11792. llvm-svn: 66025
-
Evan Cheng authored
llvm-svn: 66024
-
Chris Lattner authored
decls. This reduces the number of calls to malloc on cocoa.h with pth and -disable-free from 15958 to 12444 times (down ~3500). llvm-svn: 66023
-
Zhongxing Xu authored
llvm-svn: 66022
-
Eli Friedman authored
llvm-svn: 66021
-
Chris Lattner authored
this, make DeclBase::Destroy destroy attributes instead of the DeclBase dtor. llvm-svn: 66020
-
Eli Friedman authored
Linux. llvm-svn: 66019
-
Eli Friedman authored
chosen sub-expression, rather than just evaluating the condition. llvm-svn: 66018
-
Chris Lattner authored
This has two advantages 1) no more leaking them, 2) fewer calls to malloc. This changes us from calling malloc 3685/1390/883/2974/1185 times respectively on 16/20/24/28/32 byte objects when parsing cocoa.h with pth and -disable-free to calling it 2816/1020/702/2903/1168 times each respectively. llvm-svn: 66017
-
Chris Lattner authored
llvm-svn: 66016
-
Chris Lattner authored
multiple sequential cases to a) not create tons of fall-through basic blocks and b) not recurse deeply. This fixes codegen on 100K deep cases, and improves codegen on moderate cases from this: switch i32 %tmp, label %sw.epilog [ i32 1000, label %sw.bb i32 1001, label %sw.bb1 i32 1002, label %sw.bb2 i32 1003, label %sw.bb3 i32 1004, label %sw.bb4 ... sw.bb: ; preds = %entry br label %sw.bb1 sw.bb1: ; preds = %entry, %sw.bb br label %sw.bb2 sw.bb2: ; preds = %entry, %sw.bb1 br label %sw.bb3 sw.bb3: ; preds = %entry, %sw.bb2 br label %sw.bb4 to: switch i32 %tmp, label %sw.epilog [ i32 1000, label %sw.bb i32 1001, label %sw.bb i32 1002, label %sw.bb i32 1003, label %sw.bb i32 1004, label %sw.bb sw.bb: ;; many preds llvm-svn: 66015
-
Chris Lattner authored
llvm-svn: 66014
-
Chris Lattner authored
nested cases instead of recursive. llvm-svn: 66013
-
Eli Friedman authored
booleans. llvm-svn: 66012
-
Chris Lattner authored
multiple sequential case statements instead of doing it with recursion. This fixes a problem where we run out of stack space parsing 100K directly nested cases. There are a couple other problems that prevent this from being useful in practice (right now the example only parses correctly with -disable-free and doesn't work with -emit-llvm), but this is a start. I'm not including a testcase because it is large and uninteresting for regtesting. Sebastian, I would appreciate it if you could scrutinize the smart pointer gymnastics I do. llvm-svn: 66011
-
Eli Friedman authored
llvm-svn: 66010
-
Eli Friedman authored
first extend the integer to the correct width. llvm-svn: 66009
-
Dan Gohman authored
llvm-svn: 66008
-
Mike Stump authored
still give an unsupported error for them due to the fact this is a work in progress. llvm-svn: 66007
-
Evan Cheng authored
llvm-svn: 66006
-
Ted Kremenek authored
Added the notion of a "boundable region", which is a region that can have a direct binding in the StoreManager. llvm-svn: 66005
-
Dan Gohman authored
result from add, sub, inc, and dec instructions in simple cases. llvm-svn: 66004
-
Daniel Dunbar authored
llvm-svn: 66003
-
Daniel Dunbar authored
reduces allocated Decl size by ~8% on Cocoa.h (~700k). llvm-svn: 66002
-
Dale Johannesen authored
llvm-svn: 66001
-
Dale Johannesen authored
llvm-svn: 66000
-
Dale Johannesen authored
per Chris' suggestion. Slightly faster. llvm-svn: 65999
-
Evan Cheng authored
Fix PR3701. 1. X86 target renamed eflags register to flags. This matches what llvm-gcc generates so codegen knows flags register is being clobbered by inline asm. 2. BURR scheduler should also check if inline asm nodes can clobber "live" physical registers. Previously it was only checking target nodes with implicit defs. llvm-svn: 65996
-
Devang Patel authored
If a global constant is dead then global's debug info should not prevent the optimizer in deleting the global. And while deleting global, delete global's debug info also. llvm-svn: 65994
-
Dale Johannesen authored
when counting work; it was only off by 1. llvm-svn: 65993
-
Dale Johannesen authored
While the patch is clearly correct in itself, it's become apparent other places are assuming debug intrinsics are marked as touching memory...this needs more testing. llvm-svn: 65992
-
Ted Kremenek authored
llvm-svn: 65988
-
Ted Kremenek authored
llvm-svn: 65987
-
Bill Wendling authored
so it changed it into a 31 via the TLO.ShrinkDemandedConstant() call. Then it would go through the DAG combiner again. This time it had a value of 31, which was turned into a -1 by TLI.SimplifyDemandedBits(). This would ping pong forever. Teach the TLO.ShrinkDemandedConstant() call not to lower a value if the demanded value is an XOR of all ones. llvm-svn: 65985
-
Ted Kremenek authored
pointer-to-pointer casts involving symbolic locations. llvm-svn: 65984
-
Ted Kremenek authored
llvm-svn: 65983
-