mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
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
This commit is contained in:
@ -760,22 +760,22 @@ a power of 2.</p>
|
|||||||
|
|
||||||
<div class="doc_code">
|
<div class="doc_code">
|
||||||
<pre>
|
<pre>
|
||||||
%someFunc = i16 (i8 sext %someParam) zext
|
%someFunc = i16 (i8 signext %someParam) zeroext
|
||||||
%someFunc = i16 (i8 zext %someParam) zext
|
%someFunc = i16 (i8 zeroext %someParam) zeroext
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Note that the two function types above are unique because the parameter has
|
<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
|
a different attribute (<tt>signext</tt> in the first one, <tt>zeroext</tt> in
|
||||||
that the attribute for the function result (zext) comes immediately after the
|
the second). Also note that the attribute for the function result
|
||||||
argument list.</p>
|
(<tt>zeroext</tt>) comes immediately after the argument list.</p>
|
||||||
|
|
||||||
<p>Currently, only the following parameter attributes are defined:</p>
|
<p>Currently, only the following parameter attributes are defined:</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><tt>zext</tt></dt>
|
<dt><tt>zeroext</tt></dt>
|
||||||
<dd>This indicates that the parameter should be zero extended just before
|
<dd>This indicates that the parameter should be zero extended just before
|
||||||
a call to this function.</dd>
|
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
|
<dd>This indicates that the parameter should be sign extended just before
|
||||||
a call to this function.</dd>
|
a call to this function.</dd>
|
||||||
<dt><tt>inreg</tt></dt>
|
<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 class="left">function taking an <tt>i32</tt>, returning an <tt>i32</tt>
|
||||||
</td>
|
</td>
|
||||||
</tr><tr class="layout">
|
</tr><tr class="layout">
|
||||||
<td class="left"><tt>float (i16 sext, i32 *) *
|
<td class="left"><tt>float (i16 signext, i32 *) *
|
||||||
</tt></td>
|
</tt></td>
|
||||||
<td class="left"><a href="#t_pointer">Pointer</a> to a function that takes
|
<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
|
an <tt>i16</tt> that should be sign extended and a
|
||||||
|
@ -225,6 +225,8 @@ coldcc { return COLDCC_TOK; }
|
|||||||
x86_stdcallcc { return X86_STDCALLCC_TOK; }
|
x86_stdcallcc { return X86_STDCALLCC_TOK; }
|
||||||
x86_fastcallcc { return X86_FASTCALLCC_TOK; }
|
x86_fastcallcc { return X86_FASTCALLCC_TOK; }
|
||||||
|
|
||||||
|
signext { return SIGNEXT; }
|
||||||
|
zeroext { return ZEROEXT; }
|
||||||
inreg { return INREG; }
|
inreg { return INREG; }
|
||||||
sret { return SRET; }
|
sret { return SRET; }
|
||||||
nounwind { return NOUNWIND; }
|
nounwind { return NOUNWIND; }
|
||||||
|
@ -1101,7 +1101,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
|
|||||||
%token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR
|
%token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR
|
||||||
|
|
||||||
// Function Attributes
|
// Function Attributes
|
||||||
%token NORETURN INREG SRET NOUNWIND NOALIAS BYVAL
|
%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL
|
||||||
|
|
||||||
// Visibility Styles
|
// Visibility Styles
|
||||||
%token DEFAULT HIDDEN PROTECTED
|
%token DEFAULT HIDDEN PROTECTED
|
||||||
@ -1224,8 +1224,8 @@ OptCallingConv : /*empty*/ { $$ = CallingConv::C; } |
|
|||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
};
|
};
|
||||||
|
|
||||||
ParamAttr : ZEXT { $$ = ParamAttr::ZExt; }
|
ParamAttr : ZEROEXT { $$ = ParamAttr::ZExt; }
|
||||||
| SEXT { $$ = ParamAttr::SExt; }
|
| SIGNEXT { $$ = ParamAttr::SExt; }
|
||||||
| INREG { $$ = ParamAttr::InReg; }
|
| INREG { $$ = ParamAttr::InReg; }
|
||||||
| SRET { $$ = ParamAttr::StructRet; }
|
| SRET { $$ = ParamAttr::StructRet; }
|
||||||
| NOALIAS { $$ = ParamAttr::NoAlias; }
|
| NOALIAS { $$ = ParamAttr::NoAlias; }
|
||||||
@ -1240,7 +1240,8 @@ OptParamAttrs : /* empty */ { $$ = ParamAttr::None; }
|
|||||||
|
|
||||||
FuncAttr : NORETURN { $$ = ParamAttr::NoReturn; }
|
FuncAttr : NORETURN { $$ = ParamAttr::NoReturn; }
|
||||||
| NOUNWIND { $$ = ParamAttr::NoUnwind; }
|
| NOUNWIND { $$ = ParamAttr::NoUnwind; }
|
||||||
| ParamAttr
|
| ZEROEXT { $$ = ParamAttr::ZExt; }
|
||||||
|
| SIGNEXT { $$ = ParamAttr::SExt; }
|
||||||
;
|
;
|
||||||
|
|
||||||
OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; }
|
OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; }
|
||||||
|
@ -90,9 +90,9 @@ std::string
|
|||||||
ParamAttrsList::getParamAttrsText(uint16_t Attrs) {
|
ParamAttrsList::getParamAttrsText(uint16_t Attrs) {
|
||||||
std::string Result;
|
std::string Result;
|
||||||
if (Attrs & ParamAttr::ZExt)
|
if (Attrs & ParamAttr::ZExt)
|
||||||
Result += "zext ";
|
Result += "zeroext ";
|
||||||
if (Attrs & ParamAttr::SExt)
|
if (Attrs & ParamAttr::SExt)
|
||||||
Result += "sext ";
|
Result += "signext ";
|
||||||
if (Attrs & ParamAttr::NoReturn)
|
if (Attrs & ParamAttr::NoReturn)
|
||||||
Result += "noreturn ";
|
Result += "noreturn ";
|
||||||
if (Attrs & ParamAttr::NoUnwind)
|
if (Attrs & ParamAttr::NoUnwind)
|
||||||
|
9
test/Assembler/2007-07-19-ParamAttrAmbiguity.ll
Normal file
9
test/Assembler/2007-07-19-ParamAttrAmbiguity.ll
Normal file
@ -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)
|
@ -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
|
// PR1513
|
||||||
|
|
||||||
struct s{
|
struct s{
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
%struct.__fooString = type opaque
|
%struct.__fooString = type opaque
|
||||||
%struct.__fooV = type opaque
|
%struct.__fooV = type opaque
|
||||||
%struct.fooXBase = type { i32, [4 x i8] }
|
%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_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_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 }
|
%struct.aa_ivar = type { i8*, i8*, i32 }
|
||||||
@ -27,7 +27,7 @@
|
|||||||
@str15 = external constant [24 x i8] ; <[24 x i8]*> [#uses=1]
|
@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:
|
entry:
|
||||||
%args = alloca i8*, align 4 ; <i8**> [#uses=5]
|
%args = alloca i8*, align 4 ; <i8**> [#uses=5]
|
||||||
%args4 = bitcast i8** %args to i8* ; <i8*> [#uses=2]
|
%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]
|
%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
|
store %struct.aa_ss* %tmp63, %struct.aa_ss** @s.10319
|
||||||
%tmp66137 = volatile load i8** %args ; <i8*> [#uses=1]
|
%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
|
ret i8 %tmp73138
|
||||||
|
|
||||||
cond_next64: ; preds = %cond_true58
|
cond_next64: ; preds = %cond_true58
|
||||||
%tmp66 = volatile load i8** %args ; <i8*> [#uses=1]
|
%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
|
ret i8 %tmp73
|
||||||
|
|
||||||
cond_true111: ; preds = %cond_true111, %bb48
|
cond_true111: ; preds = %cond_true111, %bb48
|
||||||
@ -98,13 +98,13 @@ cond_true111: ; preds = %cond_true111, %bb48
|
|||||||
|
|
||||||
bb114: ; preds = %cond_true111, %bb48
|
bb114: ; preds = %cond_true111, %bb48
|
||||||
call void @llvm.va_end( i8* %args4 )
|
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
|
ret i8 %tmp122
|
||||||
}
|
}
|
||||||
|
|
||||||
declare i32 @_fooXRegisterClass(%struct.fooXClass*)
|
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*, ...)
|
declare %struct.aa_object* @aa_mm(%struct.aa_object*, %struct.aa_ss*, ...)
|
||||||
|
|
||||||
|
@ -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.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.initial_value_struct = type opaque
|
||||||
%struct.lang_decl = 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_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_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*) zext * }
|
%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*) zext *, i32 (%struct.tree_node*)* }
|
%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*) 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_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_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.lang_type = type opaque
|
||||||
%struct.language_function = 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.output_buffer = type { %struct.obstack, %struct.FILE*, i32, [128 x i8] }
|
||||||
%struct.phi_arg_d = type { %struct.tree_node*, i8 }
|
%struct.phi_arg_d = type { %struct.tree_node*, i8 }
|
||||||
%struct.pointer_set_t = type opaque
|
%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.ptr_info_def = type { i8, %struct.bitmap_head_def*, %struct.tree_node* }
|
||||||
%struct.real_value = type { i8, [3 x i8], [5 x i32] }
|
%struct.real_value = type { i8, [3 x i8], [5 x i32] }
|
||||||
%struct.reg_attrs = type { %struct.tree_node*, i64 }
|
%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 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*)
|
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 %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**)
|
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 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:
|
entry:
|
||||||
%internal_post = alloca %struct.tree_node*, align 4 ; <%struct.tree_node**> [#uses=2]
|
%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]
|
%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
|
ret i32 0
|
||||||
|
|
||||||
bb3351: ; preds = %cond_next3074
|
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]
|
icmp eq i8 %tmp3354, 0 ; <i1>:7 [#uses=1]
|
||||||
%tmp3424 = load i32* null ; <i32> [#uses=1]
|
%tmp3424 = load i32* null ; <i32> [#uses=1]
|
||||||
br i1 %7, label %cond_next3417, label %cond_true3356
|
br i1 %7, label %cond_next3417, label %cond_true3356
|
||||||
@ -640,7 +640,7 @@ cond_true4315: ; preds = %cond_next4300
|
|||||||
unreachable
|
unreachable
|
||||||
|
|
||||||
cond_next4327: ; preds = %cond_next4300
|
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
|
ret i32 0
|
||||||
|
|
||||||
bb4339: ; preds = %cond_next298
|
bb4339: ; preds = %cond_next298
|
||||||
@ -714,8 +714,8 @@ bb6296: ; preds = %cond_next298
|
|||||||
cond_next6474: ; preds = %cond_next298
|
cond_next6474: ; preds = %cond_next298
|
||||||
icmp eq %struct.tree_node** %internal_post, %post_p_addr.0 ; <i1>:11 [#uses=1]
|
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]
|
%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]
|
%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*) zext * @is_gimple_val, i32 1 ) ; <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
|
ret i32 0
|
||||||
|
|
||||||
bb7444: ; preds = %cond_next298
|
bb7444: ; preds = %cond_next298
|
||||||
@ -728,7 +728,7 @@ bb7478: ; preds = %bb277
|
|||||||
ret i32 0
|
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**)
|
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 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 %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*)
|
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 %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 %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 %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_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*)
|
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 %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 %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 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* @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 void @error(i8*, ...)
|
||||||
|
|
||||||
declare %struct.tree_node* @build_empty_stmt()
|
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 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*)
|
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 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)
|
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 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 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*)
|
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 %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* @array_ref_element_size(%struct.tree_node*)
|
||||||
|
|
||||||
declare %struct.tree_node* @component_ref_field_offset(%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 void @varray_underflow(%struct.varray_head_tag*, i8*, i32, i8*)
|
||||||
|
|
||||||
declare i32 @list_length(%struct.tree_node*)
|
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*)
|
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 %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)
|
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 %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 %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*)
|
declare i32 @simple_cst_equal(%struct.tree_node*, %struct.tree_node*)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
%struct.Connection = type { i32, [10 x i8], i32 }
|
%struct.Connection = type { i32, [10 x i8], i32 }
|
||||||
%struct.IntChunk = type { %struct.cppobjtype, i32, i32*, 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.RefPoint = type { %struct.Point*, %struct.cppobjtype }
|
||||||
%struct.ShortArray = type { %struct.cppobjtype, i32, i16* }
|
%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 }
|
%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 }
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
declare void @abort()
|
declare void @abort()
|
||||||
|
|
||||||
define fastcc void @t(%struct.SString* %word, i8 sext %c) {
|
define fastcc void @t(%struct.SString* %word, i8 signext %c) {
|
||||||
entry:
|
entry:
|
||||||
%tmp1 = icmp eq %struct.SString* %word, null ; <i1> [#uses=1]
|
%tmp1 = icmp eq %struct.SString* %word, null ; <i1> [#uses=1]
|
||||||
br i1 %tmp1, label %cond_true, label %cond_false
|
br i1 %tmp1, label %cond_true, label %cond_false
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | \
|
; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | \
|
||||||
; RUN: grep sxtab | wc -l | grep 1
|
; RUN: grep sxtab | wc -l | grep 1
|
||||||
|
|
||||||
define i8 @test1(i32 %A) sext {
|
define i8 @test1(i32 %A) signext {
|
||||||
%B = lshr i32 %A, 8
|
%B = lshr i32 %A, 8
|
||||||
%C = shl i32 %A, 24
|
%C = shl i32 %A, 24
|
||||||
%D = or i32 %B, %C
|
%D = or i32 %B, %C
|
||||||
@ -11,7 +11,7 @@ define i8 @test1(i32 %A) sext {
|
|||||||
ret i8 %E
|
ret i8 %E
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @test2(i32 %A, i32 %X) sext {
|
define i32 @test2(i32 %A, i32 %X) signext {
|
||||||
%B = lshr i32 %A, 8
|
%B = lshr i32 %A, 8
|
||||||
%C = shl i32 %A, 24
|
%C = shl i32 %A, 24
|
||||||
%D = or i32 %B, %C
|
%D = or i32 %B, %C
|
||||||
|
@ -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 uxtab | wc -l | grep 1
|
||||||
; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | grep uxth | 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
|
%B.u = trunc i32 %A.u to i8
|
||||||
ret i8 %B.u
|
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
|
%C.u = trunc i32 %B.u to i8
|
||||||
%D.u = zext i8 %C.u to i32
|
%D.u = zext i8 %C.u to i32
|
||||||
%E.u = add i32 %A.u, %D.u
|
%E.u = add i32 %A.u, %D.u
|
||||||
ret i32 %E.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
|
%B.u = lshr i32 %A.u, 8
|
||||||
%C.u = shl i32 %A.u, 24
|
%C.u = shl i32 %A.u, 24
|
||||||
%D.u = or i32 %B.u, %C.u
|
%D.u = or i32 %B.u, %C.u
|
||||||
|
@ -18,19 +18,19 @@
|
|||||||
; RUN: grep {s8subq} %t.s | wc -l | grep 2
|
; 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:
|
entry:
|
||||||
%tmp.3.s = add i32 %y.s, %x.s ; <i32> [#uses=1]
|
%tmp.3.s = add i32 %y.s, %x.s ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
ret i32 %tmp.3.s
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @ali(i32 sext %x.s) sext {
|
define i32 @ali(i32 signext %x.s) signext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.3.s = add i32 100, %x.s ; <i32> [#uses=1]
|
%tmp.3.s = add i32 100, %x.s ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
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:
|
entry:
|
||||||
%tmp.3.s = add i64 %y.s, %x.s ; <i64> [#uses=1]
|
%tmp.3.s = add i64 %y.s, %x.s ; <i64> [#uses=1]
|
||||||
ret i64 %tmp.3.s
|
ret i64 %tmp.3.s
|
||||||
@ -42,13 +42,13 @@ entry:
|
|||||||
ret i64 %tmp.3.s
|
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:
|
entry:
|
||||||
%tmp.3.s = sub i32 %y.s, %x.s ; <i32> [#uses=1]
|
%tmp.3.s = sub i32 %y.s, %x.s ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
ret i32 %tmp.3.s
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @sli(i32 sext %x.s) sext {
|
define i32 @sli(i32 signext %x.s) signext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.3.s = sub i32 %x.s, 100 ; <i32> [#uses=1]
|
%tmp.3.s = sub i32 %x.s, 100 ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
ret i32 %tmp.3.s
|
||||||
@ -66,14 +66,14 @@ entry:
|
|||||||
ret i64 %tmp.3.s
|
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:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = add i32 %tmp.1.s, %x.s ; <i32> [#uses=1]
|
%tmp.3.s = add i32 %tmp.1.s, %x.s ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
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:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = add i32 %tmp.1.s, %x.s ; <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
|
ret i64 %tmp.3.s
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @a4li(i32 sext %y.s) sext {
|
define i32 @a4li(i32 signext %y.s) signext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = add i32 100, %tmp.1.s ; <i32> [#uses=1]
|
%tmp.3.s = add i32 100, %tmp.1.s ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
ret i32 %tmp.3.s
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @a8li(i32 sext %y.s) sext {
|
define i32 @a8li(i32 signext %y.s) signext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = add i32 100, %tmp.1.s ; <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
|
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:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = sub i32 %tmp.1.s, %x.s ; <i32> [#uses=1]
|
%tmp.3.s = sub i32 %tmp.1.s, %x.s ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
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:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = sub i32 %tmp.1.s, %x.s ; <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
|
ret i64 %tmp.3.s
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @s4li(i32 sext %y.s) sext {
|
define i32 @s4li(i32 signext %y.s) signext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 2 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = sub i32 %tmp.1.s, 100 ; <i32> [#uses=1]
|
%tmp.3.s = sub i32 %tmp.1.s, 100 ; <i32> [#uses=1]
|
||||||
ret i32 %tmp.3.s
|
ret i32 %tmp.3.s
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @s8li(i32 sext %y.s) sext {
|
define i32 @s8li(i32 signext %y.s) signext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
%tmp.1.s = shl i32 %y.s, 3 ; <i32> [#uses=1]
|
||||||
%tmp.3.s = sub i32 %tmp.1.s, 100 ; <i32> [#uses=1]
|
%tmp.3.s = sub i32 %tmp.1.s, 100 ; <i32> [#uses=1]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=alpha | grep -i {subl \$16,1,\$0}
|
; 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:
|
entry:
|
||||||
%tmp.1 = add i32 %x, -1 ; <int> [#uses=1]
|
%tmp.1 = add i32 %x, -1 ; <int> [#uses=1]
|
||||||
ret i32 %tmp.1
|
ret i32 %tmp.1
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=alpha | grep zapnot
|
; RUN: llvm-as < %s | llc -march=alpha | grep zapnot
|
||||||
|
|
||||||
|
|
||||||
define i16 @foo(i64 %y) zext {
|
define i16 @foo(i64 %y) zeroext {
|
||||||
entry:
|
entry:
|
||||||
%tmp.1 = trunc i64 %y to i16 ; <ushort> [#uses=1]
|
%tmp.1 = trunc i64 %y to i16 ; <ushort> [#uses=1]
|
||||||
ret i16 %tmp.1
|
ret i16 %tmp.1
|
||||||
|
@ -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}
|
; RUN: llvm-as < %s | llc -march=ppc32 | grep {rlwinm r3, r3, 23, 30, 30}
|
||||||
; PR1473
|
; PR1473
|
||||||
|
|
||||||
define i8 @foo(i16 zext %a) zext {
|
define i8 @foo(i16 zeroext %a) zeroext {
|
||||||
%tmp2 = lshr i16 %a, 10 ; <i16> [#uses=1]
|
%tmp2 = lshr i16 %a, 10 ; <i16> [#uses=1]
|
||||||
%tmp23 = trunc i16 %tmp2 to i8 ; <i8> [#uses=1]
|
%tmp23 = trunc i16 %tmp2 to i8 ; <i8> [#uses=1]
|
||||||
%tmp4 = shl i8 %tmp23, 1 ; <i8> [#uses=1]
|
%tmp4 = shl i8 %tmp23, 1 ; <i8> [#uses=1]
|
||||||
|
@ -9,7 +9,7 @@ define void @test(i8* %P) {
|
|||||||
ret void
|
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.
|
; No and's should be needed for the i16s here.
|
||||||
%tmp.1 = lshr i16 %crc, 1
|
%tmp.1 = lshr i16 %crc, 1
|
||||||
%tmp.7 = xor i16 %tmp.1, 40961
|
%tmp.7 = xor i16 %tmp.1, 40961
|
||||||
|
@ -9,7 +9,7 @@ define i32 @test1(i32 %mode.0.i.0) {
|
|||||||
ret i32 %tmp.81
|
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
|
%tmp = sext i16 %X to i32
|
||||||
%tmp1 = sext i16 %x to i32
|
%tmp1 = sext i16 %x to i32
|
||||||
%tmp2 = add i32 %tmp, %tmp1
|
%tmp2 = add i32 %tmp, %tmp1
|
||||||
@ -20,7 +20,7 @@ define i16 @test2(i16 sext %X, i16 sext %x) sext {
|
|||||||
ret i16 %retval
|
ret i16 %retval
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @test3(i32 zext %X) sext {
|
define i16 @test3(i32 zeroext %X) signext {
|
||||||
%tmp1 = lshr i32 %X, 16
|
%tmp1 = lshr i32 %X, 16
|
||||||
%tmp2 = trunc i32 %tmp1 to i16
|
%tmp2 = trunc i32 %tmp1 to i16
|
||||||
ret i16 %tmp2
|
ret i16 %tmp2
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=ppc32 | not grep {extsh\\|rlwinm}
|
; 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
|
%Y = sext i16 %X to i32 ;; dead
|
||||||
ret i32 %Y
|
ret i32 %Y
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @test2(i16 zext %X) {
|
define i32 @test2(i16 zeroext %X) {
|
||||||
%Y = sext i16 %X to i32
|
%Y = sext i16 %X to i32
|
||||||
%Z = and i32 %Y, 65535 ;; dead
|
%Z = and i32 %Y, 65535 ;; dead
|
||||||
ret i32 %Z
|
ret i32 %Z
|
||||||
}
|
}
|
||||||
|
|
||||||
define void @test3() {
|
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
|
%tmp.1 = icmp slt i16 %tmp.0, 1234
|
||||||
br i1 %tmp.1, label %then, label %UnifiedReturnBlock
|
br i1 %tmp.1, label %then, label %UnifiedReturnBlock
|
||||||
|
|
||||||
then:
|
then:
|
||||||
call i32 @test1(i16 0 sext)
|
call i32 @test1(i16 0 signext)
|
||||||
ret void
|
ret void
|
||||||
UnifiedReturnBlock:
|
UnifiedReturnBlock:
|
||||||
ret void
|
ret void
|
||||||
@ -46,7 +46,7 @@ define i32 @test6(i32* %P) {
|
|||||||
ret i32 %tmp.2
|
ret i32 %tmp.2
|
||||||
}
|
}
|
||||||
|
|
||||||
define i16 @test7(float %a) zext {
|
define i16 @test7(float %a) zeroext {
|
||||||
%tmp.1 = fptoui float %a to i16
|
%tmp.1 = fptoui float %a to i16
|
||||||
ret i16 %tmp.1
|
ret i16 %tmp.1
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
%struct.XDesc = type <{ i32, %struct.OpaqueXDataStorageType** }>
|
%struct.XDesc = type <{ i32, %struct.OpaqueXDataStorageType** }>
|
||||||
%struct.OpaqueXDataStorageType = type opaque
|
%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*, ...)
|
declare void @r_raise(i64, i8*, ...)
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ cond_true109: ; preds = %entry
|
|||||||
br i1 false, label %cond_next164, label %cond_true239
|
br i1 false, label %cond_next164, label %cond_true239
|
||||||
|
|
||||||
cond_next164: ; preds = %cond_true109
|
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 )
|
call void (i64, i8*, ...)* @r_raise( i64 0, i8* null )
|
||||||
unreachable
|
unreachable
|
||||||
|
|
||||||
|
@ -431,9 +431,9 @@ declare i32 @report__ident_int(i32 %x)
|
|||||||
|
|
||||||
declare i8 @report__equal(i32 %x, i32 %y)
|
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)
|
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 @__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)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=x86 | grep {\\(and\\)\\|\\(test.*\\\$1\\)} | \
|
; RUN: llvm-as < %s | llc -march=x86 | grep {\\(and\\)\\|\\(test.*\\\$1\\)} | \
|
||||||
; RUN: wc -l | grep 6
|
; RUN: wc -l | grep 6
|
||||||
|
|
||||||
define i1 @test1(i32 %X) zext {
|
define i1 @test1(i32 %X) zeroext {
|
||||||
%Y = trunc i32 %X to i1
|
%Y = trunc i32 %X to i1
|
||||||
ret i1 %Y
|
ret i1 %Y
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ target datalayout = "e-p:64:64"
|
|||||||
target triple = "x86_64-apple-darwin8"
|
target triple = "x86_64-apple-darwin8"
|
||||||
|
|
||||||
|
|
||||||
define i32 @test(i16 sext %X) {
|
define i32 @test(i16 signext %X) {
|
||||||
entry:
|
entry:
|
||||||
%tmp12 = sext i16 %X to i32 ; <i32> [#uses=1]
|
%tmp12 = sext i16 %X to i32 ; <i32> [#uses=1]
|
||||||
ret i32 %tmp12
|
ret i32 %tmp12
|
||||||
|
@ -4,9 +4,9 @@ target datalayout = "e-p:64:64"
|
|||||||
target triple = "x86_64-apple-darwin8"
|
target triple = "x86_64-apple-darwin8"
|
||||||
|
|
||||||
|
|
||||||
define void @bar(i16 zext %A) {
|
define void @bar(i16 zeroext %A) {
|
||||||
tail call void @foo( i16 %A sext )
|
tail call void @foo( i16 %A signext )
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
declare void @foo(i16 sext )
|
declare void @foo(i16 signext )
|
||||||
|
|
||||||
|
@ -2,21 +2,21 @@
|
|||||||
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
|
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
|
||||||
; RUN: diff %t1.ll %t2.ll
|
; RUN: diff %t1.ll %t2.ll
|
||||||
|
|
||||||
%ZFunTy = type i32(i8 zext)
|
%ZFunTy = type i32(i8 zeroext)
|
||||||
%SFunTy = type i32(i8 sext)
|
%SFunTy = type i32(i8 signext)
|
||||||
|
|
||||||
declare i16 @"test"(i16 sext %arg) sext
|
declare i16 @"test"(i16 signext %arg) signext
|
||||||
declare i8 @"test2" (i16 zext %a2) zext
|
declare i8 @"test2" (i16 zeroext %a2) zeroext
|
||||||
|
|
||||||
declare i32 @"test3"(i32* noalias %p)
|
declare i32 @"test3"(i32* noalias %p)
|
||||||
|
|
||||||
declare void @exit(i32) noreturn nounwind
|
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
|
%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
|
%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
|
%retVal = sext i16 %two to i32
|
||||||
ret i32 %retVal
|
ret i32 %retVal
|
||||||
}
|
}
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
|
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
|
||||||
; RUN: diff %t1.ll %t2.ll
|
; RUN: diff %t1.ll %t2.ll
|
||||||
|
|
||||||
%ZFunTy = type i33(i8 zext)
|
%ZFunTy = type i33(i8 zeroext)
|
||||||
%SFunTy = type i33(i8 sext)
|
%SFunTy = type i33(i8 signext)
|
||||||
|
|
||||||
declare i16 @"test"(i16 sext %arg) sext
|
declare i16 @"test"(i16 signext %arg) signext
|
||||||
declare i8 @"test2" (i16 zext %a2) zext
|
declare i8 @"test2" (i16 zeroext %a2) zeroext
|
||||||
|
|
||||||
|
|
||||||
define i33 @main(i33 %argc, i8 **%argv) {
|
define i33 @main(i33 %argc, i8 **%argv) {
|
||||||
%val = trunc i33 %argc to i16
|
%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
|
%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
|
%retVal = sext i16 %two to i33
|
||||||
ret i33 %retVal
|
ret i33 %retVal
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ cond_true: ; preds = %entry
|
|||||||
ret i32 0
|
ret i32 0
|
||||||
|
|
||||||
cond_next: ; preds = %entry
|
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]
|
to label %invcont unwind label %cleanup690 ; <i16> [#uses=0]
|
||||||
|
|
||||||
invcont: ; preds = %cond_next
|
invcont: ; preds = %cond_next
|
||||||
@ -63,7 +63,7 @@ cleanup690: ; preds = %cond_next
|
|||||||
ret i32 0
|
ret i32 0
|
||||||
}
|
}
|
||||||
|
|
||||||
declare i16 @_ZN12token_stream4openEPKc(i8*, i8*) sext
|
declare i16 @_ZN12token_stream4openEPKc(i8*, i8*) signext
|
||||||
|
|
||||||
declare i32 @printf(i8*, ...)
|
declare i32 @printf(i8*, ...)
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ target triple = "thumb-apple-darwin8"
|
|||||||
@"L_OBJC_IMAGE_INFO" = internal global [2 x i32] zeroinitializer ; <[2 x i32]*> [#uses=1]
|
@"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]
|
@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:
|
entry:
|
||||||
%iftmp.0.0.in.in = select i1 false, i16* @replacementUnichar, i16* null ; <i16*> [#uses=1]
|
%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]
|
%iftmp.0.0.in = load i16* %iftmp.0.0.in.in ; <i16> [#uses=1]
|
||||||
|
@ -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 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"
|
target triple = "i686-pc-linux-gnu"
|
||||||
|
|
||||||
define i32 @testcase(i5 zext %k) {
|
define i32 @testcase(i5 zeroext %k) {
|
||||||
entry:
|
entry:
|
||||||
br label %bb2
|
br label %bb2
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user