hanchenye-llvm-project/llvm
Nick Desaulniers 212c8ac23f [LoopRotate] fix crash encountered with callbr
Summary:
While implementing inlining support for callbr
(https://bugs.llvm.org/show_bug.cgi?id=40722), I hit a crash in Loop
Rotation when trying to build the entire x86 Linux kernel
(drivers/char/random.c). This is a small fix up to r353563.

Test case is drivers/char/random.c (with callbr's inlined), then ran
through creduce, then `opt -opt-bisect-limit=<limit>`, then bugpoint.

Thanks to Craig Topper for immediately spotting the fix, and teaching me
how to fish.

Reviewers: craig.topper, jyknight

Reviewed By: craig.topper

Subscribers: hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58929

llvm-svn: 355564
2019-03-06 23:04:40 +00:00
..
benchmarks
bindings
cmake [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
docs Revert "[IR][ARM] Add function pointer alignment to datalayout" 2019-03-06 19:17:18 +00:00
examples [Kaleidoscope] Fix symbol resolver to search in reverse order. 2019-02-21 16:53:04 +00:00
include Revert "[IR][ARM] Add function pointer alignment to datalayout" 2019-03-06 19:17:18 +00:00
lib [LoopRotate] fix crash encountered with callbr 2019-03-06 23:04:40 +00:00
projects
resources
runtimes [build] Rename clang-headers to clang-resource-headers 2019-03-04 21:19:53 +00:00
test [LoopRotate] fix crash encountered with callbr 2019-03-06 23:04:40 +00:00
tools Reland "[Remarks] Refactor remark diagnostic emission in a RemarkStreamer" 2019-03-06 15:20:13 +00:00
unittests Revert "[IR][ARM] Add function pointer alignment to datalayout" 2019-03-06 19:17:18 +00:00
utils gn build: Merge r355514. 2019-03-06 21:21:45 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
CODE_OWNERS.TXT
CREDITS.TXT [NFC] Add to contributor list. 2019-02-26 05:46:45 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.