For PR1553:
authorReid Spencer <rspencer@reidspencer.com>
Thu, 19 Jul 2007 23:13:04 +0000 (23:13 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 19 Jul 2007 23:13:04 +0000 (23:13 +0000)
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8

29 files changed:
docs/LangRef.html
lib/AsmParser/Lexer.l
lib/AsmParser/llvmAsmParser.y
lib/VMCore/Function.cpp
test/Assembler/2007-07-19-ParamAttrAmbiguity.ll [new file with mode: 0644]
test/CFrontend/2007-06-18-SextAttrAggregate.c
test/CodeGen/ARM/2007-03-06-AddR7.ll
test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll
test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll
test/CodeGen/ARM/ifcvt8.ll
test/CodeGen/ARM/sxt_rot.ll
test/CodeGen/ARM/uxt_rot.ll
test/CodeGen/Alpha/add.ll
test/CodeGen/Alpha/i32_sub_1.ll
test/CodeGen/Alpha/zapnot.ll
test/CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll
test/CodeGen/PowerPC/and-elim.ll
test/CodeGen/PowerPC/and_sext.ll
test/CodeGen/PowerPC/small-arguments.ll
test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll
test/CodeGen/X86/2007-06-04-tailmerge4.ll
test/CodeGen/X86/trunc-to-bool.ll
test/CodeGen/X86/x86-64-arg.ll
test/CodeGen/X86/x86-64-shortint.ll
test/Feature/paramattrs.ll
test/Integer/paramattrs_bt.ll
test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll
test/Transforms/GlobalOpt/2007-04-05-Crash.ll
test/Transforms/IndVarsSimplify/iterationCount_zext_or_trunc.ll

index a57f2426059d3a19f9dc23c9e56deaa3b5ae7dc2..699c11b392547c39b8129863fe0c12a320fa42d1 100644 (file)
@@ -760,22 +760,22 @@ a power of 2.</p>
 
 <div class="doc_code">
 <pre>
-%someFunc = i16 (i8 sext %someParam) zext
-%someFunc = i16 (i8 zext %someParam) zext
+%someFunc = i16 (i8 signext %someParam) zeroext
+%someFunc = i16 (i8 zeroext %someParam) zeroext
 </pre>
 </div>
 
   <p>Note that the two function types above are unique because the parameter has
-  a different attribute (sext in the first one, zext in the second). Also note
-  that the attribute for the function result (zext) comes immediately after the
-  argument list.</p>
+  a different attribute (<tt>signext</tt> in the first one, <tt>zeroext</tt> in
+  the second).  Also note that the attribute for the function result 
+  (<tt>zeroext</tt>) comes immediately after the argument list.</p>
 
   <p>Currently, only the following parameter attributes are defined:</p>
   <dl>
-    <dt><tt>zext</tt></dt>
+    <dt><tt>zeroext</tt></dt>
     <dd>This indicates that the parameter should be zero extended just before
     a call to this function.</dd>
-    <dt><tt>sext</tt></dt>
+    <dt><tt>signext</tt></dt>
     <dd>This indicates that the parameter should be sign extended just before
     a call to this function.</dd>
     <dt><tt>inreg</tt></dt>
@@ -1131,7 +1131,7 @@ Variable argument functions can access their arguments with the <a
     <td class="left">function taking an <tt>i32</tt>, returning an <tt>i32</tt>
     </td>
   </tr><tr class="layout">
-    <td class="left"><tt>float&nbsp;(i16&nbsp;sext,&nbsp;i32&nbsp;*)&nbsp;*
+    <td class="left"><tt>float&nbsp;(i16&nbsp;signext,&nbsp;i32&nbsp;*)&nbsp;*
     </tt></td>
     <td class="left"><a href="#t_pointer">Pointer</a> to a function that takes 
       an <tt>i16</tt> that should be sign extended and a 
index bc61e97ca95bc9553d1ca6a65f8b0cb934c36431..24467cf606d96bde9dddc4da811bbf37d68ae3a6 100644 (file)
@@ -225,6 +225,8 @@ coldcc          { return COLDCC_TOK; }
 x86_stdcallcc   { return X86_STDCALLCC_TOK; }
 x86_fastcallcc  { return X86_FASTCALLCC_TOK; }
 
+signext         { return SIGNEXT; }
+zeroext         { return ZEROEXT; }
 inreg           { return INREG; }
 sret            { return SRET;  }
 nounwind        { return NOUNWIND; }
index c8790819d33fc394afa0d279563382ed3bf31eae..0936af3a4d047156e98bd60e51b095304d17ff9f 100644 (file)
@@ -1101,7 +1101,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
 %token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR
 
 // Function Attributes
-%token NORETURN INREG SRET NOUNWIND NOALIAS BYVAL
+%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL
 
 // Visibility Styles
 %token DEFAULT HIDDEN PROTECTED
@@ -1224,8 +1224,8 @@ OptCallingConv : /*empty*/          { $$ = CallingConv::C; } |
                   CHECK_FOR_ERROR
                  };
 
-ParamAttr     : ZEXT    { $$ = ParamAttr::ZExt;      }
-              | SEXT    { $$ = ParamAttr::SExt;      }
+ParamAttr     : ZEROEXT { $$ = ParamAttr::ZExt;      }
+              | SIGNEXT { $$ = ParamAttr::SExt;      }
               | INREG   { $$ = ParamAttr::InReg;     }
               | SRET    { $$ = ParamAttr::StructRet; }
               | NOALIAS { $$ = ParamAttr::NoAlias;   }
@@ -1240,7 +1240,8 @@ OptParamAttrs : /* empty */  { $$ = ParamAttr::None; }
 
 FuncAttr      : NORETURN { $$ = ParamAttr::NoReturn; }
               | NOUNWIND { $$ = ParamAttr::NoUnwind; }
-              | ParamAttr
+              | ZEROEXT  { $$ = ParamAttr::ZExt;     }
+              | SIGNEXT  { $$ = ParamAttr::SExt;     }
               ;
 
 OptFuncAttrs  : /* empty */ { $$ = ParamAttr::None; }
