[llvm-commits] [llvm] r75571 - in /llvm/trunk: lib/Transforms/Scalar/SimplifyCFGPass.cpp test/Transforms/SimplifyCFG/2009-07-13-no-delete-asm.ll

Eli Friedman eli.friedman at gmail.com
Mon Jul 13 17:53:03 PDT 2009


On Mon, Jul 13, 2009 at 5:45 PM, Dale Johannesen<dalej at apple.com> wrote:
> --- llvm/trunk/test/Transforms/SimplifyCFG/2009-07-13-no-delete-asm.ll (added)
> +++ llvm/trunk/test/Transforms/SimplifyCFG/2009-07-13-no-delete-asm.ll Mon Jul 13 19:45:38 2009
> @@ -0,0 +1,11 @@
> +; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | grep xor
> +; ModuleID = '<stdin>'
> +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-f80:128:128"
> +target triple = "i386-apple-darwin9.6"
> +
> +define void @bar() nounwind {
> +entry:
> +       store i16 undef, i16* null
> +       %asmtmp = call i32 asm sideeffect "xor $0, $0", "=={bx},rm,~{dirflag},~{fpsr},~{flags},~{memory}"(i16 undef) nounwind           ; <i32> [#uses=0]
> +       ret void
> +}

Umm, this testcase quite clearly has undefined behavior; what is this
patch trying to fix?

-Eli




More information about the llvm-commits mailing list