- May 25, 2011
-
-
Evan Cheng authored
case of a switch instruction. Back off this optimization when this would eliminate all of the predecessors to the latch. Sorry, I am unable to reduce a reasonably sized test case. rdar://9486843 llvm-svn: 132022
-
Eric Christopher authored
do. Part of rdar://9119939. llvm-svn: 132015
-
Eric Christopher authored
Fixes part of rdar://9444657 llvm-svn: 132011
-
- May 24, 2011
-
-
Charles Davis authored
this test. llvm-svn: 132004
-
Akira Hatanaka authored
offsets that are larger than 0x10000. llvm-svn: 132003
-
Eli Friedman authored
Change condition for determining whether a function is small for inlining metrics so that very long functions with few basic blocks are not re-analyzed. llvm-svn: 131994
-
Charles Davis authored
Add a size alignment check to the .seh_stackalloc directive parser. Add a more descriptive error message to the .seh_handler directive parser. Add methods to the TargetAsmInfo struct in support of all this. llvm-svn: 131992
-
Akira Hatanaka authored
deficiencies exist: - Works only if ABI is o32. - Zero-sized structures cannot be passed. - There is a lot of redundancy in generated code. llvm-svn: 131986
-
Eli Friedman authored
Make instcombine O(N) instead of O(N^2) in code where the same simplifiable constant is used many times. Part of rdar://9471075. llvm-svn: 131979
-
Devang Patel authored
llvm-svn: 131974
-
Dan Gohman authored
after checking for a GEP, so that it matches what GetUnderlyingObject does. This fixes an obscure bug turned up by bugpoint in the testcase for PR9931. llvm-svn: 131971
-
Charles Davis authored
scheme uses internally. Implement it for x86 (the only architecture that LLVM supports for which this matters right now). llvm-svn: 131969
-
Cameron Zwarich authored
llvm-svn: 131956
-
Cameron Zwarich authored
promoting allocas to SSA variables. Fixes <rdar://problem/9479036>. llvm-svn: 131953
-
Rafael Espindola authored
llvm-svn: 131952
-
Rafael Espindola authored
llvm-svn: 131951
-
Evan Cheng authored
non-zero. - Teach X86 cmov optimization to eliminate the cmov from ctlz, cttz extension when the source of X86ISD::BSR / X86ISD::BSF is proven to be non-zero. rdar://9490949 llvm-svn: 131948
-
Akira Hatanaka authored
variable arguments in LowerCall and LowerFormalArguments. This should also fix the bug in which handling of variable arguments is incorrect when the front-end optimizes away unused fixed arguments. llvm-svn: 131942
-
Devang Patel authored
llvm-svn: 131940
-
Devang Patel authored
llvm-svn: 131936
-
Akira Hatanaka authored
llvm-svn: 131928
-
Akira Hatanaka authored
llvm-svn: 131927
-
Devang Patel authored
llvm-svn: 131926
-
- May 23, 2011
-
-
Akira Hatanaka authored
llvm-svn: 131922
-
Dan Gohman authored
This fixes PR9845. llvm-svn: 131919
-
Jim Grosbach authored
llvm-svn: 131918
-
Akira Hatanaka authored
in MipsFunctionInfo that are no longer used. llvm-svn: 131917
-
Chris Lattner authored
llvm-svn: 131916
-
Akira Hatanaka authored
The following improvements are accomplished as a result of applying this patch: - Fixed frame objects' offsets (relative to either the virtual frame pointer or the stack pointer) are set before instruction selection is completed. There is no need to wait until Prologue/Epilogue Insertion is run to set them. - Calculation of final offsets of fixed frame objects is straightforward. It is no longer necessary to assign negative offsets to fixed objects for incoming arguments in order to distinguish them from the others. - Since a fixed object has its relative offset set during instruction selection, there is no need to conservatively set its alignment to 4. - It is no longer necessary to reorder non-fixed frame objects in MipsFrameLowering::adjustMipsStackFrame. llvm-svn: 131915
-
Devang Patel authored
Patch by Micah Villmow llvm-svn: 131908
-
Devang Patel authored
llvm-svn: 131907
-
Devang Patel authored
llvm-svn: 131906
-
Charles Davis authored
I haven't implemented any of the ones that take registers yet. The problem is that for x86-64 the streamer methods expect a native x86 register number (note: %r8-%r15 want 8-15 instead of 0-7; same for %xmm8-%xmm15). I haven't figured out exactly how I want to do that yet. llvm-svn: 131899
-
Chris Lattner authored
UnitTests/ObjC/messages-2.m with the recent optimizer improvements. llvm-svn: 131897
-
rdar://problem/9476260Cameron Zwarich authored
in Darwin Thumb2 code. Tail calls are already disabled on Thumb1. llvm-svn: 131894
-
Chris Lattner authored
xform recurse. llvm-svn: 131888
-
Chris Lattner authored
in a known-non-zero context. llvm-svn: 131887
-
Chris Lattner authored
for a constant directly. Thanks to Duncan for pointing this out. llvm-svn: 131885
-
Chris Lattner authored
aligned. Teach memcpyopt to not give up all hope when confonted with an underaligned memcpy feeding an overaligned byval. If the *source* of the memcpy can be determined to be adequeately aligned, or if it can be forced to be, we can eliminate the memcpy. This addresses PR9794. We now compile the example into: define i32 @f(%struct.p* nocapture byval align 8 %q) nounwind ssp { entry: %call = call i32 @g(%struct.p* byval align 8 %q) nounwind ret i32 %call } in both x86-64 and x86-32 mode. We still don't get a tailcall though, because tailcalls apparently can't handle byval. llvm-svn: 131884
-
Chris Lattner authored
llvm-svn: 131883
-