diff options
29 files changed, 137 insertions, 125 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index a57f242..699c11b 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -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 (i16 sext, i32 *) * + <td class="left"><tt>float (i16 signext, i32 *) * </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 diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index bc61e97..24467cf 100644 --- a/lib/AsmParser/Lexer.l +++ b/lib/AsmParser/Lexer.l @@ -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; } diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index c879081..0936af3 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -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; } diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index ab12ae8..dd78196 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -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 index 0000000..9c7daa8 --- /dev/null +++ b/test/Assembler/2007-07-19-ParamAttrAmbiguity.ll @@ -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) diff --git a/test/CFrontend/2007-06-18-SextAttrAggregate.c b/test/CFrontend/2007-06-18-SextAttrAggregate.c index 2ba61ff..2eabd4f 100644 --- a/test/CFrontend/2007-06-18-SextAttrAggregate.c +++ b/test/CFrontend/2007-06-18-SextAttrAggregate.c @@ -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{ diff --git a/test/CodeGen/ARM/2007-03-06-AddR7.ll b/test/CodeGen/ARM/2007-03-06-AddR7.ll index 5e136dd..ad3e195 100644 --- a/test/CodeGen/ARM/2007-03-06-AddR7.ll +++ b/test/CodeGen/ARM/2007-03-06-AddR7.ll @@ -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*, ...) diff --git a/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll b/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll index 5a62401..6d3f640 100644 --- a/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll +++ b/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll @@ -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*) diff --git a/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll b/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll index b850728..f3f82bc 100644 --- a/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll +++ b/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll @@ -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 } diff --git a/test/CodeGen/ARM/ifcvt8.ll b/test/CodeGen/ARM/ifcvt8.ll index c401e68..811aa57 100644 --- a/test/CodeGen/ARM/ifcvt8.ll +++ b/test/CodeGen/ARM/ifcvt8.ll @@ -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 diff --git a/test/CodeGen/ARM/sxt_rot.ll b/test/CodeGen/ARM/sxt_rot.ll index bf62d08..fde671f 100644 --- a/test/CodeGen/ARM/sxt_rot.ll +++ b/test/CodeGen/ARM/sxt_rot.ll @@ -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 diff --git a/test/CodeGen/ARM/uxt_rot.ll b/test/CodeGen/ARM/uxt_rot.ll index d15c650..66275ea 100644 --- a/test/CodeGen/ARM/uxt_rot.ll +++ b/test/CodeGen/ARM/uxt_rot.ll @@ -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 diff --git a/test/CodeGen/Alpha/add.ll b/test/CodeGen/Alpha/add.ll index 16ce2b0..add5e0c 100644 --- a/test/CodeGen/Alpha/add.ll +++ b/test/CodeGen/Alpha/add.ll @@ -18,19 +18,19 @@ ; 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] diff --git a/test/CodeGen/Alpha/i32_sub_1.ll b/test/CodeGen/Alpha/i32_sub_1.ll index ae254f2..7af8134 100644 --- a/test/CodeGen/Alpha/i32_sub_1.ll +++ b/test/CodeGen/Alpha/i32_sub_1.ll @@ -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 diff --git a/test/CodeGen/Alpha/zapnot.ll b/test/CodeGen/Alpha/zapnot.ll index 05e90ec..7fec19b 100644 --- a/test/CodeGen/Alpha/zapnot.ll +++ b/test/CodeGen/Alpha/zapnot.ll @@ -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 diff --git a/test/CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll b/test/CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll index 0ea76c7..ae853f6 100644 --- a/test/CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll +++ b/test/CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll @@ -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] diff --git a/test/CodeGen/PowerPC/and-elim.ll b/test/CodeGen/PowerPC/and-elim.ll index f85b3d8..eef8f51 100644 --- a/test/CodeGen/PowerPC/and-elim.ll +++ b/test/CodeGen/PowerPC/and-elim.ll @@ -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 diff --git a/test/CodeGen/PowerPC/and_sext.ll b/test/CodeGen/PowerPC/and_sext.ll index ac27798..e0e498d 100644 --- a/test/CodeGen/PowerPC/and_sext.ll +++ b/test/CodeGen/PowerPC/and_sext.ll @@ -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 diff --git a/test/CodeGen/PowerPC/small-arguments.ll b/test/CodeGen/PowerPC/small-arguments.ll index e512047..e211e86 100644 --- a/test/CodeGen/PowerPC/small-arguments.ll +++ b/test/CodeGen/PowerPC/small-arguments.ll @@ -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 } diff --git a/test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll b/test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll index f89ef71..61f8b2c 100644 --- a/test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll +++ b/test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll @@ -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 diff --git a/test/CodeGen/X86/2007-06-04-tailmerge4.ll b/test/CodeGen/X86/2007-06-04-tailmerge4.ll index a052ad8..497a83a 100644 --- a/test/CodeGen/X86/2007-06-04-tailmerge4.ll +++ b/test/CodeGen/X86/2007-06-04-tailmerge4.ll @@ -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) diff --git a/test/CodeGen/X86/trunc-to-bool.ll b/test/CodeGen/X86/trunc-to-bool.ll index bf53825..69f37c0 100644 --- a/test/CodeGen/X86/trunc-to-bool.ll +++ b/test/CodeGen/X86/trunc-to-bool.ll @@ -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 } diff --git a/test/CodeGen/X86/x86-64-arg.ll b/test/CodeGen/X86/x86-64-arg.ll index f4fe2f4..b6aa9a1 100644 --- a/test/CodeGen/X86/x86-64-arg.ll +++ b/test/CodeGen/X86/x86-64-arg.ll @@ -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 diff --git a/test/CodeGen/X86/x86-64-shortint.ll b/test/CodeGen/X86/x86-64-shortint.ll index d136450..369527f 100644 --- a/test/CodeGen/X86/x86-64-shortint.ll +++ b/test/CodeGen/X86/x86-64-shortint.ll @@ -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 ) diff --git a/test/Feature/paramattrs.ll b/test/Feature/paramattrs.ll index 01dc2fa..24c46dc 100644 --- a/test/Feature/paramattrs.ll +++ b/test/Feature/paramattrs.ll @@ -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 } diff --git a/test/Integer/paramattrs_bt.ll b/test/Integer/paramattrs_bt.ll index 7959fa0..e5b6a3e 100644 --- a/test/Integer/paramattrs_bt.ll +++ b/test/Integer/paramattrs_bt.ll @@ -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 } diff --git a/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll b/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll index 1d8f3b5..86187b2 100644 --- a/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll +++ b/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll @@ -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*, ...) diff --git a/test/Transforms/GlobalOpt/2007-04-05-Crash.ll b/test/Transforms/GlobalOpt/2007-04-05-Crash.ll index bf957b4..1991d90 100644 --- a/test/Transforms/GlobalOpt/2007-04-05-Crash.ll +++ b/test/Transforms/GlobalOpt/2007-04-05-Crash.ll @@ -6,7 +6,7 @@ target triple = "thumb-apple-darwin8" @"L_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]* @"L_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] diff --git a/test/Transforms/IndVarsSimplify/iterationCount_zext_or_trunc.ll b/test/Transforms/IndVarsSimplify/iterationCount_zext_or_trunc.ll index 0331f23..747c781 100644 --- a/test/Transforms/IndVarsSimplify/iterationCount_zext_or_trunc.ll +++ b/test/Transforms/IndVarsSimplify/iterationCount_zext_or_trunc.ll @@ -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 |