- Apr 29, 2010
-
-
Evan Cheng authored
- Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments. llvm-svn: 102565
-
Daniel Dunbar authored
runtime library stuff, even if compiler-rt is available. llvm-svn: 102560
-
Daniel Dunbar authored
- <rdar://problem/7919678> llvm-svn: 102559
-
Devang Patel authored
llvm-svn: 102558
-
Kevin Enderby authored
Operand size override prefix to be part of their records. llvm-svn: 102556
-
Evan Cheng authored
Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done. llvm-svn: 102554
-
Alexis Hunt authored
as well as pre- and post-inc/decrements in C (not that I think it matters for any C code). llvm-svn: 102552
-
Douglas Gregor authored
Fix template instantiation for __builtin_offfsetof expressions that refer to members of anonymous structs/unions llvm-svn: 102551
-
Nate Begeman authored
llvm-svn: 102549
-
Douglas Gregor authored
llvm-svn: 102548
-
Chris Lattner authored
llvm-svn: 102547
-
Fariborz Jahanian authored
of c++ objects (NeXt runtime). radar 7900343. llvm-svn: 102546
-
Dale Johannesen authored
llvm-svn: 102545
-
Dale Johannesen authored
llvm-svn: 102544
-
Douglas Gregor authored
Amadini. This change introduces a new expression node type, OffsetOfExpr, that describes __builtin_offsetof. Previously, __builtin_offsetof was implemented using a unary operator whose subexpression involved various synthesized array-subscript and member-reference expressions, which was ugly and made it very hard to instantiate as a template. OffsetOfExpr represents the AST more faithfully, with proper type source information and a more compact representation. OffsetOfExpr also has support for dependent __builtin_offsetof expressions; it can be value-dependent, but will never be type-dependent (like sizeof or alignof). This commit introduces template instantiation for __builtin_offsetof as well. There are two major caveats to this patch: 1) CodeGen cannot handle the case where __builtin_offsetof is not a constant expression, so it produces an error. So, to avoid regressing in C, we retain the old UnaryOperator-based __builtin_offsetof implementation in C while using the shiny new OffsetOfExpr implementation in C++. The old implementation can go away once we have proper CodeGen support for this case, which we expect won't cause much trouble in C++. 2) __builtin_offsetof doesn't work well with non-POD class types, particularly when the designated field is found within a base class. I will address this in a subsequent patch. Fixes PR5880 and a bunch of assertions when building Boost.Python tests. llvm-svn: 102542
-
- Apr 28, 2010
-
-
Fariborz Jahanian authored
ivar class objects (NeXt runtime). (radar 7900343). llvm-svn: 102533
-
Bob Wilson authored
be installed. Disable it by default. llvm-svn: 102531
-
Jim Grosbach authored
Add sizes non-floating point versions for the eh sjlj intrinsic expansions. rdar://7895451 llvm-svn: 102526
-
Devang Patel authored
Update tests. Now DBG_VALUE instruction is created only if alloca corresponding to llvm.dbg.declare is missing. llvm-svn: 102524
-
Chris Lattner authored
Patch by Lars R in PR6961. llvm-svn: 102523
-
Chris Lattner authored
metadata references in non-function-local MDNodes should drop to null. llvm-svn: 102519
-
Evan Cheng authored
Before: DBG_VALUE %RSI, 0, !-1; dbg:SimpleRegisterCoalescing.cpp:2707 Now: DBG_VALUE %RSI, 0, !"this"; dbg:SimpleRegisterCoalescing.cpp:2707 llvm-svn: 102518
-
Chris Lattner authored
expected-error-re {{someregex}} Patch by mike-m! llvm-svn: 102516
-
Chris Lattner authored
alignment of globals to the preferred alignment, but only when there is no section specified on the global (by far the common case). llvm-svn: 102515
-
David Chisnall authored
Changed signature of GenerateMessageSend() function to pass the ObjCInterfaceDecl for class messages and removed the boolean IsClassMessage argument, which wasn't used anywhere. Emitted some metadata on message sends to allow a later pass to do some speculative inlining of class methods (GNU runtime). Speculative inlining of instance methods requires type feedback to be useful (work in progress), but for class methods it works quite nicely. llvm-svn: 102514
-
Devang Patel authored
While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca matching llvm.dbg.declare intrinsic is missing. llvm-svn: 102513
-
Nate Begeman authored
llvm-svn: 102512
-
Jakob Stoklund Olesen authored
update them. Computing kill flags is notoriously difficult, and the coalescer would get it wrong sometimes, and it would completely skip physical registers. Now we simply remove kill flags based on the live intervals after coalescing. This is a few percent slower, but now we get correct kill flags for physical registers after coalescing. llvm-svn: 102510
-
Jakob Stoklund Olesen authored
instruction. This instruction would crash the pass: INLINEASM <es:foo $0 $1>, 9, %FP0<kill>, 9, %FP0<kill>, 14, %EFLAGS<earlyclobber,def,dead> Now it doesn't. llvm-svn: 102509
-
Bob Wilson authored
after all. llvm-svn: 102508
-
Bob Wilson authored
llvm-svn: 102505
-
Bob Wilson authored
llvm-svn: 102504
-
Daniel Dunbar authored
Revert "Fix for PR6953: per gcc, regparm and noreturn affect the compatibility of", it is breaking the builds of quite a few projects (emacs, dovecot, gnutar, bison). llvm-svn: 102501
-
Fariborz Jahanian authored
ivar of c++ object types. llvm-svn: 102500
-
Benjamin Kramer authored
llvm-svn: 102499
-
Benjamin Kramer authored
llvm-svn: 102498
-
David Chisnall authored
llvm-svn: 102497
-
Abramo Bagnara authored
llvm-svn: 102496
-
Evan Cheng authored
llvm-svn: 102493
-
Evan Cheng authored
llvm-svn: 102492
-