- Apr 21, 2010
-
-
Devang Patel authored
Add command line option to disable debug info printing in .s file. This option does not impact debug info generation and preservation through earlier compile starges. llvm-svn: 102012
-
Fariborz Jahanian authored
property synthesis is using a super class ivar. llvm-svn: 102011
-
Anders Carlsson authored
Pass the InitializedEntity to Sema::CheckConstructorAccess and use it to report different diagnostics depending on which entity is being initialized. llvm-svn: 102010
-
Bob Wilson authored
GCCAS time for MultiSource/Benchmarks/ASCI_Purple/SMG2000. llvm-svn: 102009
-
Johnny Chen authored
llvm-svn: 102008
-
Anders Carlsson authored
llvm-svn: 102007
-
Jakob Stoklund Olesen authored
So far this is just a clone of -regalloc=local that has been lobotomized to run 25% faster. It drops the least-recently-used calculations, and is just plain stupid when it runs out of registers. The plan is to make this go even faster for -O0 by taking advantage of the short live intervals in unoptimized code. It should not be necessary to calculate liveness when most virtual registers are killed 2-3 instructions after they are born. llvm-svn: 102006
-
Fariborz Jahanian authored
llvm-svn: 102005
-
Devang Patel authored
Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges. llvm-svn: 102004
-
Dan Gohman authored
with ScalarEvolution's overall approach to pointer types. llvm-svn: 102003
-
Duncan Sands authored
llvm-svn: 102001
-
Benjamin Kramer authored
llvm-svn: 101999
-
John McCall authored
because EmitBranch actually clears the insert point. This version actually accomplishes what I initially wanted. llvm-svn: 101998
-
John McCall authored
(if there's a current block). The chief advantage of doing this is that it lets us pick blocks (e.g. EH blocks) to push to the end of the function so that fallthrough happens consistently --- i.e. it gives us the flexibility of ordering blocks as we please without having to change the order in which we generate code. There are standard (?) optimization passes which can do some of that for us, but better to generate reasonable code to begin with. llvm-svn: 101997
-
John McCall authored
just to save the current insertion state! This change significantly simplifies the IR CFG in exceptions code. llvm-svn: 101996
-
Chris Lattner authored
llvm-svn: 101995
-
Zhongxing Xu authored
llvm-svn: 101994
-
Chris Lattner authored
llvm-svn: 101992
-
Douglas Gregor authored
and only define it where we know we need it---Linux and Cygwin. Thanks to Chris for the prodding. llvm-svn: 101989
-
Douglas Gregor authored
llvm-svn: 101988
-
Chris Lattner authored
editing to do. llvm-svn: 101987
-
Blaine Garst authored
llvm-svn: 101986
-
Chris Lattner authored
don't have updates for 2.7. llvm-svn: 101985
-
Evan Cheng authored
optimization for non-leaf functions. This will be hooked up to gcc's -momit-leaf-frame-pointer option. rdar://7886181 llvm-svn: 101984
-
Zhongxing Xu authored
llvm-svn: 101983
-
John McCall authored
llvm-svn: 101982
-
Zhongxing Xu authored
llvm-svn: 101981
-
Zhongxing Xu authored
llvm-svn: 101980
-
Evan Cheng authored
llvm-svn: 101979
-
Evan Cheng authored
llvm-svn: 101978
-
Dan Gohman authored
llvm-svn: 101977
-
Dan Gohman authored
llvm-svn: 101976
-
Dan Gohman authored
SelectionDAG directory and into a new Analysis.cpp file. llvm-svn: 101975
-
Johnny Chen authored
before reglist were not properly handled with respect to IT Block. Fix that by creating a new method ARMBasicMCBuilder::DoPredicateOperands() used by those instructions for disassembly. Add a test case. llvm-svn: 101974
-
rdar://6295824Chris Lattner authored
we have RefreshCallGraph detect when a function pass devirtualizes a call, and have CGSCCPassMgr iterate (up to a count) when this happens. This allows (in the example) GVN to devirtualize the call in foo, then the inliner to inline it away. This is not currently enabled because I haven't done any analysis on the (potentially substantial) code size or performance impact of doing this, and guess what, it exposes callgraph updating bugs in various passes. This is progress though, and you can play with it by passing -max-cg-scc-iterations=5 to opt. llvm-svn: 101973
-
Douglas Gregor authored
expressions, to improve source-location information, clarify the actual receiver of the message, and pave the way for proper C++ support. The ObjCMessageExpr node represents four different kinds of message sends in a single AST node: 1) Send to a object instance described by an expression (e.g., [x method:5]) 2) Send to a class described by the class name (e.g., [NSString method:5]) 3) Send to a superclass class (e.g, [super method:5] in class method) 4) Send to a superclass instance (e.g., [super method:5] in instance method) Previously these four cases where tangled together. Now, they have more distinct representations. Specific changes: 1) Unchanged; the object instance is represented by an Expr*. 2) Previously stored the ObjCInterfaceDecl* referring to the class receiving the message. Now stores a TypeSourceInfo* so that we know how the class was spelled. This both maintains typedef information and opens the door for more complicated C++ types (e.g., dependent types). There was an alternative, unused representation of these sends by naming the class via an IdentifierInfo *. In practice, we either had an ObjCInterfaceDecl *, from which we would get the IdentifierInfo *, or we fell into the case below... 3) Previously represented by a class message whose IdentifierInfo * referred to "super". Sema and CodeGen would use isStr("super") to determine if they had a send to super. Now represented as a "class super" send, where we have both the location of the "super" keyword and the ObjCInterfaceDecl* of the superclass we're targetting (statically). 4) Previously represented by an instance message whose receiver is a an ObjCSuperExpr, which Sema and CodeGen would check for via isa<ObjCSuperExpr>(). Now represented as an "instance super" send, where we have both the location of the "super" keyword and the ObjCInterfaceDecl* of the superclass we're targetting (statically). Note that ObjCSuperExpr only has one remaining use in the AST, which is for "super.prop" references. The new representation of ObjCMessageExpr is 2 pointers smaller than the old one, since it combines more storage. It also eliminates a leak when we loaded message-send expressions from a precompiled header. The representation also feels much cleaner to me; comments welcome! This patch attempts to maintain the same semantics we previously had with Objective-C message sends. In several places, there are massive changes that boil down to simply replacing a nested-if structure such as: if (message has a receiver expression) { // instance message if (isa<ObjCSuperExpr>(...)) { // send to super } else { // send to an object } } else { // class message if (name->isStr("super")) { // class send to super } else { // send to class } } with a switch switch (E->getReceiverKind()) { case ObjCMessageExpr::SuperInstance: ... case ObjCMessageExpr::Instance: ... case ObjCMessageExpr::SuperClass: ... case ObjCMessageExpr::Class:... } There are quite a few places (particularly in the checkers) where send-to-super is effectively ignored. I've placed FIXMEs in most of them, and attempted to address send-to-super in a reasonable way. This could use some review. llvm-svn: 101972
-
Evan Cheng authored
extract_subreg / insert_subreg, etc. - Add support for more aggressive insert_subreg coalescing. llvm-svn: 101971
-
Dan Gohman authored
recursive callsites, inlining can reduce the number of calls by exponential factors, as it does in MultiSource/Benchmarks/Olden/treeadd. More involved heuristics will be needed. llvm-svn: 101969
-
Bill Wendling authored
fixes a bug (<rdar://problem/7880900>) in the JIT. This code wouldn't work: target triple = "x86_64-apple-darwin" define double @func(double %a) { %tmp1 = fmul double %a, 5.000000e-01 ; <double> [#uses=1] ret double %tmp1 } define i32 @main() nounwind { %1 = call double @func(double 4.770000e-04) ; <i64> [#uses=0] ret i32 0 } llvm-svn: 101965
-
Evan Cheng authored
llvm-svn: 101964
-