- Dec 20, 2012
-
-
Jakob Stoklund Olesen authored
This automatically passes a context pointer to MI->addOperand(). llvm-svn: 170711
-
- Dec 19, 2012
-
-
Jakob Stoklund Olesen authored
Use the version that also takes an MF reference instead. It would technically be possible to extract an MF reference from the MI as MI->getParent()->getParent(), but that would not work for MIs that are not inserted into any basic block. Given the reasonably small number of places this constructor was used at all, I preferred the compile time check to a run time assertion. llvm-svn: 170588
-
- 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
-
- Aug 14, 2012
-
-
Richard Smith authored
llvm-svn: 161853
-
- Jun 20, 2012
-
-
Chandler Carruth authored
I'll admit I'm not entirely satisfied with this change, but it seemed the cleanest option. Other suggestions quite welcome The issue is that the traits specializations have static methods which return the typedef'ed PHI_iterator type. In both the IR and MI layers this is typedef'ed to a custom iterator class defined in an anonymous namespace giving the types and the functions returning them internal linkage. However, because the traits specialization is defined in the 'llvm' namespace (where it has to be, specialized template lives there), and is in turn used in the templated implementation of the SSAUpdater. This led to the linkage conflict that Clang now warns about. The simplest solution to me was just to define the PHI_iterator as a nested class inside the trait specialization. That way it still doesn't get scoped widely, it can't be accidentally reused somewhere, etc. This is a little gross just because nested class definitions are a little gross, but the alternatives seem more ad-hoc. llvm-svn: 158799
-
- Jan 20, 2012
-
-
David Blaikie authored
llvm-svn: 148578
-
- Dec 06, 2011
-
-
Evan Cheng authored
llvm-svn: 145903
-
- May 10, 2010
-
-
Bob Wilson authored
SSAUpdater for the value from the first def may see uses of undefined values, because the later defs will not have been updated yet. llvm-svn: 103407
-
- May 05, 2010
-
-
Bob Wilson authored
MachineSSAUpdater to avoid duplicating all the code. llvm-svn: 103060
-
- Apr 26, 2010
-
-
Bob Wilson authored
SSAUpdater. I'm going to try to refactor this to share most of the code between them. llvm-svn: 102353
-
- Apr 02, 2010
-
-
Chris Lattner authored
llvm-svn: 100215
-
- Feb 10, 2010
-
-
Chris Lattner authored
llvm-svn: 95745
-
- Feb 09, 2010
-
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
- Jan 05, 2010
-
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92548
-
- Dec 08, 2009
-
-
Evan Cheng authored
llvm-svn: 90816
-
- Dec 07, 2009
-
-
Evan Cheng authored
llvm-svn: 90759
-
Evan Cheng authored
llvm-svn: 90744
-
- Dec 04, 2009
-
-
Evan Cheng authored
llvm-svn: 90566
-
Evan Cheng authored
- If the reaching definition is an undef and the use is a PHI, add the implicit_def to the end of the source block. - When reaching value is replaced with another, update the cache as well. llvm-svn: 90501
-
- Dec 03, 2009
-
-
Evan Cheng authored
llvm-svn: 90489
-
Evan Cheng authored
llvm-svn: 90395
-
- Dec 02, 2009
-
-
Evan Cheng authored
llvm-svn: 90353
-