index ab12ae8bfe298e049503e53c3f52436ff7f3e466..dd781964a9174ad28bb215a4a1132fab8cf9352f 100644 (file)
@@ -90,9 +90,9 @@ std::string
 ParamAttrsList::getParamAttrsText(uint16_t Attrs) {
   std::string Result;
   if (Attrs & ParamAttr::ZExt)
-    Result += "zext ";
+    Result += "zeroext ";
   if (Attrs & ParamAttr::SExt)
-    Result += "sext ";
+    Result += "signext ";
   if (Attrs & ParamAttr::NoReturn)
     Result += "noreturn ";
   if (Attrs & ParamAttr::NoUnwind)
diff --git a/test/Assembler/2007-07-19-ParamAttrAmbiguity.ll b/test/Assembler/2007-07-19-ParamAttrAmbiguity.ll
new file mode 100644 (file)
index 0000000..9c7daa8
--- /dev/null
@@ -0,0 +1,9 @@
+; PR1553
+; RUN: llvm-as < %s > /dev/null
+define void @bar() {
+        %t = call i8 @foo( i8 10 )
+        zext i8 %t to i32
+        ret void
+}
+
+declare i8 @foo(i8)
index 2ba61fff76f7c049c5857e9f25f11ad09411d7f1..2eabd4fcca4e8cd87c4cf34a1b22b174f6d7fa33 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -o - -S -emit-llvm -O3 | grep {i8 sext}
+// RUN: %llvmgcc %s -o - -S -emit-llvm -O3 | grep {i8 signext}
 // PR1513
 
 struct s{
index 5e136ddb8d853b797c713b6b0a9ff6df9f657487..ad3e195a0dd79662cfc14e47365cf4b8b92d7733 100644 (file)
@@ -9,7 +9,7 @@
        %struct.__fooString = type opaque
        %struct.__fooV = type opaque
        %struct.fooXBase = type { i32, [4 x i8] }
-       %struct.fooXClass = type { i32, i8*, void (i8*)*, i8* (%struct.__fooAllocator*, i8*)*, void (i8*)*, i8 (i8*, i8*) zext *, i32 (i8*)*, %struct.__fooString* (i8*, %struct.__fooZ*)*, %struct.__fooString* (i8*)* }
+       %struct.fooXClass = type { i32, i8*, void (i8*)*, i8* (%struct.__fooAllocator*, i8*)*, void (i8*)*, i8 (i8*, i8*) zeroext *, i32 (i8*)*, %struct.__fooString* (i8*, %struct.__fooZ*)*, %struct.__fooString* (i8*)* }
        %struct.aa_cache = type { i32, i32, [1 x %struct.aa_method*] }
        %struct.aa_class = type { %struct.aa_class*, %struct.aa_class*, i8*, i32, i32, i32, %struct.aa_ivar_list*, %struct.aa_method_list**, %struct.aa_cache*, %struct.aa_protocol_list* }
        %struct.aa_ivar = type { i8*, i8*, i32 }
@@ -27,7 +27,7 @@
 @str15 = external constant [24 x i8]           ; <[24 x i8]*> [#uses=1]
 
 
-define i8 @test(%struct.__fooY* %calendar, double* %atp, i8* %componentDesc, ...) zext  {
+define i8 @test(%struct.__fooY* %calendar, double* %atp, i8* %componentDesc, ...) zeroext  {
 entry:
        %args = alloca i8*, align 4             ; <i8**> [#uses=5]
        %args4 = bitcast i8** %args to i8*              ; <i8*> [#uses=2]
@@ -75,12 +75,12 @@ cond_true60:                ; preds = %cond_true58
        %tmp63 = call %struct.aa_ss* @sel_registerName( i8* getelementptr ([24 x i8]* @str15, i32 0, i32 0) )           ; <%struct.aa_ss*> [#uses=2]
        store %struct.aa_ss* %tmp63, %struct.aa_ss** @s.10319
        %tmp66137 = volatile load i8** %args            ; <i8*> [#uses=1]
-       %tmp73138 = call i8 (i8*, %struct.aa_ss*, ...) zext * bitcast (%struct.aa_object* (%struct.aa_object*, %struct.aa_ss*, ...)* @aa_mm to i8 (i8*, %struct.aa_ss*, ...) zext *)( i8* %tmp6869, %struct.aa_ss* %tmp63, double* %atp, i8* %componentDesc, i8* %tmp66137 ) zext               ; <i8> [#uses=1]
+       %tmp73138 = call i8 (i8*, %struct.aa_ss*, ...) zeroext * bitcast (%struct.aa_object* (%struct.aa_object*, %struct.aa_ss*, ...)* @aa_mm to i8 (i8*, %struct.aa_ss*, ...) zeroext *)( i8* %tmp6869, %struct.aa_ss* %tmp63, double* %atp, i8* %componentDesc, i8* %tmp66137) zeroext               ; <i8> [#uses=1]
        ret i8 %tmp73138
 
 cond_next64:           ; preds = %cond_true58
        %tmp66 = volatile load i8** %args               ; <i8*> [#uses=1]
-       %tmp73 = call i8 (i8*, %struct.aa_ss*, ...) zext * bitcast (%struct.aa_object* (%struct.aa_object*, %struct.aa_ss*, ...)* @aa_mm to i8 (i8*, %struct.aa_ss*, ...) zext *)( i8* %tmp6869, %struct.aa_ss* %tmp59, double* %atp, i8* %componentDesc, i8* %tmp66 ) zext             ; <i8> [#uses=1]
+       %tmp73 = call i8 (i8*, %struct.aa_ss*, ...) zeroext * bitcast (%struct.aa_object* (%struct.aa_object*, %struct.aa_ss*, ...)* @aa_mm to i8 (i8*, %struct.aa_ss*, ...) zeroext *)( i8* %tmp6869, %struct.aa_ss* %tmp59, double* %atp, i8* %componentDesc, i8* %tmp66 ) zeroext            ; <i8> [#uses=1]
        ret i8 %tmp73
 
 cond_true111:          ; preds = %cond_true111, %bb48
@@ -98,13 +98,13 @@ cond_true111:               ; preds = %cond_true111, %bb48
 
 bb114:         ; preds = %cond_true111, %bb48
        call void @llvm.va_end( i8* %args4 )
-       %tmp122 = call i8 @_fooYCCV( %struct.__fooY* %calendar, double* %atp, i8* %componentDesc, i32* %tmp92, i32 %tmp78 ) zext                ; <i8> [#uses=1]
+       %tmp122 = call i8 @_fooYCCV( %struct.__fooY* %calendar, double* %atp, i8* %componentDesc, i32* %tmp92, i32 %tmp78 ) zeroext             ; <i8> [#uses=1]
        ret i8 %tmp122
 }
 
 declare i32 @_fooXRegisterClass(%struct.fooXClass*)
 
-declare i8 @_fooYCCV(%struct.__fooY*, double*, i8*, i32*, i32) zext 
+declare i8 @_fooYCCV(%struct.__fooY*, double*, i8*, i32*, i32) zeroext 
 
 declare %struct.aa_object* @aa_mm(%struct.aa_object*, %struct.aa_ss*, ...)
 
index 5a62401fe18dcfc3a25833cbac02bff9679340bd..6d3f6404af840e64e8754c5e6acc144ec2239538 100644 (file)
@@ -47,12 +47,12 @@ target triple = "arm-linux-gnueabi"
        %struct.htab = type { i32 (i8*)*, i32 (i8*, i8*)*, void (i8*)*, i8**, i32, i32, i32, i32, i32, i8* (i32, i32)*, void (i8*)*, i8*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i32 }
        %struct.initial_value_struct = type opaque
        %struct.lang_decl = type opaque
-       %struct.lang_hooks = type { i8*, i32, i32 (i32)*, i32 (i32, i8**)*, void (%struct.diagnostic_context*)*, i32 (i32, i8*, i32)*, i8 (i8*, i32) zext *, i8 (i8**) zext *, i8 () zext *, void ()*, void ()*, void (i32)*, void ()*, i64 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.rtx_def* (%struct.tree_node*, %struct.rtx_def*, i32, i32, %struct.rtx_def**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i32 (%struct.rtx_def*, %struct.tree_node*)*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zext *, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*)*, void (%struct.tree_node*)*, i8 () zext *, i8, i8, void ()*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, i8* (%struct.tree_node*, i32)*, i32 (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.diagnostic_context*, i8*)*, %struct.tree_node* (%struct.tree_node*)*, i64 (i64)*, %struct.attribute_spec*, %struct.attribute_spec*, %struct.attribute_spec*, i32 (%struct.tree_node*)*, %struct.lang_hooks_for_functions, %struct.lang_hooks_for_tree_inlining, %struct.lang_hooks_for_callgraph, %struct.lang_hooks_for_tree_dump, %struct.lang_hooks_for_decls, %struct.lang_hooks_for_types, i32 (%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*, i32, i32, i8*, %struct.tree_node*)* }
+       %struct.lang_hooks = type { i8*, i32, i32 (i32)*, i32 (i32, i8**)*, void (%struct.diagnostic_context*)*, i32 (i32, i8*, i32)*, i8 (i8*, i32) zeroext *, i8 (i8**) zeroext *, i8 () zeroext *, void ()*, void ()*, void (i32)*, void ()*, i64 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.rtx_def* (%struct.tree_node*, %struct.rtx_def*, i32, i32, %struct.rtx_def**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i32 (%struct.rtx_def*, %struct.tree_node*)*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zeroext *, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*)*, void (%struct.tree_node*)*, i8 () zeroext *, i8, i8, void ()*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, i8* (%struct.tree_node*, i32)*, i32 (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.diagnostic_context*, i8*)*, %struct.tree_node* (%struct.tree_node*)*, i64 (i64)*, %struct.attribute_spec*, %struct.attribute_spec*, %struct.attribute_spec*, i32 (%struct.tree_node*)*, %struct.lang_hooks_for_functions, %struct.lang_hooks_for_tree_inlining, %struct.lang_hooks_for_callgraph, %struct.lang_hooks_for_tree_dump, %struct.lang_hooks_for_decls, %struct.lang_hooks_for_types, i32 (%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*, i32, i32, i8*, %struct.tree_node*)* }
        %struct.lang_hooks_for_callgraph = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node*)*, void (%struct.tree_node*)* }
-       %struct.lang_hooks_for_decls = type { i32 ()*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* ()*, i8 (%struct.tree_node*) zext *, void ()*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zext *, i8* (%struct.tree_node*)* }
-       %struct.lang_hooks_for_functions = type { void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, i8 (%struct.tree_node*) zext * }
-       %struct.lang_hooks_for_tree_dump = type { i8 (i8*, %struct.tree_node*) zext *, i32 (%struct.tree_node*)* }
-       %struct.lang_hooks_for_tree_inlining = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*)*, i32 (%struct.tree_node**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*)*, i32 (%struct.tree_node*, %struct.tree_node*)*, i32 (%struct.tree_node*)*, i8 (%struct.tree_node*, %struct.tree_node*) zext *, i32 (%struct.tree_node*)*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32)* }
+       %struct.lang_hooks_for_decls = type { i32 ()*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* ()*, i8 (%struct.tree_node*) zeroext *, void ()*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zeroext *, i8* (%struct.tree_node*)* }
+       %struct.lang_hooks_for_functions = type { void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, i8 (%struct.tree_node*) zeroext * }
+       %struct.lang_hooks_for_tree_dump = type { i8 (i8*, %struct.tree_node*) zeroext *, i32 (%struct.tree_node*)* }
+       %struct.lang_hooks_for_tree_inlining = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*)*, i32 (%struct.tree_node**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*)*, i32 (%struct.tree_node*, %struct.tree_node*)*, i32 (%struct.tree_node*)*, i8 (%struct.tree_node*, %struct.tree_node*) zeroext *, i32 (%struct.tree_node*)*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32)* }
        %struct.lang_hooks_for_types = type { %struct.tree_node* (i32)*, %struct.tree_node* (i32, i32)*, %struct.tree_node* (i32, i32)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* (i32, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*, i8*)*, void (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i8 }
        %struct.lang_type = type opaque
        %struct.language_function = type opaque
@@ -64,7 +64,7 @@ target triple = "arm-linux-gnueabi"
        %struct.output_buffer = type { %struct.obstack, %struct.FILE*, i32, [128 x i8] }
        %struct.phi_arg_d = type { %struct.tree_node*, i8 }
        %struct.pointer_set_t = type opaque
-       %struct.pretty_printer = type { %struct.output_buffer*, i8*, i32, i32, i32, i32, i32, i8 (%struct.pretty_printer*, %struct.text_info*) zext *, i8, i8 }
+       %struct.pretty_printer = type { %struct.output_buffer*, i8*, i32, i32, i32, i32, i32, i8 (%struct.pretty_printer*, %struct.text_info*) zeroext *, i8, i8 }
        %struct.ptr_info_def = type { i8, %struct.bitmap_head_def*, %struct.tree_node* }
        %struct.real_value = type { i8, [3 x i8], [5 x i32] }
        %struct.reg_attrs = type { %struct.tree_node*, i64 }
@@ -354,7 +354,7 @@ declare i64 @get_alias_set(%struct.tree_node*)
 
 declare i32 @alias_sets_conflict_p(i64, i64)
 
-declare fastcc i8 @cpt_same_type(%struct.tree_node*, %struct.tree_node*) zext 
+declare fastcc i8 @cpt_same_type(%struct.tree_node*, %struct.tree_node*) zeroext
 
 declare %struct.tree_node* @check_pointer_types_r(%struct.tree_node**, i32*, i8*)
 
@@ -380,7 +380,7 @@ declare fastcc %struct.tree_node* @shortcut_cond_expr(%struct.tree_node*)
 
 declare %struct.tree_node* @expr_last(%struct.tree_node*)
 
-declare i8 @block_may_fallthru(%struct.tree_node*) zext 
+declare i8 @block_may_fallthru(%struct.tree_node*) zeroext 
 
 declare fastcc void @gimple_pop_condition(%struct.tree_node**)
 
@@ -388,9 +388,9 @@ declare %struct.tree_node* @gimple_build_eh_filter(%struct.tree_node*, %struct.t
 
 declare void @annotate_all_with_locus(%struct.tree_node**, i32, i32)
 
-declare fastcc %struct.tree_node* @internal_get_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**, i8 zext )
+declare fastcc %struct.tree_node* @internal_get_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
 
-define i32 @gimplify_expr(%struct.tree_node** %expr_p, %struct.tree_node** %pre_p, %struct.tree_node** %post_p, i8 (%struct.tree_node*) zext * %gimple_test_f, i32 %fallback) {
+define i32 @gimplify_expr(%struct.tree_node** %expr_p, %struct.tree_node** %pre_p, %struct.tree_node** %post_p, i8 (%struct.tree_node*) zeroext * %gimple_test_f, i32 %fallback) {
 entry:
        %internal_post = alloca %struct.tree_node*, align 4             ; <%struct.tree_node**> [#uses=2]
        %pre_p_addr.0 = select i1 false, %struct.tree_node** null, %struct.tree_node** %pre_p           ; <%struct.tree_node**> [#uses=7]
@@ -598,7 +598,7 @@ cond_next3113:              ; preds = %cond_next3074
        ret i32 0
 
 bb3351:                ; preds = %cond_next3074
-       %tmp3354 = call i8 @tree_ssa_useless_type_conversion( %struct.tree_node* %tmp2554 ) zext                ; <i8> [#uses=1]
+       %tmp3354 = call i8 @tree_ssa_useless_type_conversion( %struct.tree_node* %tmp2554 ) zeroext             ; <i8> [#uses=1]
        icmp eq i8 %tmp3354, 0          ; <i1>:7 [#uses=1]
        %tmp3424 = load i32* null               ; <i32> [#uses=1]
        br i1 %7, label %cond_next3417, label %cond_true3356
@@ -640,7 +640,7 @@ cond_true4315:              ; preds = %cond_next4300
        unreachable
 
 cond_next4327:         ; preds = %cond_next4300
-       %tmp4336 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zext * @is_gimple_val, i32 1 )             ; <i32> [#uses=0]
+       %tmp4336 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zeroext * @is_gimple_val, i32 1 )          ; <i32> [#uses=0]
        ret i32 0
 
 bb4339:                ; preds = %cond_next298
@@ -714,8 +714,8 @@ bb6296:             ; preds = %cond_next298
 cond_next6474:         ; preds = %cond_next298
        icmp eq %struct.tree_node** %internal_post, %post_p_addr.0              ; <i1>:11 [#uses=1]
        %iftmp.381.0 = select i1 %11, %struct.tree_node** null, %struct.tree_node** %post_p_addr.0              ; <%struct.tree_node**> [#uses=1]
-       %tmp6490 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %iftmp.381.0, i8 (%struct.tree_node*) zext * %gimple_test_f, i32 %fallback )               ; <i32> [#uses=0]
-       %tmp6551 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zext * @is_gimple_val, i32 1 )             ; <i32> [#uses=0]
+       %tmp6490 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %iftmp.381.0, i8 (%struct.tree_node*) zeroext * %gimple_test_f, i32 %fallback )            ; <i32> [#uses=0]
+       %tmp6551 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zeroext * @is_gimple_val, i32 1 )          ; <i32> [#uses=0]
        ret i32 0
 
 bb7444:                ; preds = %cond_next298
@@ -728,7 +728,7 @@ bb7478:             ; preds = %bb277
        ret i32 0
 }
 
-declare i8 @is_gimple_formal_tmp_rhs(%struct.tree_node*) zext 
+declare i8 @is_gimple_formal_tmp_rhs(%struct.tree_node*) zeroext 
 
 declare void @gimplify_and_add(%struct.tree_node*, %struct.tree_node**)
 
@@ -738,17 +738,17 @@ declare %struct.tree_node* @get_formal_tmp_var(%struct.tree_node*, %struct.tree_
 
 declare fastcc void @gimplify_init_ctor_preeval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.gimplify_init_ctor_preeval_data*)
 
-declare i8 @type_contains_placeholder_p(%struct.tree_node*) zext 
+declare i8 @type_contains_placeholder_p(%struct.tree_node*) zeroext 
 
-declare i8 @is_gimple_mem_rhs(%struct.tree_node*) zext 
+declare i8 @is_gimple_mem_rhs(%struct.tree_node*) zeroext 
 
-declare fastcc i32 @gimplify_modify_expr_rhs(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zext )
+declare fastcc i32 @gimplify_modify_expr_rhs(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
 
 declare %struct.tree_node* @fold_indirect_ref(%struct.tree_node*)
 
-declare fastcc i32 @gimplify_compound_expr(%struct.tree_node**, %struct.tree_node**, i8 zext )
+declare fastcc i32 @gimplify_compound_expr(%struct.tree_node**, %struct.tree_node**, i8 zeroext )
 
-declare i8 @is_gimple_lvalue(%struct.tree_node*) zext 
+declare i8 @is_gimple_lvalue(%struct.tree_node*) zeroext 
 
 declare void @categorize_ctor_elements(%struct.tree_node*, i64*, i64*, i64*, i8*)
 
@@ -764,21 +764,21 @@ declare void @gimplify_stmt(%struct.tree_node**)
 
 declare %struct.tree_node* @get_base_address(%struct.tree_node*)
 
-declare fastcc void @gimplify_init_ctor_eval(%struct.tree_node*, %struct.tree_node*, %struct.tree_node**, i8 zext )
+declare fastcc void @gimplify_init_ctor_eval(%struct.tree_node*, %struct.tree_node*, %struct.tree_node**, i8 zeroext )
 
 declare %struct.tree_node* @build_complex(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
 
-declare i8 (%struct.tree_node*) zext * @rhs_predicate_for(%struct.tree_node*)
+declare i8 (%struct.tree_node*) zeroext * @rhs_predicate_for(%struct.tree_node*)
 
 declare %struct.tree_node* @build_vector(%struct.tree_node*, %struct.tree_node*)
 
-declare i8 @is_gimple_val(%struct.tree_node*) zext 
+declare i8 @is_gimple_val(%struct.tree_node*) zeroext 
 
-declare i8 @is_gimple_reg_type(%struct.tree_node*) zext 
+declare i8 @is_gimple_reg_type(%struct.tree_node*) zeroext 
 
 declare fastcc i32 @gimplify_cond_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node*, i32)
 
-declare fastcc i32 @gimplify_modify_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zext )
+declare fastcc i32 @gimplify_modify_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
 
 declare %struct.tree_node* @tree_cons_stat(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
 
@@ -786,31 +786,31 @@ declare %struct.tree_node* @build_fold_addr_expr(%struct.tree_node*)
 
 declare %struct.tree_node* @build_function_call_expr(%struct.tree_node*, %struct.tree_node*)
 
-declare i8 @is_gimple_addressable(%struct.tree_node*) zext 
+declare i8 @is_gimple_addressable(%struct.tree_node*) zeroext 
 
-declare i8 @is_gimple_reg(%struct.tree_node*) zext 
+declare i8 @is_gimple_reg(%struct.tree_node*) zeroext 
 
 declare %struct.tree_node* @make_ssa_name(%struct.tree_node*, %struct.tree_node*)
 
-declare i8 @tree_ssa_useless_type_conversion(%struct.tree_node*) zext 
+declare i8 @tree_ssa_useless_type_conversion(%struct.tree_node*) zeroext 
 
-declare fastcc i32 @gimplify_self_mod_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zext )
+declare fastcc i32 @gimplify_self_mod_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
 
 declare fastcc i32 @gimplify_compound_lval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i32)
 
 declare %struct.tree_node* @get_callee_fndecl(%struct.tree_node*)
 
-declare %struct.tree_node* @fold_builtin(%struct.tree_node*, i8 zext )
+declare %struct.tree_node* @fold_builtin(%struct.tree_node*, i8 zeroext )
 
 declare void @error(i8*, ...)
 
 declare %struct.tree_node* @build_empty_stmt()
 
-declare i8 @fold_builtin_next_arg(%struct.tree_node*) zext 
+declare i8 @fold_builtin_next_arg(%struct.tree_node*) zeroext 
 
 declare fastcc i32 @gimplify_arg(%struct.tree_node**, %struct.tree_node**)
 
-declare i8 @is_gimple_call_addr(%struct.tree_node*) zext 
+declare i8 @is_gimple_call_addr(%struct.tree_node*) zeroext 
 
 declare i32 @call_expr_flags(%struct.tree_node*)
 
@@ -862,7 +862,7 @@ declare void @tsi_delink(%struct.tree_stmt_iterator*)
 
 declare void @tsi_link_before(%struct.tree_stmt_iterator*, %struct.tree_node*, i32)
 
-declare i8 @is_gimple_stmt(%struct.tree_node*) zext 
+declare i8 @is_gimple_stmt(%struct.tree_node*) zeroext 
 
 declare void @print_generic_expr(%struct.FILE*, %struct.tree_node*, i32)
 
@@ -870,13 +870,13 @@ declare void @debug_tree(%struct.tree_node*)
 
 declare void @internal_error(i8*, ...)
 
-declare %struct.tree_node* @force_gimple_operand(%struct.tree_node*, %struct.tree_node**, i8 zext , %struct.tree_node*)
+declare %struct.tree_node* @force_gimple_operand(%struct.tree_node*, %struct.tree_node**, i8 zeroext , %struct.tree_node*)
 
-declare i8 @is_gimple_reg_rhs(%struct.tree_node*) zext 
+declare i8 @is_gimple_reg_rhs(%struct.tree_node*) zeroext 
 
 declare void @add_referenced_tmp_var(%struct.tree_node*)
 
-declare i8 @contains_placeholder_p(%struct.tree_node*) zext 
+declare i8 @contains_placeholder_p(%struct.tree_node*) zeroext 
 
 declare %struct.varray_head_tag* @varray_init(i32, i32, i8*)
 
@@ -886,21 +886,21 @@ declare void @varray_check_failed(%struct.varray_head_tag*, i32, i8*, i32, i8*)
 
 declare %struct.tree_node* @array_ref_low_bound(%struct.tree_node*)
 
-declare i8 @is_gimple_min_invariant(%struct.tree_node*) zext 
+declare i8 @is_gimple_min_invariant(%struct.tree_node*) zeroext 
 
-declare i8 @is_gimple_formal_tmp_reg(%struct.tree_node*) zext 
+declare i8 @is_gimple_formal_tmp_reg(%struct.tree_node*) zeroext 
 
 declare %struct.tree_node* @array_ref_element_size(%struct.tree_node*)
 
 declare %struct.tree_node* @component_ref_field_offset(%struct.tree_node*)
 
-declare i8 @is_gimple_min_lval(%struct.tree_node*) zext 
+declare i8 @is_gimple_min_lval(%struct.tree_node*) zeroext 
 
 declare void @varray_underflow(%struct.varray_head_tag*, i8*, i32, i8*)
 
 declare i32 @list_length(%struct.tree_node*)
 
-declare i8 @parse_output_constraint(i8**, i32, i32, i32, i8*, i8*, i8*) zext 
+declare i8 @parse_output_constraint(i8**, i32, i32, i32, i8*, i8*, i8*) zeroext 
 
 declare i8* @xstrdup(i8*)
 
@@ -912,11 +912,11 @@ declare %struct.tree_node* @build_tree_list_stat(%struct.tree_node*, %struct.tre
 
 declare %struct.tree_node* @chainon(%struct.tree_node*, %struct.tree_node*)
 
-declare i8 @parse_input_constraint(i8**, i32, i32, i32, i32, i8**, i8*, i8*) zext 
+declare i8 @parse_input_constraint(i8**, i32, i32, i32, i32, i8**, i8*, i8*) zeroext 
 
-declare i8 @is_gimple_asm_val(%struct.tree_node*) zext 
+declare i8 @is_gimple_asm_val(%struct.tree_node*) zeroext 
 
-declare void @gimplify_body(%struct.tree_node**, %struct.tree_node*, i8 zext )
+declare void @gimplify_body(%struct.tree_node**, %struct.tree_node*, i8 zeroext )
 
 declare void @timevar_push_1(i32)
 
@@ -934,11 +934,11 @@ declare %struct.tree_node* @make_tree_vec_stat(i32)
 
 declare %struct.tree_node* @tsi_split_statement_list_after(%struct.tree_stmt_iterator*)
 
-declare i8 @is_gimple_condexpr(%struct.tree_node*) zext 
+declare i8 @is_gimple_condexpr(%struct.tree_node*) zeroext 
 
 declare %struct.tree_node* @invert_truthvalue(%struct.tree_node*)
 
-declare i8 @initializer_zerop(%struct.tree_node*) zext 
+declare i8 @initializer_zerop(%struct.tree_node*) zeroext 
 
 declare i32 @simple_cst_equal(%struct.tree_node*, %struct.tree_node*)
 
index b850728ba3ed95391f089777c982bbde6ec94a56..f3f82bc4846f07cfe98386cfb2975865c56f3f4c 100644 (file)
@@ -2,7 +2,7 @@
 
        %struct.Connection = type { i32, [10 x i8], i32 }
        %struct.IntChunk = type { %struct.cppobjtype, i32, i32*, i32 }
-       %struct.Point = type { i8*, %struct.cppobjtype, i16 (%struct.Point*) sext *, i16 (%struct.Point*) sext *, double (%struct.Point*)*, double (%struct.Point*)* }
+       %struct.Point = type { i8*, %struct.cppobjtype, i16 (%struct.Point*) signext *, i16 (%struct.Point*) signext *, double (%struct.Point*)*, double (%struct.Point*)* }
        %struct.RefPoint = type { %struct.Point*, %struct.cppobjtype }
        %struct.ShortArray = type { %struct.cppobjtype, i32, i16* }
        %struct.TestObj = type { i8*, %struct.cppobjtype, i8, [32 x i8], i8*, i8**, i16, i16, i32, i32, i32, i32, float, double, %struct.cppobjtype, i32, i16*, i16**, i8**, i32, %struct.XyPoint, [3 x %struct.Connection], %struct.Point*, %struct.XyPoint*, i32, i8*, i8*, i16*, %struct.ShortArray, %struct.IntChunk, %struct.cppobjtype, %struct.cppobjtype, %struct.RefPoint, i32, %struct.cppobjtype, %struct.cppobjtype }
index c401e682605f137b4ddd04ceb7f41cc361791b80..811aa57fdbb79644324598590dd5e69cd719f968 100644 (file)
@@ -8,7 +8,7 @@
 
 declare void @abort()
 
-define fastcc void @t(%struct.SString* %word, i8 sext  %c) {
+define fastcc void @t(%struct.SString* %word, i8 signext  %c) {
 entry:
        %tmp1 = icmp eq %struct.SString* %word, null            ; <i1> [#uses=1]
        br i1 %tmp1, label %cond_true, label %cond_false
index bf62d08066b2135576197786ca7170d2ce1809c6..fde671f034fa8915200913ca8f6bb9a6b2cfa5ee 100644 (file)
@@ -3,7 +3,7 @@
 ; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | \
 ; RUN:   grep sxtab | wc -l | grep 1
 
-define i8 @test1(i32 %A) sext {
+define i8 @test1(i32 %A) signext {
        %B = lshr i32 %A, 8
        %C = shl i32 %A, 24
        %D = or i32 %B, %C
@@ -11,7 +11,7 @@ define i8 @test1(i32 %A) sext {
        ret i8 %E
 }
 
-define i32 @test2(i32 %A, i32 %X) sext {
+define i32 @test2(i32 %A, i32 %X) signext {
        %B = lshr i32 %A, 8
        %C = shl i32 %A, 24
        %D = or i32 %B, %C
index d15c6503c787a764062148cef88bc890e7676e1f..66275eae0eda92c8e3245414fad0ba158c518830 100644 (file)
@@ -2,19 +2,19 @@
 ; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | grep uxtab | wc -l | grep 1
 ; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | grep uxth  | wc -l | grep 1
 
-define i8 @test1(i32 %A.u) zext {
+define i8 @test1(i32 %A.u) zeroext {
     %B.u = trunc i32 %A.u to i8
     ret i8 %B.u
 }
 
-define i32 @test2(i32 %A.u, i32 %B.u) zext {
+define i32 @test2(i32 %A.u, i32 %B.u) zeroext {
     %C.u = trunc i32 %B.u to i8
     %D.u = zext i8 %C.u to i32
     %E.u = add i32 %A.u, %D.u
     ret i32 %E.u
 }
 
-define i32 @test3(i32 %A.u) zext {
+define i32 @test3(i32 %A.u) zeroext {
     %B.u = lshr i32 %A.u, 8
     %C.u = shl i32 %A.u, 24
     %D.u = or i32 %B.u, %C.u
index 16ce2b0ab85931061ed7cea395f46bd25cfa221a..add5e0c67af9f0f8bfc15e0192cab3cb692180aa 100644 (file)
 ; RUN: grep {s8subq} %t.s | wc -l | grep 2
 
 
-define i32 @al(i32 sext %x.s, i32 sext %y.s) sext {
+define i32 @al(i32 signext %x.s, i32 signext %y.s) signext {
 entry:
        %tmp.3.s = add i32 %y.s, %x.s           ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i32 @ali(i32 sext %x.s) sext {
+define i32 @ali(i32 signext %x.s) signext {
 entry:
        %tmp.3.s = add i32 100, %x.s            ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i64 @aq(i64 sext %x.s, i64 sext %y.s) sext {
+define i64 @aq(i64 signext %x.s, i64 signext %y.s) signext {
 entry:
        %tmp.3.s = add i64 %y.s, %x.s           ; <i64> [#uses=1]
        ret i64 %tmp.3.s
@@ -42,13 +42,13 @@ entry:
        ret i64 %tmp.3.s
 }
 
-define i32 @sl(i32 sext %x.s, i32 sext %y.s) sext {
+define i32 @sl(i32 signext %x.s, i32 signext %y.s) signext {
 entry:
        %tmp.3.s = sub i32 %y.s, %x.s           ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i32 @sli(i32 sext %x.s) sext {
+define i32 @sli(i32 signext %x.s) signext {
 entry:
        %tmp.3.s = sub i32 %x.s, 100            ; <i32> [#uses=1]
        ret i32 %tmp.3.s
@@ -66,14 +66,14 @@ entry:
        ret i64 %tmp.3.s
 }
 
-define i32 @a4l(i32 sext %x.s, i32 sext %y.s) sext {
+define i32 @a4l(i32 signext %x.s, i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 2              ; <i32> [#uses=1]
        %tmp.3.s = add i32 %tmp.1.s, %x.s               ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i32 @a8l(i32 sext %x.s, i32 sext %y.s) sext {
+define i32 @a8l(i32 signext %x.s, i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 3              ; <i32> [#uses=1]
        %tmp.3.s = add i32 %tmp.1.s, %x.s               ; <i32> [#uses=1]
@@ -94,14 +94,14 @@ entry:
        ret i64 %tmp.3.s
 }
 
-define i32 @a4li(i32 sext %y.s) sext {
+define i32 @a4li(i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 2              ; <i32> [#uses=1]
        %tmp.3.s = add i32 100, %tmp.1.s                ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i32 @a8li(i32 sext %y.s) sext {
+define i32 @a8li(i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 3              ; <i32> [#uses=1]
        %tmp.3.s = add i32 100, %tmp.1.s                ; <i32> [#uses=1]
@@ -122,14 +122,14 @@ entry:
        ret i64 %tmp.3.s
 }
 
-define i32 @s4l(i32 sext %x.s, i32 sext %y.s) sext {
+define i32 @s4l(i32 signext %x.s, i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 2              ; <i32> [#uses=1]
        %tmp.3.s = sub i32 %tmp.1.s, %x.s               ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i32 @s8l(i32 sext %x.s, i32 sext %y.s) sext {
+define i32 @s8l(i32 signext %x.s, i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 3              ; <i32> [#uses=1]
        %tmp.3.s = sub i32 %tmp.1.s, %x.s               ; <i32> [#uses=1]
@@ -150,14 +150,14 @@ entry:
        ret i64 %tmp.3.s
 }
 
-define i32 @s4li(i32 sext %y.s) sext {
+define i32 @s4li(i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 2              ; <i32> [#uses=1]
        %tmp.3.s = sub i32 %tmp.1.s, 100                ; <i32> [#uses=1]
        ret i32 %tmp.3.s
 }
 
-define i32 @s8li(i32 sext %y.s) sext {
+define i32 @s8li(i32 signext %y.s) signext {
 entry:
        %tmp.1.s = shl i32 %y.s, 3              ; <i32> [#uses=1]
        %tmp.3.s = sub i32 %tmp.1.s, 100                ; <i32> [#uses=1]
index ae254f2e9e10fc65b34adc528279466aafc9a485..7af813454072dadd13f4b31f93c3972dffb405a9 100644 (file)
@@ -2,7 +2,7 @@
 ; RUN: llvm-as < %s | llc -march=alpha | grep -i {subl \$16,1,\$0}
 
 
-define i32 @foo(i32 sext %x) sext {
+define i32 @foo(i32 signext %x) signext {
 entry:
        %tmp.1 = add i32 %x, -1         ; <int> [#uses=1]
        ret i32 %tmp.1
index 05e90ece31b0c2bf3a9aa6850894b6fa7eb4eb01..7fec19bdf3f572a8d7d73164ef2b1fc675fca72b 100644 (file)
@@ -2,7 +2,7 @@
 ; RUN: llvm-as < %s | llc -march=alpha | grep zapnot
 
 
-define i16 @foo(i64 %y) zext {
+define i16 @foo(i64 %y) zeroext {
 entry:
         %tmp.1 = trunc i64 %y to i16         ; <ushort> [#uses=1]
         ret i16 %tmp.1
index 0ea76c76338b0748868d1f273e9e857b0a6ab47a..ae853f67e20021c72c34fae67ec82b907006ef35 100644 (file)
@@ -4,7 +4,7 @@ target triple = "powerpc-apple-darwin8.8.0"
 ; RUN: llvm-as < %s | llc -march=ppc32 | grep {rlwinm r3, r3, 23, 30, 30}
 ; PR1473
 
-define i8 @foo(i16 zext  %a) zext  {
+define i8 @foo(i16 zeroext  %a) zeroext  {
         %tmp2 = lshr i16 %a, 10         ; <i16> [#uses=1]
         %tmp23 = trunc i16 %tmp2 to i8          ; <i8> [#uses=1]
         %tmp4 = shl i8 %tmp23, 1                ; <i8> [#uses=1]
index f85b3d82b716da73086ea004f9aec73e5fd866eb..eef8f51f7a190bfa86defade3ea7bc37a01e8df9 100644 (file)
@@ -9,7 +9,7 @@ define void @test(i8* %P) {
        ret void
 }
 
-define i16 @test2(i16 zext %crc) zext { 
+define i16 @test2(i16 zeroext %crc) zeroext { 
         ; No and's should be needed for the i16s here.
         %tmp.1 = lshr i16 %crc, 1
         %tmp.7 = xor i16 %tmp.1, 40961
index ac277980bd420f76a65bedc02dcc48f54c62376b..e0e498def057f9a9db9c905f89a40fd85e9549f0 100644 (file)
@@ -9,7 +9,7 @@ define i32 @test1(i32 %mode.0.i.0) {
         ret i32 %tmp.81
 }
 
-define i16 @test2(i16 sext %X, i16 sext %x) sext {
+define i16 @test2(i16 signext %X, i16 signext %x) signext {
         %tmp = sext i16 %X to i32
         %tmp1 = sext i16 %x to i32
         %tmp2 = add i32 %tmp, %tmp1
@@ -20,7 +20,7 @@ define i16 @test2(i16 sext %X, i16 sext %x) sext {
         ret i16 %retval
 }
 
-define i16 @test3(i32 zext %X) sext {
+define i16 @test3(i32 zeroext %X) signext {
         %tmp1 = lshr i32 %X, 16
         %tmp2 = trunc i32 %tmp1 to i16
         ret i16 %tmp2
index e5120473a2fc6c85e553557245a242357a66607a..e211e86875a2059af68ef06f9936f2ad0d381e34 100644 (file)
@@ -1,25 +1,25 @@
 ; RUN: llvm-as < %s | llc -march=ppc32 | not grep {extsh\\|rlwinm}
 
-declare i16 @foo() sext 
+declare i16 @foo() signext 
 
-define i32 @test1(i16 sext %X) {
+define i32 @test1(i16 signext %X) {
        %Y = sext i16 %X to i32  ;; dead
        ret i32 %Y
 }
 
-define i32 @test2(i16 zext %X) {
+define i32 @test2(i16 zeroext %X) {
        %Y = sext i16 %X to i32
        %Z = and i32 %Y, 65535      ;; dead
        ret i32 %Z
 }
 
 define void @test3() {
-       %tmp.0 = call i16 @foo() sext            ;; no extsh!
+       %tmp.0 = call i16 @foo() signext            ;; no extsh!
        %tmp.1 = icmp slt i16 %tmp.0, 1234
        br i1 %tmp.1, label %then, label %UnifiedReturnBlock
 
 then:  
-       call i32 @test1(i16 0 sext)
+       call i32 @test1(i16 0 signext)
        ret void
 UnifiedReturnBlock:
        ret void
@@ -46,7 +46,7 @@ define i32 @test6(i32* %P) {
         ret i32 %tmp.2
 }
 
-define i16 @test7(float %a) zext {
+define i16 @test7(float %a) zeroext {
         %tmp.1 = fptoui float %a to i16
         ret i16 %tmp.1
 }
index f89ef71d47f0de3fe2d32cf7e55633d8c9212106..61f8b2ce58f2958561170879d818d4c5748f679b 100644 (file)
@@ -3,7 +3,7 @@
        %struct.XDesc = type <{ i32, %struct.OpaqueXDataStorageType** }>
        %struct.OpaqueXDataStorageType = type opaque
 
-declare i16 @GetParamDesc(%struct.XDesc*, i32, i32, %struct.XDesc*) sext 
+declare i16 @GetParamDesc(%struct.XDesc*, i32, i32, %struct.XDesc*) signext 
 
 declare void @r_raise(i64, i8*, ...)
 
@@ -18,7 +18,7 @@ cond_true109:         ; preds = %entry
        br i1 false, label %cond_next164, label %cond_true239
 
 cond_next164:          ; preds = %cond_true109
-       %tmp176 = call i16 @GetParamDesc( %struct.XDesc* null, i32 1701999219, i32 1413830740, %struct.XDesc* null ) sext               ; <i16> [#uses=0]
+       %tmp176 = call i16 @GetParamDesc( %struct.XDesc* null, i32 1701999219, i32 1413830740, %struct.XDesc* null ) signext            ; <i16> [#uses=0]
        call void (i64, i8*, ...)* @r_raise( i64 0, i8* null )
        unreachable
 
index a052ad8e036bebea833c15574613532f0138a996..497a83aa34ad1444922c090b62dfe4b44c8728bf 100644 (file)
@@ -431,9 +431,9 @@ declare i32 @report__ident_int(i32 %x)
 
 declare i8 @report__equal(i32 %x, i32 %y)
 
-declare i8 @report__ident_char(i8 zext  %x)
+declare i8 @report__ident_char(i8 zeroext  %x)
 
-declare i16 @report__ident_wide_char(i16 zext  %x)
+declare i16 @report__ident_wide_char(i16 zeroext  %x)
 
 declare i8 @report__ident_bool(i8 %x)
 
@@ -451,4 +451,4 @@ declare void @report__legal_file_name(%struct.string___XUP* sret  %agg.result, i
 
 declare void @__gnat_rcheck_06(i8*, i32)
 
-declare void @system__string_ops__str_concat_cs(%struct.string___XUP* sret , i8 zext , i64)
+declare void @system__string_ops__str_concat_cs(%struct.string___XUP* sret , i8 zeroext , i64)
index bf5382510c29ac399cc5445ac1c51c49d5b14a83..69f37c0696add6db047be9afdf636858452dd168 100644 (file)
@@ -4,7 +4,7 @@
 ; RUN: llvm-as < %s | llc -march=x86 | grep {\\(and\\)\\|\\(test.*\\\$1\\)} | \
 ; RUN:   wc -l | grep 6
 
-define i1 @test1(i32 %X) zext {
+define i1 @test1(i32 %X) zeroext {
     %Y = trunc i32 %X to i1
     ret i1 %Y
 }
index f4fe2f4a4820887017d5ac6a18eccc6564daecaf..b6aa9a193e2df504f8a9905b67c04f595b61c798 100644 (file)
@@ -7,7 +7,7 @@ target datalayout = "e-p:64:64"
 target triple = "x86_64-apple-darwin8"
 
 
-define i32 @test(i16 sext  %X) {
+define i32 @test(i16 signext  %X) {
 entry:
         %tmp12 = sext i16 %X to i32             ; <i32> [#uses=1]
         ret i32 %tmp12
index d1364508d11b6889beeaf06fbefd8b00908a373e..369527fd29cfc3e4808980373f472aedbbef03ce 100644 (file)
@@ -4,9 +4,9 @@ target datalayout = "e-p:64:64"
 target triple = "x86_64-apple-darwin8"
 
 
-define void @bar(i16 zext  %A) {
-        tail call void @foo( i16 %A sext  )
+define void @bar(i16 zeroext  %A) {
+        tail call void @foo( i16 %A signext  )
         ret void
 }
-declare void @foo(i16 sext )
+declare void @foo(i16 signext )
 
index 01dc2fa93a89f000890ed1a999201ee92e0b9b5b..24c46dc22c1818911546c8902d24d3c874b4dfd7 100644 (file)
@@ -2,21 +2,21 @@
 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
 ; RUN: diff %t1.ll %t2.ll
 
-%ZFunTy = type i32(i8 zext)
-%SFunTy = type i32(i8 sext)
+%ZFunTy = type i32(i8 zeroext)
+%SFunTy = type i32(i8 signext)
 
-declare i16 @"test"(i16 sext %arg) sext 
-declare i8 @"test2" (i16 zext %a2) zext 
+declare i16 @"test"(i16 signext %arg) signext 
+declare i8 @"test2" (i16 zeroext %a2) zeroext 
 
 declare i32 @"test3"(i32* noalias %p)
 
 declare void @exit(i32) noreturn nounwind
 
-define i32 @main(i32 %argc, i8 **%argv) nounwind inreg {
+define i32 @main(i32 inreg %argc, i8 ** inreg %argv) nounwind {
     %val = trunc i32 %argc to i16
-    %res1 = call i16 (i16 sext) sext *@test(i16 %val)
+    %res1 = call i16 (i16 signext) signext *@test(i16 %val)
     %two = add i16 %res1, %res1
-    %res2 = call i8 @test2(i16 %two zext) zext 
+    %res2 = call i8 @test2(i16 %two zeroext) zeroext 
     %retVal = sext i16 %two to i32
     ret i32 %retVal
 }
index 7959fa0fe59c063d619b936c693cacd6ca2f7e4f..e5b6a3e65b5d8d271fc4ffd2908b6206d57f1755 100644 (file)
@@ -2,18 +2,18 @@
 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
 ; RUN: diff %t1.ll %t2.ll
 
-%ZFunTy = type i33(i8 zext)
-%SFunTy = type i33(i8 sext)
+%ZFunTy = type i33(i8 zeroext)
+%SFunTy = type i33(i8 signext)
 
-declare i16 @"test"(i16 sext %arg) sext 
-declare i8  @"test2" (i16 zext %a2) zext 
+declare i16 @"test"(i16 signext %arg) signext 
+declare i8  @"test2" (i16 zeroext %a2) zeroext 
 
 
 define i33 @main(i33 %argc, i8 **%argv) {
     %val = trunc i33 %argc to i16
-    %res = call i16 (i16 sext) sext *@test(i16 %val)
+    %res = call i16 (i16 signext) signext *@test(i16 %val)
     %two = add i16 %res, %res
-    %res2 = call i8 @test2(i16 %two zext) zext 
+    %res2 = call i8 @test2(i16 %two zeroext) zeroext 
     %retVal = sext i16 %two to i33
     ret i33 %retVal
 }
index 1d8f3b56345c8bcce29e9719fff7acbffb8b7743..86187b291b8765f4ca00b749c7fc8eb3b76390d8 100644 (file)
@@ -11,7 +11,7 @@ cond_true:            ; preds = %entry
        ret i32 0
 
 cond_next:             ; preds = %entry
-       %tmp10 = invoke i16 @_ZN12token_stream4openEPKc( i8* null, i8* null ) sext 
+       %tmp10 = invoke i16 @_ZN12token_stream4openEPKc( i8* null, i8* null ) signext 
                        to label %invcont unwind label %cleanup690              ; <i16> [#uses=0]
 
 invcont:               ; preds = %cond_next
@@ -63,7 +63,7 @@ cleanup690:           ; preds = %cond_next
        ret i32 0
 }
 
-declare i16 @_ZN12token_stream4openEPKc(i8*, i8*) sext 
+declare i16 @_ZN12token_stream4openEPKc(i8*, i8*) signext 
 
 declare i32 @printf(i8*, ...)
 
index bf957b439cb00555ad41d92489e396e5273160d4..1991d90b8fa655c0f1a476f4b691686e0784a226 100644 (file)
@@ -6,7 +6,7 @@ target triple = "thumb-apple-darwin8"
 @"\ 1L_OBJC_IMAGE_INFO" = internal global [2 x i32] zeroinitializer              ; <[2 x i32]*> [#uses=1]
 @llvm.used = appending global [1 x i8*] [ i8* bitcast ([2 x i32]* @"\ 1L_OBJC_IMAGE_INFO" to i8*) ]              ; <[1 x i8*]*> [#uses=0]
 
-define i16 @__NSCharToUnicharCFWrapper(i8 zext  %ch) zext  {
+define i16 @__NSCharToUnicharCFWrapper(i8 zeroext  %ch) zeroext  {
 entry:
        %iftmp.0.0.in.in = select i1 false, i16* @replacementUnichar, i16* null         ; <i16*> [#uses=1]
        %iftmp.0.0.in = load i16* %iftmp.0.0.in.in              ; <i16> [#uses=1]
index 0331f23f28578ffe07b14c4bb33d10590948da9e..747c781e993fdf82392fec052a0299d5ec1f4b90 100644 (file)
@@ -4,7 +4,7 @@
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
 target triple = "i686-pc-linux-gnu"
 
-define i32 @testcase(i5 zext  %k) {
+define i32 @testcase(i5 zeroext  %k) {
 entry:
        br label %bb2