- Apr 13, 2010
-
-
Fariborz Jahanian authored
property (atomic/nonatomic) is of aggregate type with gc'able member objects) (NeXT runtime). llvm-svn: 101156
-
Chris Lattner authored
elements with explicit zero values instead of with tail padding. On an example like this: struct foo { int a; int b; }; struct foo fooarray[] = { {1, 2}, {4}, }; We now lay this out as: @fooarray = global [2 x %struct.foo] [%struct.foo { i32 1, i32 2 }, %struct.foo { i32 4, i32 0 }] instead of as: @fooarray = global %0 <{ %struct.foo { i32 1, i32 2 }, %1 { i32 4, [4 x i8] zeroinitializer } }> Preserving both the struct type of the second element, but also the array type of the entire thing. llvm-svn: 101155
-
Evan Cheng authored
Teach postra machine licm to hoist more obvious invariants, e.g. instructions with no source operands. llvm-svn: 101154
-
Chris Lattner authored
llvm-svn: 101153
-
Chris Lattner authored
llvm-svn: 101152
-
Chris Lattner authored
llvm-svn: 101151
-
Chris Lattner authored
this caused us to codegen dead globals like this: struct foo { int a; int b; }; static struct foo fooarray[] = { {1, 2}, {4}, }; llvm-svn: 101150
-
Chris Lattner authored
Without it, there is no reason for a compiler that supports it to emit the dead static globals that the rewriter labels attribute(used). llvm-svn: 101149
-
Dan Gohman authored
llvm-svn: 101148
-
Dan Gohman authored
MachineBasicBlock::livein_iterator a const_iterator, because clients shouldn't ever be using the iterator interface to mutate the livein set. llvm-svn: 101147
-
Dan Gohman authored
the rest of CodeGen. llvm-svn: 101146
-
Dan Gohman authored
llvm-svn: 101145
-
Dan Gohman authored
llvm-svn: 101144
-
Dan Gohman authored
llvm-svn: 101143
-
Dan Gohman authored
that one operand is always greater than another. llvm-svn: 101142
-
Dan Gohman authored
llvm-svn: 101141
-
Eric Christopher authored
llvm-svn: 101139
-
Benjamin Kramer authored
llvm-svn: 101138
-
Douglas Gregor authored
for reference binding. The code attempted to handle both the computation of the ICS and the actual conversion, but the latter is an anachronism: we now use InitializationSequence for that. Sema::CheckReferenceInit is now a static function TryReferenceInit that's only use within overload resolution, and has been simplified slightly. It still needs to be updated per C++ [over.ics.ref], by eliminating more of the lvalue/rvalue checks. llvm-svn: 101136
-
Douglas Gregor authored
return a NULL expression; return either an error or a proper expression. Fixes PR6078. llvm-svn: 101133
-
Douglas Gregor authored
direct reference binding when the source and target types are not reference-related. Fixes PR6066. llvm-svn: 101132
-
Benjamin Kramer authored
llvm-svn: 101131
-
Benjamin Kramer authored
We have some code in llvm and clang where a BumpPtrAllocator is declared in a class but never used in the common case. Stop wasting memory there. llvm-svn: 101130
-
Zhongxing Xu authored
llvm-svn: 101129
-
Zhongxing Xu authored
llvm-svn: 101128
-
Zhongxing Xu authored
llvm-svn: 101127
-
Owen Anderson authored
llvm-svn: 101125
-
John McCall authored
members of non-templated classes. llvm-svn: 101122
-
Zhongxing Xu authored
llvm-svn: 101120
-
John McCall authored
PR6207. llvm-svn: 101119
-
Chris Lattner authored
llvm-svn: 101118
-
Owen Anderson authored
llvm-svn: 101117
-
Chris Lattner authored
patch by 'ether'. llvm-svn: 101116
-
Fariborz Jahanian authored
why it keeps failing on buildbot (but not for me). llvm-svn: 101115
-
Bob Wilson authored
recognize all the valid rotated immediates. This fixes the disassembler issue and will also help codegen for some unusual constant values. llvm-svn: 101114
-
Dan Gohman authored
numerator is an induction variable. For example, with code like this: for (i=0;i<n;++i) x[i%n] = 0; IndVarSimplify will now recognize that i is always less than n inside the loop, and eliminate the remainder. llvm-svn: 101113
-
John McCall authored
friend declaration; this used to be important but is now just a waste of time plus an unreasonable assertion. Fixes PR6174. llvm-svn: 101112
-
Daniel Dunbar authored
Type::getInt{1,8,...}[Ptr]Ty, so code can consistently use the methods on Type without occasionally needed to call IntegerType::get. llvm-svn: 101111
-
Daniel Dunbar authored
llvm-svn: 101110
-
Fariborz Jahanian authored
llvm-svn: 101109
-