llvm-project/llvm/lib
Max Kazantsev 0aaf8c16ac [IRCE] Fix buggy behavior in Clamp
Clamp function was too optimistic when choosing signed or unsigned min/max function for calculations.
In fact, `!IsSignedPredicate` guarantees us that `Smallest` and `Greatest` can be compared safely using unsigned
predicates, but we did not check this for `S` which can in theory be negative.

This patch makes Clamp use signed min/max for cases when it fails to prove `S` being non-negative,
and it adds a test where such situation may lead to incorrect conditions calculation.

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

llvm-svn: 311205
2017-08-18 22:50:29 +00:00
..
Analysis [Analysis] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-16 22:07:40 +00:00
AsmParser Add strictfp attribute to prevent unwanted optimizations of libm calls 2017-08-14 21:15:13 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode Add more comment 2017-08-16 17:33:43 +00:00
CodeGen [Debug info] Transfer DI to fragment expressions for split integer values. 2017-08-18 18:07:00 +00:00
DebugInfo [llvm-dwarfdump] Hide .debug_str and DIE reference offsets in brief mode 2017-08-18 21:35:44 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine [ORC] Add case statements for AArch64 to the local stub and callback manager 2017-08-15 18:10:19 +00:00
Fuzzer [SanitizerCoverage] Add stack depth tracing instrumentation. 2017-08-18 18:43:30 +00:00
IR IR: Make stripDebugInfo robust against (invalid) empty basic blocks 2017-08-18 21:38:03 +00:00
IRReader
LTO Fix thinlto cache key computation for cfi-icall. 2017-08-09 23:24:07 +00:00
LineEditor
Linker Linker: Create a function declaration when moving a non-prevailing alias of function type. 2017-08-10 01:07:44 +00:00
MC [Triple] Add isThumb and isARM functions. 2017-08-12 17:40:18 +00:00
Object [COFF] Make the weak aliases optional 2017-08-16 05:22:49 +00:00
ObjectYAML [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
Option [Bash-autocompletion] Show HelpText with possible flags 2017-07-26 13:36:58 +00:00
Passes [PM] Switch the CGSCC debug messages to use the standard LLVM debug 2017-08-11 05:47:13 +00:00
ProfileData Fix the bug when SampleProfileWriter writes out number of callsites. 2017-08-03 00:09:18 +00:00
Support [Support] env vars with empty values on windows 2017-08-18 16:55:44 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target ARM: use an external relocation for calls from MachO ARM mode. 2017-08-18 19:13:56 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers [llvm-dlltool] Improve an error message when unable to open files. NFC. 2017-08-17 06:26:42 +00:00
Transforms [IRCE] Fix buggy behavior in Clamp 2017-08-18 22:50:29 +00:00
WindowsManifest Unlink nodes instead of copying, to avoid memory problems. 2017-07-26 18:33:21 +00:00
XRay Xray docs with description of Flight Data Recorder binary format. 2017-08-02 21:47:27 +00:00
CMakeLists.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
LLVMBuild.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00