diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-07-19 23:13:04 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-07-19 23:13:04 +0000 |
commit | 9445e9aaa0240a897baf464ff89255acdcc7fbc9 (patch) | |
tree | 1d769c299d5d5b0027b30ac5c301c6ff7613d28f | |
parent | 087b72d1bceea0ffe414c0e3d54196aafc7769f8 (diff) |
For PR1553:
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, 137 insertions, 125 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index a57f242605..699c11b392 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 bc61e97ca9..24467cf606 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 c8790819d3..0936af3a4d 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 ab12ae8bfe..dd781964a9 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 0000000000..9c7daa841a --- /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 2ba61fff76..2eabd4fcca 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 5e136ddb8d..ad3e195a0d 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 5a62401fe1..6d3f6404af 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 b850728ba3..f3f82bc484 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 c401e68260..811aa57fdb 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 bf62d08066..fde671f034 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 d15c6503c7..66275eae0e 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 16ce2b0ab8..add5e0c67a 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 |