aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-06-15MIR Serialization: Connect the machine function analysis pass to the MIR parser.Alex Lorenz1-2/+6
This commit connects the machine function analysis pass (which creates machine functions) to the MIR parser, which will initialize the machine functions with the state from the MIR file and reconstruct the machine IR. This commit introduces a new interface called 'MachineFunctionInitializer', which can be used to provide custom initialization for the machine functions. This commit also introduces a new diagnostic class called 'DiagnosticInfoMIRParser' which is used for MIR parsing errors. This commit modifies the default diagnostic handling in LLVMContext - now the the diagnostics are printed directly into llvm::errs() so that the MIR parsing errors can be printed with colours. Reviewers: Justin Bogner Differential Revision: http://reviews.llvm.org/D9928 llvm-svn: 239753
2014-10-14Remove unused member variable.Rafael Espindola1-2/+1
Fixes pr20904. llvm-svn: 219706
2014-04-14[C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper1-2/+2
instead of comparing to nullptr. llvm-svn: 206142
2011-11-16Sink codegen optimization level into MCCodeGenInfo along side relocation modelEvan Cheng1-3/+2
and code model. This eliminates the need to pass OptLevel flag all over the place and makes it possible for any codegen pass to use this information. llvm-svn: 144788
2011-01-04Clean up a funky pass registration that got passed over when I got rid of ↵Owen Anderson1-7/+1
static constructors. llvm-svn: 122795
2010-10-31Attach a GCModuleInfo to a MachineFunction.Nicolas Geoffray1-1/+3
llvm-svn: 117867
2010-08-06Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson1-2/+2
llvm-svn: 110460
2010-08-06Revert r110396 to fix buildbots.Owen Anderson1-2/+2
llvm-svn: 110410
2010-08-05Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson1-2/+2
address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
2010-04-17Start function numbering at 0.Dan Gohman1-1/+2
llvm-svn: 101638
2010-04-06Give MachineModuleInfo an actual Module*.Chris Lattner1-5/+13
llvm-svn: 100508
2010-04-05enhance MachineFunction to have a MMI pointer.Chris Lattner1-1/+1
llvm-svn: 100414
2010-03-13rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner1-1/+4
and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
2010-01-26make MachineFunction keep track of its ID and make Chris Lattner1-1/+1
MachineFunctionAnalysis dole them out, instead of having AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction method set the 'AsmPrinter::MF' variable. llvm-svn: 94509
2009-11-09Constify MachineFunctionAnalysis' TargetMachine reference.Dan Gohman1-1/+1
llvm-svn: 86564
2009-10-12Fix PR5087, patch by Jakub Staszak!Chris Lattner1-0/+1
llvm-svn: 83822
2009-08-01Give MachineFunctionAnalysis a destructor so it can verify thatDan Gohman1-0/+4
that it released its allocated memory. llvm-svn: 77775
2009-07-31Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsageDan Gohman1-0/+45
shouldn't do AU.setPreservesCFG(), because even though CodeGen passes don't modify the LLVM IR CFG, they may modify the MachineFunction CFG, and passes like MachineLoop are registered with isCFGOnly set to true. llvm-svn: 77691
2009-07-31Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and manyDaniel Dunbar1-45/+0
failures when building assorted projects with clang. --- Reverse-merging r77654 into '.': U include/llvm/CodeGen/Passes.h U include/llvm/CodeGen/MachineFunctionPass.h U include/llvm/CodeGen/MachineFunction.h U include/llvm/CodeGen/LazyLiveness.h U include/llvm/CodeGen/SelectionDAGISel.h D include/llvm/CodeGen/MachineFunctionAnalysis.h U include/llvm/Function.h U lib/Target/CellSPU/SPUISelDAGToDAG.cpp U lib/Target/PowerPC/PPCISelDAGToDAG.cpp U lib/CodeGen/LLVMTargetMachine.cpp U lib/CodeGen/MachineVerifier.cpp U lib/CodeGen/MachineFunction.cpp U lib/CodeGen/PrologEpilogInserter.cpp U lib/CodeGen/MachineLoopInfo.cpp U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp D lib/CodeGen/MachineFunctionAnalysis.cpp D lib/CodeGen/MachineFunctionPass.cpp U lib/CodeGen/LiveVariables.cpp llvm-svn: 77661
2009-07-31Manage MachineFunctions with an analysis Pass instead of the AnnotableDan Gohman1-0/+45
mechanism. To support this, make MachineFunctionPass a little more complete. llvm-svn: 77654