aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2006-08-12 21:29:52 +0000
committerNate Begeman <natebegeman@mac.com>2006-08-12 21:29:52 +0000
commit52a51e38dc312aa262b0d771419afe1785f3cb22 (patch)
tree2e3c7c10a0434eaf7880b1ebaa3510f541a243a8 /include
parentf6e190fae02174d465ae1f9000192269a5978c73 (diff)
downloadexternal_llvm-52a51e38dc312aa262b0d771419afe1785f3cb22.zip
external_llvm-52a51e38dc312aa262b0d771419afe1785f3cb22.tar.gz
external_llvm-52a51e38dc312aa262b0d771419afe1785f3cb22.tar.bz2
Emit .set directives for jump table entries when possible, which reduces
the number of relocations in object files, shrinkifying them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29650 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/AsmPrinter.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h
index 802fe6d..686a075 100644
--- a/include/llvm/CodeGen/AsmPrinter.h
+++ b/include/llvm/CodeGen/AsmPrinter.h
@@ -185,6 +185,10 @@ namespace llvm {
//===--- Global Variable Emission Directives --------------------------===//
+ /// SetDirective - This is the name of a directive that can be used to tell
+ /// the assembler to set the value of a variable to some expression.
+ const char *SetDirective; // Defaults to null.
+
/// LCOMMDirective - This is the name of a directive (if supported) that can
/// be used to efficiently declare a local (internal) block of zero
/// initialized data in the .bss/.data section. The syntax expected is:
@@ -193,7 +197,7 @@ namespace llvm {
const char *LCOMMDirective; // Defaults to null.
const char *COMMDirective; // Defaults to "\t.comm\t".
-
+
/// COMMDirectiveTakesAlignment - True if COMMDirective take a third
/// argument that specifies the alignment of the declaration.
bool COMMDirectiveTakesAlignment; // Defaults to true.
@@ -322,6 +326,10 @@ namespace llvm {
virtual void printBasicBlockLabel(const MachineBasicBlock *MBB,
bool printColon = false,
bool printComment = true) const;
+
+ /// printSetLabel - This method prints a set label for the specified
+ /// MachineBasicBlock
+ void printSetLabel(unsigned uid, const MachineBasicBlock *MBB) const;
private:
void EmitXXStructorList(Constant *List);