Files
clang-p2996/llvm/test/CodeGen/X86/fast-isel-constant.ll
David Blaikie 615f63e149 Revert "[FastISel] Flush local value map on ever instruction" and dependent patches
This reverts commit cf1c774d6a.

This change caused several regressions in the gdb test suite - at least
a sample of which was due to line zero instructions making breakpoints
un-lined. I think they're worth investigating/understanding more (&
possibly addressing) before moving forward with this change.

Revert "[FastISel] NFC: Clean up unnecessary bookkeeping"
This reverts commit 3fd39d3694.

Revert "[FastISel] NFC: Remove obsolete -fast-isel-sink-local-values option"
This reverts commit a474657e30.

Revert "Remove static function unused after cf1c774."
This reverts commit dc35368ccf.

Revert "[lldb] Fix TestThreadStepOut.py after "Flush local value map on every instruction""
This reverts commit 53a14a47ee.
2020-12-01 14:26:23 -08:00

25 lines
648 B
LLVM

; RUN: llc < %s -mtriple=x86_64-- -O0 | FileCheck %s
; Make sure fast-isel doesn't reset the materialised constant map
; across an intrinsic call.
; CHECK: movl $100000
; CHECK-NOT: movl $100000
define i1 @test1(i32 %v1, i32 %v2, i32* %X) nounwind {
entry:
%a = shl i32 100000, %v1
%t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %a, i32 %v2)
%ext = extractvalue {i32, i1} %t, 0
%sum = shl i32 100000, %ext
%obit = extractvalue {i32, i1} %t, 1
br i1 %obit, label %overflow, label %normal
normal:
store i32 %sum, i32* %X
br label %overflow
overflow:
ret i1 false
}
declare {i32, i1} @llvm.sadd.with.overflow.i32(i32, i32)