[llvm-commits] CVS: llvm/include/llvm/Target/TargetAsmInfo.h

Chris Lattner sabre at nondot.org
Tue Nov 28 17:12:50 PST 2006



Changes in directory llvm/include/llvm/Target:

TargetAsmInfo.h updated: 1.13 -> 1.14
---
Log message:

add a hook to allow targets to hack on inline asms to lower them to llvm
when they want to.


---
Diffs of the changes:  (+9 -3)

 TargetAsmInfo.h |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)


Index: llvm/include/llvm/Target/TargetAsmInfo.h
diff -u llvm/include/llvm/Target/TargetAsmInfo.h:1.13 llvm/include/llvm/Target/TargetAsmInfo.h:1.14
--- llvm/include/llvm/Target/TargetAsmInfo.h:1.13	Tue Nov 28 13:51:57 2006
+++ llvm/include/llvm/Target/TargetAsmInfo.h	Tue Nov 28 19:12:32 2006
@@ -20,9 +20,8 @@
 #include "llvm/Support/DataTypes.h"
 
 namespace llvm {
-
-  // Forward declaration.
   class TargetMachine;
+  class CallInst;
 
   /// TargetAsmInfo - This class is intended to be used as a base class for asm
   /// properties and features specific to the target.
@@ -286,8 +285,15 @@
     /// Measure the specified inline asm to determine an approximation of its
     /// length.
     unsigned getInlineAsmLength(const char *Str) const;
+
+    /// ExpandInlineAsm - This hook allows the target to expand an inline asm
+    /// call to be explicit llvm code if it wants to.  This is useful for
+    /// turning simple inline asms into LLVM intrinsics, which gives the
+    /// compiler more information about the behavior of the code.
+    virtual bool ExpandInlineAsm(CallInst *CI) const {
+      return false;
+    }
     
-    //
     // Accessors.
     //
     const char *getTextSection() const {






More information about the llvm-commits mailing list