- Aug 30, 2011
-
-
Rafael Espindola authored
from DYNAMIC_STACKALLOC. Two new pseudo instructions (SEG_ALLOCA_32 and SEG_ALLOCA_64) which will match X86SegAlloca (based on word size) are also added. They will be custom emitted to inject the actual stack handling code. Patch by Sanjoy Das. llvm-svn: 138814
-
Argyrios Kyrtzidis authored
llvm-svn: 138813
-
Rafael Espindola authored
X86. Modify the pass added in the previous patch to call this new code. This new prologues generated will call a libgcc routine (__morestack) to allocate more stack space from the heap when required Patch by Sanjoy Das. llvm-svn: 138812
-
Rafael Espindola authored
-segmented-stacks. Patch by Sanjoy Das! llvm-svn: 138811
-
Evan Cheng authored
Add a instruction flag: hasPostISelHook which tells the pre-RA scheduler to call a target hook to adjust the instruction. For ARM, this is used to adjust instructions which may be setting the 's' flag. ADC, SBC, RSB, and RSC instructions have implicit def of CPSR (required since it now uses CPSR physical register dependency rather than "glue"). If the carry flag is used, then the target hook will *fill in* the optional operand with CPSR. Otherwise, the hook will remove the CPSR implicit def from the MachineInstr. llvm-svn: 138810
-
Owen Anderson authored
When walking backwards to eliminate final stores to allocas at the end of a function, encountering an unrelated store should not cause us to give up like encountering a load does. llvm-svn: 138809
-
Benjamin Kramer authored
llvm-svn: 138807
-
Benjamin Kramer authored
llvm-svn: 138806
-
Tobias Grosser authored
Eli added this in revision 132695. llvm-svn: 138805
-
Andrew Trick authored
This is useful for testing a build a temporarily hand instrumented build. Patch by arrowdodger! llvm-svn: 138804
-
Fariborz Jahanian authored
objective-c containers due to recent changes to objc decl contexts. // rdar://10041908 llvm-svn: 138803
-
Roman Divacky authored
arguments as before), unset CR1EQ otherwise. llvm-svn: 138802
-
James Molloy authored
Patch supplied by Liu (projlc@gmail.com) llvm-svn: 138799
-
James Molloy authored
Patch supplied by Liu (projlc@gmail.com) llvm-svn: 138798
-
James Molloy authored
Patch supplied by Liu (projlc@gmail.com) llvm-svn: 138797
-
James Molloy authored
llvm-svn: 138796
-
Craig Topper authored
Add vvvv support to disassembling of instructions with MRMDestMem and MRMDestReg form. Needed to support mem dest form of vmaskmovps/d. Fixes PR10807. llvm-svn: 138795
-
Bob Wilson authored
I don't currently have a good testcase for this; will try to get one tomorrow. <rdar://problem/10032939> llvm-svn: 138794
-
Jordy Rose authored
Remove obsolete ObjCInferRelatedReturnType from LangOptions...the correct option is ObjCInferRelatedResultType. llvm-svn: 138793
-
John McCall authored
apparent general rule. Just special-case it as appropriate. PR10789. llvm-svn: 138792
-
Evan Cheng authored
register dependency (rather than glue them together). This is general goodness as it gives scheduler more freedom. However it is motivated by a nasty bug in isel. When a i64 sub is expanded to subc + sube. libcall #1 \ \ subc \ / \ \ / \ \ / libcall #2 sube If the libcalls are not serialized (i.e. both have chains which are dag entry), legalizer can serialize them in arbitrary orders. If it's unlucky, it can force libcall #2 before libcall #1 in the above case. subc | libcall #2 | libcall #1 | sube However since subc and sube are "glued" together, this ends up being a cycle when the scheduler combine subc and sube as a single scheduling unit. The right solution is to fix LegalizeType too chains the libcalls together. However, LegalizeType is not processing nodes in order so that's harder than it should be. For now, the move to physical register dependency will do. rdar://10019576 llvm-svn: 138791
-
Johnny Chen authored
llvm-svn: 138790
-
John McCall authored
Doing this happens to disrupt the pattern that ARC was looking for for move optimizations, so we need to fix that simultaneously. llvm-svn: 138789
-
Douglas Gregor authored
llvm-svn: 138788
-
Douglas Gregor authored
llvm-svn: 138787
-
Douglas Gregor authored
from Anders Waldenborg! llvm-svn: 138786
-
Douglas Gregor authored
llvm-svn: 138785
-
John McCall authored
Johannes Schaub for talking me around to sense. llvm-svn: 138784
-
Caitlin Sadowski authored
llvm-svn: 138783
-
Jim Grosbach authored
llvm-svn: 138782
-
Jim Grosbach authored
llvm-svn: 138781
-
Owen Anderson authored
llvm-svn: 138780
-
Jim Grosbach authored
llvm-svn: 138779
-
Jim Grosbach authored
llvm-svn: 138778
-
Jim Grosbach authored
llvm-svn: 138777
-
Nico Weber authored
llvm-svn: 138776
-
Ivan Krasin authored
- wrong alignment for double (it was 4, but 8 is desired), - added checks for _REENTRANT define, - fixed the issue that defines were not tested (because the check for inside #ifdef). llvm-svn: 138775
-
Caitlin Sadowski authored
Thread safety: added basic handling for pt_guarded_by/var and guarded_by/var annotations. We identify situations where we are accessing (reading or writing) guarded variables, and report an error if the appropriate locks are not held. llvm-svn: 138774
-
Jim Grosbach authored
llvm-svn: 138773
-
Fariborz Jahanian authored
group decls. llvm-svn: 138772
-