aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-07-19 23:13:04 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-07-19 23:13:04 +0000
commit9445e9aaa0240a897baf464ff89255acdcc7fbc9 (patch)
tree1d769c299d5d5b0027b30ac5c301c6ff7613d28f
parent087b72d1bceea0ffe414c0e3d54196aafc7769f8 (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
-rw-r--r--docs/LangRef.html16
-rw-r--r--lib/AsmParser/Lexer.l2
-rw-r--r--lib/AsmParser/llvmAsmParser.y9
-rw-r--r--lib/VMCore/Function.cpp4
-rw-r--r--test/Assembler/2007-07-19-ParamAttrAmbiguity.ll9
-rw-r--r--test/CFrontend/2007-06-18-SextAttrAggregate.c2
-rw-r--r--test/CodeGen/ARM/2007-03-06-AddR7.ll12
-rw-r--r--test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll90
-rw-r--r--test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll2
-rw-r--r--test/CodeGen/ARM/ifcvt8.ll2
-rw-r--r--test/CodeGen/ARM/sxt_rot.ll4
-rw-r--r--test/CodeGen/ARM/uxt_rot.ll6
-rw-r--r--test/CodeGen/Alpha/add.ll26
-rw-r--r--test/CodeGen/Alpha/i32_sub_1.ll2
-rw-r--r--test/CodeGen/Alpha/zapnot.ll2
-rw-r--r--test/CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll2
-rw-r--r--test/CodeGen/PowerPC/and-elim.ll2
-rw-r--r--test/CodeGen/PowerPC/and_sext.ll4
-rw-r--r--test/CodeGen/PowerPC/small-arguments.ll12
-rw-r--r--test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll4
-rw-r--r--test/CodeGen/X86/2007-06-04-tailmerge4.ll6
-rw-r--r--test/CodeGen/X86/trunc-to-bool.ll2
-rw-r--r--test/CodeGen/X86/x86-64-arg.ll2
-rw-r--r--test/CodeGen/X86/x86-64-shortint.ll6
-rw-r--r--test/Feature/paramattrs.ll14
-rw-r--r--test/Integer/paramattrs_bt.ll12
-rw-r--r--test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll4
-rw-r--r--test/Transforms/GlobalOpt/2007-04-05-Crash.ll2
-rw-r--r--test/Transforms/IndVarsSimplify/iterationCount_zext_or_trunc.ll2
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&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
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