hanchenye-llvm-project/llvm
Dehao Chen 4a9dd70213 Fix the samplepgo indirect call promotion bug: we should not promote a direct call.
Summary: Checking CS.getCalledFunction() == nullptr does not necessary indicate indirect call. We also need to check if CS.getCalledValue() is not a constant.

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: llvm-commits

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

llvm-svn: 294260
2017-02-06 23:33:15 +00:00
..
bindings
cmake Fix LLDB Android AArch64 GCC debug info build 2017-02-02 01:17:49 +00:00
docs [LangRef] Document some LLVM inline asm special escapes 2017-02-06 18:08:45 +00:00
examples Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
include Fix the samplepgo indirect call promotion bug: we should not promote a direct call. 2017-02-06 23:33:15 +00:00
lib Fix the samplepgo indirect call promotion bug: we should not promote a direct call. 2017-02-06 23:33:15 +00:00
projects
resources
runtimes [CMake] Handle common options for runtimes build 2017-01-10 19:47:05 +00:00
test Fix the samplepgo indirect call promotion bug: we should not promote a direct call. 2017-02-06 23:33:15 +00:00
tools Fix a bug in llvm-obdump(1) with the -macho and -info-plist options 2017-02-06 21:01:08 +00:00
unittests [SCEV] Scale back the test added in r294181 as it goes quadratic in 2017-02-06 21:27:12 +00:00
utils [TableGen] Use less stack in DAGISelMatcherOpt 2017-02-06 19:41:44 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt This addresses LLDB bug 31699, which was caused by LLVM using static linking on Windows. 2017-01-28 07:39:52 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Revert r294228 2017-02-06 19:40:56 +00:00
LICENSE.TXT Bump year to 2017 in LICENSE.txt 2017-01-12 18:02:42 +00:00
LLVMBuild.txt
README.txt Test commit: remove a blank line. 2017-02-03 10:56:57 +00:00
RELEASE_TESTERS.TXT Update the release tester for MIPS. NFC. 2017-01-17 11:00:28 +00:00
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

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.