- Feb 17, 2012
-
-
Dan Gohman authored
metadata may still unwind, but only in ways that the ARC optimizer doesn't need to consider. This permits more aggressive optimization. llvm-svn: 150829
-
Lang Hames authored
any changes. Internally this adds a private inner class HMEditor, to LiveIntervals. HMEditor provides an API for updating live intervals when code is moved or bundled. llvm-svn: 150826
-
Dan Gohman authored
actually work, at least as described. LLVM Metadata is not intended to suppress LLVM IR rules, as it can be stripped at any time. llvm-svn: 150821
-
Jim Grosbach authored
llvm-svn: 150820
-
David Chisnall authored
Generate the correct EH frame section types on Solaris, this time without breaking other platforms... llvm-svn: 150819
-
David Chisnall authored
llvm-svn: 150818
-
Jakob Stoklund Olesen authored
This caused miscompilations on out-of-tree targets, and possibly i386 as well. I'll find some other way of hoisting %rip-relative loads from loops containing calls. llvm-svn: 150816
-
David Chisnall authored
Don't lazily allocate eh_frame. We're not lazily allocating things like the LSDA, which are only used when the eh frame is used, so this lazy allocation doesn't really make sense. Fix the type of eh_frame on Solaris so that Sun ld doesn't fail to combine them (thus making it impossible for the unwind library to find them and breaking exceptions). llvm-svn: 150814
-
David Chisnall authored
... and it's probably best to use the correct alignment, rather than just guessing that it's the same as the size. llvm-svn: 150813
-
David Chisnall authored
It turns out that putting an 8-byte symbol in a 4-byte section makes Solaris ld sulk. GNU ld is perfectly happy with it, which is worrying for a whole other set of reasons... Thanks to Anton, Duncan and Rafael for helping me track this down. Pointy hat to Rafael for introducing the bug in the first place. llvm-svn: 150811
-
Jia Liu authored
llvm-svn: 150805
-
Eric Christopher authored
llvm-svn: 150796
-
Craig Topper authored
llvm-svn: 150795
-
Nick Lewycky authored
useful to represent a variable that is const in the source but can't be constant in the IR because of a non-trivial constructor. If globalopt evaluates the constructor, and there was an invariant.start with no matching invariant.end possible, it will mark the global constant afterwards. llvm-svn: 150794
-
Akira Hatanaka authored
instructions to be emitted. llvm-svn: 150782
-
Bill Wendling authored
llvm-svn: 150780
-
Bill Wendling authored
llvm-svn: 150779
-
Lang Hames authored
llvm-svn: 150778
-
Jia Liu authored
llvm-svn: 150775
-
Chad Rosier authored
entend flag. llvm-svn: 150774
-
Lang Hames authored
llvm-svn: 150773
-
Lang Hames authored
llvm-svn: 150771
-
Lang Hames authored
Re-enable 150652 and 150654 - Make FPSCR non-reserved, and make MachineCSE bail on reserved registers. This *should* be safe as of r150786. llvm-svn: 150769
-
Lang Hames authored
llvm-svn: 150768
-
- Feb 16, 2012
-
-
Akira Hatanaka authored
llvm-svn: 150739
-
Chad Rosier authored
llvm-svn: 150737
-
Jakob Stoklund Olesen authored
Call clobbers are now represented with register mask operands. The regmask can easily represent the fact that xmm6 is call-preserved while ymm6 isn't. This is automatically computed by TableGen from the CalleeSavedRegs containing xmm6. llvm-svn: 150709
-
Jakob Stoklund Olesen authored
The different calling conventions and call-preserved registers are represented with regmask operands that are added dynamically. llvm-svn: 150708
-
Akira Hatanaka authored
llvm-svn: 150706
-
Benjamin Kramer authored
Disable machine copy propagation for now. It's known to be buggy (PR11940) and introduces subtle miscompiles in many places. llvm-svn: 150703
-
Benjamin Kramer authored
Turns out this isn't safe, because the code below depends on LHS and RHS having the same type. llvm-svn: 150695
-
Benjamin Kramer authored
llvm-svn: 150694
-
Benjamin Kramer authored
llvm-svn: 150690
-
Bill Wendling authored
llvm-svn: 150679
-
James Molloy authored
llvm-svn: 150670
-
James Molloy authored
Modify the algorithm when traversing the DAGCombiner's worklist to be O(log N) for all operations. This fixes a horrible worst case with lots of nodes where 99% of the time was being spent in std::remove. llvm-svn: 150669
-
NAKAMURA Takumi authored
With MSVCRT, prior checker missed emission of #INF and #NAN. FIXME: Checking should be simpler. llvm-svn: 150667
-
NAKAMURA Takumi authored
atof(3) might behave differently among platforms. llvm-svn: 150661
-
Lang Hames authored
llvm-svn: 150655
-
Lang Hames authored
llvm-svn: 150654
-