- Dec 03, 2012
-
-
Chandler Carruth authored
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
-
- Sep 21, 2012
-
-
Evan Cheng authored
because LiveStackAnalysis was not preserved by VirtRegWriter. This caused big stack usage regression in some cases. rdar://12340383 llvm-svn: 164408
-
- Oct 01, 2011
-
-
Jakob Stoklund Olesen authored
It will soon need the context. llvm-svn: 140896
-
- Jan 09, 2011
-
-
Jakob Stoklund Olesen authored
physical register numbers. This makes the hack used in LiveInterval official, and lets LiveInterval be oblivious of stack slots. The isPhysicalRegister() and isVirtualRegister() predicates don't know about this, so when a variable may contain a stack slot, isStackSlot() should always be tested first. llvm-svn: 123128
-
- Oct 26, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 117337
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Jul 22, 2010
-
-
Owen Anderson authored
llvm-svn: 109045
-
- Jun 26, 2010
-
-
Benjamin Kramer authored
llvm-svn: 106943
-
- Mar 30, 2010
-
-
Benjamin Kramer authored
only a single type of object to be allocated. Use it to make VNInfo destruction typesafe. llvm-svn: 99919
-
- Nov 04, 2009
-
-
Lang Hames authored
This introduces a new pass, SlotIndexes, which is responsible for numbering instructions for register allocation (and other clients). SlotIndexes numbering is designed to match the existing scheme, so this patch should not cause any changes in the generated code. For consistency, and to avoid naming confusion, LiveIndex has been renamed SlotIndex. The processImplicitDefs method of the LiveIntervals analysis has been moved into its own pass so that it can be run prior to SlotIndexes. This was necessary to match the existing numbering scheme. llvm-svn: 85979
-
- Aug 23, 2009
-
-
Chris Lattner authored
update all code that this affects. llvm-svn: 79830
-
Chris Lattner authored
llvm-svn: 79814
-
- Jun 02, 2009
-
-
Lang Hames authored
llvm-svn: 72729
-
- May 03, 2009
-
-
Evan Cheng authored
In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants. Not yet enabled. This is part 1. More coming. llvm-svn: 70787
-
- Sep 23, 2008
-
-
Evan Cheng authored
llvm-svn: 56476
-
Evan Cheng authored
llvm-svn: 56475
-
- Sep 22, 2008
-
-
Evan Cheng authored
llvm-svn: 56469
-
- Jun 04, 2008
-
-
Evan Cheng authored
llvm-svn: 51934
-