llvm.org GIT mirror llvm / 9832ce0
Another case that shouldn't have sign extends: functions returning short are known to return properly sign extended values, no need for an explicit extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23197 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 15 years ago
1 changed file(s) with 14 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
99 %Z = and int %Y, 65535 ;; dead
1010 ret int %Z
1111 }
12
13 void %test3() {
14 %tmp.0 = call short %foo() ;; no extsh!
15 %tmp.1 = setlt short %tmp.0, 1234
16 br bool %tmp.1, label %then, label %UnifiedReturnBlock
17
18 then:
19 call int %test1(short 0)
20 ret void
21 UnifiedReturnBlock:
22 ret void
23 }
24
25 declare short %foo()