summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86.h
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2003-12-13 05:36:22 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2003-12-13 05:36:22 +0000
commit359b65f782cc323daba4f8c5c21c70a98c9d40ea (patch)
tree2174dc005900c6176f0e1a90d0ffd5b8a691816e /lib/Target/X86/X86.h
parent9435eda6993944e74419d2f586fdd25635293760 (diff)
downloadllvm-359b65f782cc323daba4f8c5c21c70a98c9d40ea.tar.gz
llvm-359b65f782cc323daba4f8c5c21c70a98c9d40ea.tar.bz2
llvm-359b65f782cc323daba4f8c5c21c70a98c9d40ea.tar.xz
Add a floating point killer pass. This pass runs before register
allocaton on the X86 to add information to the machine code denoting that our floating point stackifier cannot handle virtual point register that are alive across basic blocks. This pass adds an implicit def of all virtual floating point register at the end of each basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10446 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86.h')
-rw-r--r--lib/Target/X86/X86.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/X86/X86.h b/lib/Target/X86/X86.h
index c474d18ead..35845fb038 100644
--- a/lib/Target/X86/X86.h
+++ b/lib/Target/X86/X86.h
@@ -44,6 +44,12 @@ FunctionPass *createX86SSAPeepholeOptimizerPass();
///
FunctionPass *createX86PeepholeOptimizerPass();
+/// createX86FloatingPointKiller - This function returns a pass which
+/// kills every floating point register at the end of each basic block
+/// because our FloatingPointStackifier cannot handle them.
+///
+FunctionPass *createX86FloatingPointKillerPass();
+
/// createX86FloatingPointStackifierPass - This function returns a pass which
/// converts floating point register references and pseudo instructions into
/// floating point stack references and physical instructions.