- Sep 02, 2010
-
-
Lang Hames authored
Added support for register allocators to record which intervals are spill intervals, and where the uses and defs of the original intervals were in the original code. Spill intervals can be hidden using the "-rmf-intervals=virt-nospills*" option. llvm-svn: 112811
-
Chandler Carruth authored
llvm-svn: 112809
-
Lang Hames authored
llvm-svn: 112807
-
Jim Grosbach authored
llvm-svn: 112787
-
Jim Grosbach authored
at them since they'd end up in the register weights list. Tell it to stop doing that. llvm-svn: 112756
-
Jakob Stoklund Olesen authored
This caused a miscompilation in WebKit where %RAX had conflicting defs when RemoveCopyByCommutingDef was commuting a %EAX use. llvm-svn: 112751
-
- Sep 01, 2010
-
-
Jim Grosbach authored
llvm-svn: 112746
-
Jim Grosbach authored
physical register in a register class. Make sure to assert if the register class is empty. llvm-svn: 112743
-
Jim Grosbach authored
llvm-svn: 112742
-
Jim Grosbach authored
r112728 did this for fast regalloc. llvm-svn: 112741
-
Jim Grosbach authored
llvm-svn: 112728
-
Jim Grosbach authored
llvm-svn: 112726
-
Eric Christopher authored
self host errors on clang-x86-64. llvm-svn: 112719
-
Duncan Sands authored
landing pad into uses of registers rather than loads from a stack slot. Doesn't touch the 'orrible hack code - Bill needs to persuade me harder :) llvm-svn: 112702
-
Devang Patel authored
This patch was developed on top of original patch by Artur Pietrek. llvm-svn: 112678
-
Devang Patel authored
llvm-svn: 112659
-
- Aug 31, 2010
-
-
Jakob Stoklund Olesen authored
Reserved registers are unpredictable, and are treated as always live by machine DCE. Allocatable registers are never reserved, and can be used for virtual registers. Unreserved, unallocatable registers can not be used for virtual registers, but otherwise behave like a normal allocatable register. Most targets only have the flag register in this set. llvm-svn: 112649
-
Jakob Stoklund Olesen authored
llvm-svn: 112632
-
Devang Patel authored
llvm-svn: 112631
-
Devang Patel authored
Remember byval argument's frame index during argument lowering and use this info to emit debug info. Fixes Radar 8367011. llvm-svn: 112623
-
Jim Grosbach authored
1. Allocate them in the entry block of the function to enable function-wide re-use. The instructions to create them should be re-materializable, so there shouldn't be additional cost compared to creating them local to the basic blocks where they are used. 2. Collect all of the frame index references for the function and sort them by the local offset referenced. Iterate over the sorted list to allocate the virtual base registers. This enables creation of base registers optimized for positive-offset access of frame references. (Note: This may be appropriate to later be a target hook to do the sorting in a target appropriate manner. For now it's done here for simplicity.) llvm-svn: 112609
-
Duncan Sands authored
any more. I plan to reimplement alloca promotion using SSAUpdater later. It looks like Bill's URoR logic really always needs domtree, so the pass now always asks for domtree info. llvm-svn: 112597
-
Devang Patel authored
llvm-svn: 112584
-
Devang Patel authored
llvm-svn: 112583
-
Bruno Cardoso Lopes authored
llvm-svn: 112571
-
Jakob Stoklund Olesen authored
Eventually, we want to disable physreg coalescing completely, and let the register allocator do its job using hints. This option makes it possible to measure the impact of disabling physreg coalescing. llvm-svn: 112567
-
- Aug 30, 2010
-
-
Chris Lattner authored
1) nuke ConstDataCoalSection, which is dead. 2) revise my previous patch for rdar://8018335, which was completely wrong. Specifically, it doesn't make sense to mark __TEXT,__const_coal as PURE_INSTRUCTIONS, because it is for readonly data. templates (it turns out) go to const_coal_nt. The real fix for rdar://8018335 was to give ConstTextCoalSection a section kind of ReadOnly instead of Text. llvm-svn: 112496
-
Bill Wendling authored
llvm-svn: 112463
-
Bill Wendling authored
said (physical) register. llvm-svn: 112461
-
Chris Lattner authored
llvm-svn: 112459
-
- Aug 29, 2010
-
-
Chris Lattner authored
instead of PromoteMemToReg. This allows it to stop using DF and DT, eliminating a computation of DT and DF from clang -O3. Clang is now down to 2 runs of DomFrontier. llvm-svn: 112457
-
Chris Lattner authored
llvm-svn: 112455
-
- Aug 28, 2010
-
-
Chris Lattner authored
being actively maintained, improved, or extended. llvm-svn: 112356
-
Chris Lattner authored
llvm-svn: 112354
-
Dan Gohman authored
doesn't currently support dealing with this. llvm-svn: 112341
-
Dan Gohman authored
llvm-svn: 112340
-
Devang Patel authored
llvm-svn: 112305
-
- Aug 27, 2010
-
-
Bill Wendling authored
llvm-svn: 112287
-
Devang Patel authored
llvm-svn: 112242
-
Jim Grosbach authored
to try to re-use scavenged frame index reference registers. rdar://8277890 llvm-svn: 112241
-