- Jan 25, 2009
-
-
Evan Cheng authored
Teach 2addr pass to be do more commuting. If both uses of a two-address instruction are killed, but the first operand has a use before and after the def, commute if the second operand does not suffer from the same issue. %reg1028<def> = EXTRACT_SUBREG %reg1027<kill>, 1 %reg1029<def> = MOV8rr %reg1028 %reg1029<def> = SHR8ri %reg1029, 7, %EFLAGS<imp-def,dead> insert => %reg1030<def> = MOV8rr %reg1028 %reg1030<def> = ADD8rr %reg1028<kill>, %reg1029<kill>, %EFLAGS<imp-def,dead> In this case, it might not be possible to coalesce the second MOV8rr instruction if the first one is coalesced. So it would be profitable to commute it: %reg1028<def> = EXTRACT_SUBREG %reg1027<kill>, 1 %reg1029<def> = MOV8rr %reg1028 %reg1029<def> = SHR8ri %reg1029, 7, %EFLAGS<imp-def,dead> insert => %reg1030<def> = MOV8rr %reg1029 %reg1030<def> = ADD8rr %reg1029<kill>, %reg1028<kill>, %EFLAGS<imp-def,dead> llvm-svn: 62954
-
Eli Friedman authored
everything that we aren't intending to implement in Expr::Evaluate. llvm-svn: 62953
-
Eli Friedman authored
cases it couldn't deal with before. llvm-svn: 62952
-
Eli Friedman authored
accurately states what the function is trying to do and how it is different from Expr::isEvaluatable. Also get rid of a parameter that is both unused and inaccurate. llvm-svn: 62951
-
Eli Friedman authored
llvm-svn: 62950
-
Eli Friedman authored
__builtin___CFStringMakeConstantString. (We get into trouble in GenerateStaticBlockVarDecl if the constant folder isn't accurate.) llvm-svn: 62949
-
Eli Friedman authored
constant. llvm-svn: 62948
-
Eli Friedman authored
llvm-svn: 62947
-
Eli Friedman authored
llvm-svn: 62946
-
Fariborz Jahanian authored
for objc2's non-fragile abi. llvm-svn: 62945
-
Sebastian Redl authored
llvm-svn: 62944
-
Eli Friedman authored
think this has any significant effects at the moment, but it could matter if we start constant-folding statement expressions like gcc does. llvm-svn: 62943
-
- Jan 24, 2009
-
-
Eli Friedman authored
Note that there are still other issues in this area; see PR3396. llvm-svn: 62942
-
Eli Friedman authored
sizeof expressions. llvm-svn: 62941
-
Nate Begeman authored
llvm-svn: 62940
-
Chris Lattner authored
not the type" semantics. This can definitely be improved, but is better than what we had. llvm-svn: 62939
-
Dale Johannesen authored
more accurate change loses more than it gains on benchmarks. llvm-svn: 62938
-
Sebastian Redl authored
llvm-svn: 62937
-
Chris Lattner authored
llvm-svn: 62936
-
Fariborz Jahanian authored
of class in objc2's nonfragile abi. llvm-svn: 62935
-
Sebastian Redl authored
Add serialization support for ReferenceType. llvm-svn: 62934
-
Chris Lattner authored
alignment must always be a constant. Just let the constant folder do it. llvm-svn: 62933
-
Chris Lattner authored
llvm-svn: 62932
-
Chris Lattner authored
llvm-svn: 62931
-
Chris Lattner authored
llvm-svn: 62930
-
Fariborz Jahanian authored
implemented class in objc2's nonfrigile abi. llvm-svn: 62929
-
Chris Lattner authored
different than those for sizeof. Reject alignof(bitfield) like gcc does. llvm-svn: 62928
-
Chris Lattner authored
llvm-svn: 62927
-
Chris Lattner authored
llvm-svn: 62926
-
Torok Edwin authored
llvm-svn: 62925
-
Daniel Dunbar authored
mismatched semantics). - Enforce this in APValue. llvm-svn: 62924
-
Anders Carlsson authored
llvm-svn: 62923
-
Anders Carlsson authored
llvm-svn: 62922
-
Dan Gohman authored
llvm-svn: 62921
-
Torok Edwin authored
Also it was an empty struct, not a void after all. llvm-svn: 62920
-
Dan Gohman authored
llvm-svn: 62919
-
Torok Edwin authored
Thus we need to check whether the struct is empty before trying to index into it. This fixes PR3381. llvm-svn: 62918
-
Owen Anderson authored
llvm-svn: 62917
-
Daniel Dunbar authored
llvm-svn: 62916
-
Daniel Dunbar authored
- No functionality change, moved behind -use-x86_64-abi option until it becomes non-experimental. llvm-svn: 62915
-