- Dec 16, 2010
-
-
Jakob Stoklund Olesen authored
A MachineLoopRange contains the intervals of slot indexes covered by the blocks in a loop. This representation of the loop blocks is more efficient to compare against interfering registers during register coalescing. llvm-svn: 121917
-
Bill Wendling authored
need to use tLDRi and tSTRi instead of tLDRspi and tSTRspi respectively. llvm-svn: 121915
-
Bill Wendling authored
llvm-svn: 121914
-
Bob Wilson authored
This isn't currently used for anything but I ran into it when experimenting with some changes, and it might be useful in the future. llvm-svn: 121911
-
Matt Beaumont-Gay authored
llvm-svn: 121910
-
Dan Gohman authored
llvm-svn: 121909
-
- Dec 15, 2010
-
-
Evan Cheng authored
llvm-svn: 121908
-
Rafael Espindola authored
llvm-svn: 121906
-
Owen Anderson authored
(performing the addition in a wider type and explicitly checking for overflow), and fold them down to intrinsics. This currently only supports signed-addition, but could be generalized if someone works out the magic constant formulas for other operations. Fixes <rdar://problem/8558713>. llvm-svn: 121905
-
Matt Beaumont-Gay authored
llvm-svn: 121904
-
Evan Cheng authored
llvm-svn: 121903
-
Bob Wilson authored
Clang is now providing intrinsics for these and so we need to support them in the backend. Radar 8068427. llvm-svn: 121902
-
Bob Wilson authored
llvm-svn: 121901
-
Dan Gohman authored
it in sync. llvm-svn: 121895
-
Jakob Stoklund Olesen authored
lookup. llvm-svn: 121893
-
Dan Gohman authored
in sync. llvm-svn: 121892
-
Wesley Peck authored
and "save_volatiles" correctly. This completes the custom calling convention functionality changes for the MBlaze backend that were started in 121888. llvm-svn: 121891
-
Wesley Peck authored
attributes "interrupt_handle" and "save_volatiles". Support for lowering these correctly will be in an upcoming commit. llvm-svn: 121888
-
Dan Gohman authored
While LLVM's main design is that analysis code shouldn't go out of its way to understand code which hasn't been InstCombined, analysis utility routines like this can find themselves being called in the middle of transform passes when instcombine hasn't had a chance to run. llvm-svn: 121886
-
Dan Gohman authored
function so that it can live in Analysis instead of VMCore. llvm-svn: 121885
-
Wesley Peck authored
Add some special purpose register definitions to the MBlaze backend and cleanup some old, unused floating point register definitions. llvm-svn: 121882
-
Owen Anderson authored
llvm-svn: 121880
-
Jim Grosbach authored
llvm-svn: 121878
-
Nick Lewycky authored
* mergeIn now uses constant folding for constants that are provably not-equal. * sink some sanity checks from the get*() methods into the mark*() methods, to ensure that we never have a constant/notconstant ConstantInt * some textual cleanups, whitespace changes, removing "else" after return, that sort of thing. llvm-svn: 121877
-
Jim Grosbach authored
rdar://8768390 llvm-svn: 121876
-
Owen Anderson authored
llvm-svn: 121875
-
Dan Gohman authored
llvm-svn: 121874
-
Jakob Stoklund Olesen authored
llvm-svn: 121872
-
Jakob Stoklund Olesen authored
Bypass loops have the current live range live through, but contain no uses or defs. Splitting around a bypass loop can free registers for other uses inside the loop by spilling the split range. llvm-svn: 121871
-
Jakob Stoklund Olesen authored
This method returns the set of loops with uses that are candidates for splitting. llvm-svn: 121870
-
Bob Wilson authored
This is still a WIP. It's already good enough to expose a few bugs, though. llvm-svn: 121868
-
Bob Wilson authored
Some quad-register intrinsics with lane operands only take a double-register operand for the vector containing the lane. The valid range of lane numbers is then half as big as you would expect from the quad-register type. Note: This currently has no effect because those intrinsics are now handled entirely in the header file using __builtin_shufflevector, which does its own range checking, but I want to use this for generating tests. llvm-svn: 121867
-
Duncan Sands authored
instcombine and into InstructionSimplify. llvm-svn: 121861
-
Duncan Sands authored
it to be replaced by undef rather than not replaced at all, the idea being that this may reduce the amount of work done by whoever called InstructionSimplify. llvm-svn: 121860
-
Frits van Bommel authored
Teach jump threading to "look through" a select when the branch direction of a terminator depends on it. When it sees a promising select it now tries to figure out whether the condition of the select is known in any of the predecessors and if so it maps the operands appropriately. llvm-svn: 121859
-
Bill Wendling authored
llvm-svn: 121858
-
Rafael Espindola authored
With this we don't need the EffectiveSize field anymore. Without that field LayoutFragment only updates offsets and we don't need to invalidate the current fragment when it is relaxed (only the ones following it). This is also a very small improvement in the accuracy of the layout info as we now use the after relaxation size immediately. llvm-svn: 121857
-
Rafael Espindola authored
Since we now don't update addresses so early, we might relax a bit more than we need to. This is simillar to the issue in PR8467. llvm-svn: 121856
-
Chris Lattner authored
llvm-svn: 121854
-
Chris Lattner authored
llvm-svn: 121853
-