[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