[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / WebAssembly / fast-isel-pr47040.ll
blob6a1304cb9a93a868688226cf55034f5569722c85
1 ; RUN: llc < %s -fast-isel -fast-isel-abort=1 -verify-machineinstrs
3 ; Regression test for PR47040, in which an assertion was improperly
4 ; triggered during FastISel's address computation. The issue was that
5 ; an `Address` set to be relative to FrameIndex zero was incorrectly
6 ; considered to have an unset base. When the left hand side of an add
7 ; set the Address to have a FrameIndex base of 0, the right side would
8 ; not detect that the Address base had already been set and could try
9 ; to set the Address to be relative to a register instead, triggering
10 ; an assertion.
12 target triple = "wasm32-unknown-unknown"
14 define i32 @foo() {
15   %stack_addr = alloca i32
16   %stack_i = ptrtoint ptr %stack_addr to i32
17   %added = add i32 %stack_i, undef
18   %added_addr = inttoptr i32 %added to ptr
19   %ret = load i32, ptr %added_addr
20   ret i32 %ret