- Jul 21, 2011
-
-
Jay Foad authored
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. llvm-svn: 135673
-
- Jul 20, 2011
-
-
Benjamin Kramer authored
llvm-svn: 135585
-
Chris Lattner authored
llvm-svn: 135577
-
Chris Lattner authored
some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. llvm-svn: 135576
-
rdar://9780211Chris Lattner authored
This is something of a hack, the problem is as follows: 1. we instantiate both copied of RetainPtr with the two different argument types (an id and protocol-qualified id). 2. We refer to the ctor of one of the instantiations when introducing global "x", this causes us to emit an llvm::Function for a prototype whose "this" has type "RetainPtr<id<bork> >*". 3. We refer to the ctor of the other instantiation when introducing global "y", however, because it *mangles to the same name as the other ctor* we just use a bitcasted version of the llvm::Function we previously emitted. 4. We emit deferred declarations, causing us to emit the body of the ctor, however the body we emit is for RetainPtr<id>, which expects its 'this' to have an IR type of "RetainPtr<id>*". Because of the mangling collision, we don't have this case, and explode. This is really some sort of weird AST invariant violation or something, but hey a bitcast makes the pain go away. llvm-svn: 135572
-
Chris Lattner authored
It doesn't matter in practice, but it is good to be tidy. llvm-svn: 135571
-
Chris Lattner authored
and ConvertTypeForMem are the same for pointers, it is best to just use ConvertType. Thanks Eli! llvm-svn: 135567
-
Chris Lattner authored
decaying an array of incomplete type (which has type [0 x i8]*) to a normal pointer (which has incompletetype*). llvm-svn: 135565
-
- Jul 19, 2011
-
-
Evan Cheng authored
llvm-svn: 135469
-
Devang Patel authored
llvm-svn: 135456
-
Devang Patel authored
llvm-svn: 135437
-
- Jul 18, 2011
-
-
Frits van Bommel authored
Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used. Mostly mechanical with some manual reformatting. llvm-svn: 135390
-
Nick Lewycky authored
Fixes PR10233! llvm-svn: 135377
-
Chris Lattner authored
llvm-svn: 135370
-
- Jul 15, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 135285
-
Jay Foad authored
llvm-svn: 135265
-
John McCall authored
is right --- shouldn't there be a TypeLoc in here somewhere? --- but at least it doesn't have a redundant QualType and a broken children() method. Noticed this while doing things in serialization. llvm-svn: 135257
-
Chris Lattner authored
to prevent recursive compilation problems. This fixes a failure of CodeGen/decl.c on x86-32 targets that don't fill in the coerce-to type. llvm-svn: 135256
-
Chris Lattner authored
types. Fore xample, we used to lower: struct bar { int a; }; struct foo { void (*FP)(struct bar); } G; to: %struct.foo = type { {}* } since the function pointer would cause recursive translation of bar and we didn't know if that would get us into trouble. We are now smart enough to know that it is fine, so we get this type instead: %struct.foo = type { void (i32)* } Codegen still needs to be prepared for uncooperative types at any place, which is why I let the maximally uncooperative code sit around for awhile to help shake out the bugs. llvm-svn: 135244
-
John McCall authored
to represent a fully-substituted non-type template parameter. This should improve source fidelity, as well as being generically useful for diagnostics and such. llvm-svn: 135243
-
- Jul 14, 2011
-
-
Benjamin Kramer authored
llvm-svn: 135155
-
- Jul 13, 2011
-
-
Bruno Cardoso Lopes authored
llvm-svn: 135091
-
Devang Patel authored
llvm-svn: 135083
-
John McCall authored
llvm-svn: 135054
-
John McCall authored
them, too. llvm-svn: 135038
-
John McCall authored
llvm-svn: 135036
-
John McCall authored
partial destruction. llvm-svn: 135033
-
Chris Lattner authored
i32. They almost always end up this way in the end anyway, and if we get lucky, this avoids generating some bitcasts. llvm-svn: 135032
-
Chris Lattner authored
like arguments. Thanks PR10337! :) llvm-svn: 135030
-
John McCall authored
llvm-svn: 135029
-
John McCall authored
storage duration, then explicitly exempt ownership-qualified types from it. llvm-svn: 135028
-
John McCall authored
which implicitly makes it EH-safe as well. llvm-svn: 135025
-
Douglas Gregor authored
the complete destructor and then invoke the global delete operator. Previously, we would invoke the deleting destructor, which calls the wrong delete operator. Fixes PR10341. llvm-svn: 135021
-
Bruno Cardoso Lopes authored
llvm-svn: 135004
-
- Jul 12, 2011
-
-
John McCall authored
of flags. No functionality change. llvm-svn: 134997
-
Benjamin Kramer authored
llvm-svn: 134995
-
John McCall authored
llvm-svn: 134989
-
John McCall authored
and kill a lot of redundant code. llvm-svn: 134988
-
Jay Foad authored
StructType::get() and TargetData::getIntPtrType(). llvm-svn: 134982
-
Chandler Carruth authored
builds introduced in r134972: lib/CodeGen/CGExpr.cpp:1294:7: error: no matching function for call to 'EmitBitCastOfLValueToProperType' lib/CodeGen/CGExpr.cpp:1278:1: note: candidate function not viable: no known conversion from 'CGBuilderTy' (aka 'IRBuilder<false>') to 'llvm::IRBuilder<> &' for 1st argument This fixes the issue by passing CodeGenFunction on down, and using its builder directly rather than passing just the builder down. This may not be the best / cleanest fix, Chris please review. It at least fixes builds. llvm-svn: 134977
-