- Sep 01, 2011
-
-
Evan Cheng authored
Teach MachineLICM reg pressure tracking code to deal with MVT::untyped. Sorry, I can't come up with a small test case. rdar://10043690 llvm-svn: 138934
-
Andrew Trick authored
Added canClobberReachingPhysRegUse() to handle a particular pattern in which a two-address instruction could be forced to interfere with EFLAGS, causing a compare to be unnecessarilly cloned. Fixes rdar://problem/5875261 llvm-svn: 138924
-
- Aug 31, 2011
-
-
David Greene authored
Stores sizes as uint64_t to avoid possible truncation. llvm-svn: 138901
-
Eli Friedman authored
llvm-svn: 138887
-
Eli Friedman authored
Fill in type legalization for MERGE_VALUES in all the various cases. Patch by Micah Villmow. (No testcase because the issue only showed up in an out-of-tree backend.) llvm-svn: 138877
-
Eli Friedman authored
Generic expansion for atomic load/store into cmpxchg/atomicrmw xchg; implements 64-bit atomic load/store for ARM. llvm-svn: 138872
-
David Greene authored
Emit a repeated sequence of bytes using .zero. This saves an enormous amount of asm file space for certain programs. llvm-svn: 138864
-
Rafael Espindola authored
llvm-svn: 138858
-
- Aug 30, 2011
-
-
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
-
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
-
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
-
Jim Grosbach authored
llvm-svn: 138773
-
- Aug 28, 2011
-
-
Duncan Sands authored
when outputting them. With this, the entire LLVM testsuite passes when built with dragonegg. llvm-svn: 138724
-
- Aug 27, 2011
-
-
Bill Wendling authored
llvm-svn: 138697
-
- Aug 26, 2011
-
-
Bill Wendling authored
llvm-svn: 138664
-
Bill Wendling authored
split it in the other place where we're splitting critical edges. llvm-svn: 138658
-
Eli Friedman authored
I don't really like the patterns, but I'm having trouble coming up with a better way to handle them. I plan on making other targets use the same legalization ARM-without-memory-barriers is using... it's not especially efficient, but if anyone cares, it's not that hard to fix for a given target if there's some better lowering. llvm-svn: 138621
-
Bill Wendling authored
scheme, return 'true' so that it doesn't try to run the old EH scheme's fixup on the new code. llvm-svn: 138605
-
- Aug 24, 2011
-
-
Eli Friedman authored
llvm-svn: 138478
-
Evan Cheng authored
These are strictly utilities for registering targets and components. llvm-svn: 138450
-
Jim Grosbach authored
llvm-svn: 138437
-
Bill Wendling authored
A value of -1 at a call site tells the personality function that this call isn't handled by the current function. Since the ResumeInsts are converted to calls to _Unwind_SjLj_Resume, add a (volatile) store of -1 to its 'call site'. llvm-svn: 138416
-
Bill Wendling authored
This is not necessarily the first or dominating use of the EH values. The IR breaks if it's not. So replace the specific value in the instruction with the new value. llvm-svn: 138406
-
Bill Wendling authored
The invoke could be at the end of the entry block. If it's the only one, then we won't process all of the landingpad instructions correctly. This code is currently ugly, but should be made much nicer once the new EH switch is thrown. llvm-svn: 138397
-
- Aug 23, 2011
-
-
Bill Wendling authored
llvm-svn: 138387
-
Evan Cheng authored
llvm-svn: 138356
-
Bill Wendling authored
value, we insert a load of the exception object and selector object from memory, which is where it actually resides. If it's used by a PHI node, we follow that to where it is being used. Eventually, all landingpad instructions should have no uses. Any PHI nodes that were associated with those landingpads should be removed. llvm-svn: 138302
-
Evan Cheng authored
Follow up to Jim's r138278. This fixes commuteInstruction so it handles two-address instructions correctly. I'll let Jim add a test case. :-) llvm-svn: 138289
-
- Aug 22, 2011
-
-
Bill Wendling authored
llvm-svn: 138256
-
Nick Lewycky authored
llvm-svn: 138252
-
- Aug 20, 2011
-
-
Devang Patel authored
Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly. llvm-svn: 138145
-
Benjamin Kramer authored
llvm-svn: 138130
-
- Aug 19, 2011
-
-
Nick Lewycky authored
llvm-svn: 138091
-
Nick Lewycky authored
the intent seems to be to terminate even in Release builds, just use abort() directly. If program flow ever reaches a __builtin_unreachable (which llvm_unreachable is #define'd to on newer GCCs) then the program is undefined. llvm-svn: 138068
-
Jakob Stoklund Olesen authored
This is useful for unit tests. llvm-svn: 138028
-
Benjamin Kramer authored
llvm-svn: 138025
-
Jakob Stoklund Olesen authored
Normally, a partial register def is treated as reading the super-register unless it also defines the full register like this: %vreg110:sub_32bit<def> = COPY %vreg77:sub_32bit, %vreg110<imp-def> This patch also uses the <undef> flag on partial defs to recognize non-reading operands: %vreg110:sub_32bit<def,undef> = COPY %vreg77:sub_32bit This fixes a subtle bug in RegisterCoalescer where LIS->shrinkToUses would treat a coalesced copy as still reading the register, extending the live range artificially. My test case only works when I disable DCE so a dead copy is left for RegisterCoalescer, so I am not including it. <rdar://problem/9967101> llvm-svn: 138018
-
Renato Golin authored
add the comments of each declaration follow it, making it easier to read and compare to GCC's result. llvm-svn: 138009
-
Devang Patel authored
llvm-svn: 138006
-
Devang Patel authored
llvm-svn: 137998
-