- Jul 11, 2011
-
-
Jay Foad authored
llvm-svn: 134888
-
- Jul 10, 2011
-
-
John McCall authored
llvm-svn: 134880
-
Chris Lattner authored
is called whenever a tag type is completed. We previously used that as the sign to layout the codegen representation for the tag type, which worked but meant that we laid out *every* completed type, whether it was used or not. Now we just lay out the type if we've already seen it somehow else. This means that we lay out types we've used but haven't seen a body for, but we don't lay out tons of stuff that noone cares about. llvm-svn: 134866
-
Chris Lattner authored
us to revert the other half of r134860. Now things are back to a relatively tidy state. llvm-svn: 134865
-
Chris Lattner authored
llvm-svn: 134864
-
Chris Lattner authored
caused us to skip layout out a function accurately. If so, flush the type cache for both the function and struct case to ensure that any pointers to the functions get recomputed. This is overconservative, but with this patch clang can build itself again. llvm-svn: 134863
-
Chris Lattner authored
type, even when in the struct case. This was one root issue that was causing type mismatches throughout the compiler. llvm-svn: 134862
-
Chris Lattner authored
conservative when converting a functiontype to IR when in a "pointer within a struct" context. This has the unfortunate sideeffect of compiling all function pointers inside of structs into "{}*" which, though correct, is ugly. This has the positive side effect of being correct, and it is pretty straight-forward to improve on this. llvm-svn: 134861
-
Chris Lattner authored
do an explicit bitcast to whatever ConvertType produces. This will go with the next patch. llvm-svn: 134860
-
Chris Lattner authored
llvm-svn: 134855
-
Chris Lattner authored
it is a predicate, not an action. Change the return type to be a bool, not the incomplete member. Enhace it to detect the recursive compilation case, allowing us to compile Eli's testcase on llvmdev: struct T { struct T (*p)(void); } t; into: %struct.T = type { {}* } @t = common global %struct.T zeroinitializer, align 8 llvm-svn: 134853
-
- Jul 09, 2011
-
-
Chris Lattner authored
the enum has already been converted. If not, there cannot be any types built on top of it, so there is no need to flush the cache. llvm-svn: 134841
-
Chris Lattner authored
llvm-svn: 134831
-
John McCall authored
expecting so much concentrated oddity on what seemed like a trivial feature. Thanks to François Pichet for doing the MSVC legwork here. llvm-svn: 134813
-
John McCall authored
llvm-svn: 134785
-
John McCall authored
- Emit default-initialization of arrays that were partially initialized with initializer lists with a loop, rather than emitting the default initializer N times; - support destroying VLAs of non-trivial type, although this is not yet exposed to users; and - support the partial destruction of arrays initialized with initializer lists when an initializer throws an exception. llvm-svn: 134784
-
Eli Friedman authored
Note that because we don't usually touch the MMX registers anyway, all -mno-mmx needs to do is tweak the x86-32 calling convention a little for vectors that look like MMX vectors, and prevent the definition of __MMX__. clang doesn't actually stop the user from using MMX inline asm operands or MMX builtins in -mno-mmx mode; as a QOI issue, it would be nice to diagnose, but I doubt it really matters much. <rdar://problem/9694837> llvm-svn: 134770
-
Bruno Cardoso Lopes authored
llvm-svn: 134765
-
Jakub Staszak authored
llvm-svn: 134761
-
Bruno Cardoso Lopes authored
llvm-svn: 134754
-
- Jul 08, 2011
-
-
Cameron Zwarich authored
llvm-svn: 134743
-
- Jul 07, 2011
-
-
Bill Wendling authored
the normal case. Before, for this: $ cat t.c int test(int x) { return x * 2; } We would get this: addl %edi, %edi jno LBB0_2 ## BB#1: ## %overflow ud2 LBB0_2: ## %nooverflow movl %edi, %eax popq %rbp ret Now we get this: addl %edi, %edi jo LBB0_2 ## BB#1: ## %nooverflow movl %edi, %eax popq %rbp ret LBB0_2: ## %overflow ud2 <rdar://problem/8283919> llvm-svn: 134642
-
Cameron Zwarich authored
so roll it out. llvm-svn: 134638
-
Nick Lewycky authored
function. Fixes PR10233! llvm-svn: 134634
-
David Chisnall authored
If we're using the pure non-fragile ABI, then skip some of the contortions required to support the transitional ABI. llvm-svn: 134612
-
David Chisnall authored
Set a flag to tell the runtime when we're compiling in ARC mode and use the pure-nonfragile ABI for both ARC and GC mode. llvm-svn: 134611
-
John McCall authored
where we have an immediate need of a retained value. As an exception, don't do this when the call is made as the immediate operand of a __bridge retain. This is more in the way of a workaround than an actual guarantee, so it's acceptable to be brittle here. rdar://problem/9504800 llvm-svn: 134605
-
Nick Lewycky authored
llvm-svn: 134589
-
- Jul 06, 2011
-
-
-
John McCall authored
exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. llvm-svn: 134456
-
John McCall authored
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. llvm-svn: 134453
-
Dan Gohman authored
hardwired into the default pass list. llvm-svn: 134445
-
- Jul 02, 2011
-
-
Eli Friedman authored
The start of some work on getting -mno-mmx working the way we want it to. llvm-svn: 134300
-
Eric Christopher authored
Fixes rdar://9714064 llvm-svn: 134292
-
- Jul 01, 2011
-
-
Douglas Gregor authored
initializer. Previously, we only used guard variables for weak static data members. Fixes <rdar://problem/9692249>. llvm-svn: 134266
-
Douglas Gregor authored
trivial default constructors. This generated-code regression was caused by r131796, which had simplified the handling of default initialization in Sema. Fixes <rdar://problem/9694300>. llvm-svn: 134260
-
- Jun 30, 2011
-
-
David Chisnall authored
llvm-svn: 134140
-
Evan Cheng authored
llvm-svn: 134128
-
- Jun 29, 2011
-
-
Fariborz Jahanian authored
accessibility of an initializer which is a compound statement. // rdar://9694706 llvm-svn: 134091
-
Fariborz Jahanian authored
replacing -freset-local-blocks. // rdar://9227352 llvm-svn: 134082
-