- Apr 13, 2010
-
-
Fariborz Jahanian authored
for non-fragile abi on darwin. llvm-svn: 101168
-
Evan Cheng authored
Expand postra machine licm's capability a little more. If an instruction's register operands are all loop invariants, then it's safe to hoist it. llvm-svn: 101167
-
Jakob Stoklund Olesen authored
Sometimes it is desirable to sink instructions along a critical edge: x = ... if (a && b) ... else use(x); The 'a && b' condition creates a critical edge to the else block, but we still want to sink the computation of x into the block. The else block is dominated by the parent block, so we are not pushing instructions into new code paths. llvm-svn: 101165
-
Fariborz Jahanian authored
on objc classes for Darwin. Radar 7839485. llvm-svn: 101164
-
Evan Cheng authored
llvm-svn: 101163
-
Evan Cheng authored
Re-apply 101075 and fix it properly. Just reuse the debug info of the branch instruction being optimized. There is no need to --I which can deref off start of the BB. llvm-svn: 101162
-
Fariborz Jahanian authored
llvm-svn: 101161
-
Chris Lattner authored
patch by Marius Wachtler! llvm-svn: 101160
-
Eric Christopher authored
in a nightly tester. llvm-svn: 101158
-
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
-