- Jul 15, 2011
-
-
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
-
Chris Lattner authored
uncompleted struct types. We now do what llvm-gcc does and compile them into [i8 x 0]. If the type is later completed, we make sure that it is appropriately cast. We compile the terrible example to something like this now: %struct.A = type { i32, i32, i32 } @g = external global [0 x i8] define void @_Z1fv() nounwind { entry: call void @_Z3fooP1A(%struct.A* bitcast ([0 x i8]* @g to %struct.A*)) ret void } declare void @_Z3fooP1A(%struct.A*) define %struct.A* @_Z2f2v() nounwind { entry: ret %struct.A* getelementptr inbounds ([0 x %struct.A]* bitcast ([0 x i8]* @g to [0 x %struct.A]*), i32 0, i64 1) } llvm-svn: 134972
-
Chris Lattner authored
fixes the -m32 build of oggenc. llvm-svn: 134971
-
Chris Lattner authored
stuff like this: typedef struct { int x, y, z; } foo_t; foo_t g; into: %"struct.<anonymous>" = type { i32, i32, i32 } we now get: %struct.foo_t = type { i32, i32, i32 } This doesn't change the behavior of the compiler, but makes the IR much easier to read. llvm-svn: 134969
-
Chris Lattner authored
llvm-svn: 134966
-
Chris Lattner authored
expectations in EmitCall. Next patch will take this further. llvm-svn: 134962
-
Bruno Cardoso Lopes authored
llvm-svn: 134952
-
Bruno Cardoso Lopes authored
passing. llvm-svn: 134951
-
Bill Wendling authored
an assert on Darwin llvm-gcc builds. Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, line 2067. etc. http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354 --- Reverse-merging r134888 into '.': U lib/CodeGen/CodeGenModule.cpp llvm-svn: 134950
-
Bruno Cardoso Lopes authored
which is: { <4 x float>, <4 x float> } should continue to go through memory. llvm-svn: 134946
-
John McCall authored
people write useful cleanup classes. llvm-svn: 134942
-
Bruno Cardoso Lopes authored
add one more testcase. llvm-svn: 134934
-
- Jul 11, 2011
-
-
John McCall authored
llvm-svn: 134913
-
Jay Foad authored
llvm-svn: 134893
-
John McCall authored
- an off-by-one error in emission of irregular array limits for InitListExprs - use an EH partial-destruction cleanup within the normal array-destruction cleanup - get the branch destinations right for the empty check Also some refactoring which unfortunately obscures these changes. llvm-svn: 134890
-
Jay Foad authored
llvm-svn: 134888
-
- Jul 10, 2011
-
-
John McCall authored
llvm-svn: 134880
-