llvm-project/llvm/lib
Nikita Popov e79477895e [X86] Fix AvoidStoreForwardingBlocks pass for negative displacements
Fixes https://bugs.llvm.org/show_bug.cgi?id=39926.

The size of the first copy was computed as
std::abs(std::abs(LdDisp2) - std::abs(LdDisp1)), which results in
skipped bytes if the signs of LdDisp2 and LdDisp1 differ. As far as
I can see, this should just be LdDisp2 - LdDisp1. The case where
LdDisp1 > LdDisp2 is already handled in the code above, in which case
LdDisp2 is set to LdDisp1 and this subtraction will evaluate to
Size1 = 0, which is the correct value to skip an overlapping copy.

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

llvm-svn: 348750
2018-12-10 10:16:50 +00:00
..
Analysis [MemCpyOpt] memset->memcpy forwarding with undef tail 2018-12-07 21:16:58 +00:00
AsmParser [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
BinaryFormat Use RequireNullTerminator=false in identify_magic. 2018-12-01 00:22:39 +00:00
Bitcode [ModuleSummary] use StringRefs to avoid a redundant copy; NFC 2018-12-07 21:47:32 +00:00
CodeGen [DAGCombiner] re-enable truncation of binops 2018-12-08 16:07:38 +00:00
DebugInfo [NativePDB] Reconstruct function declarations from debug info. 2018-12-07 19:34:02 +00:00
Demangle [Demangle] remove itaniumFindTypesInMangledName 2018-11-27 16:11:24 +00:00
ExecutionEngine [ExecutionEngine] Change NotifyObjectEmitted/NotifyObjectFreed API. 2018-12-04 00:55:15 +00:00
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
Fuzzer
IR [X86] Merge addcarryx/addcarry intrinsic into a single addcarry intrinsic. 2018-12-10 06:07:50 +00:00
IRReader
LTO LTO: Don't internalize available_externally globals. 2018-12-05 00:09:36 +00:00
LineEditor
Linker ThinLTO: Do not import debug info for imported global constants 2018-12-05 21:42:17 +00:00
MC [MC] - Fix build bot. 2018-12-05 11:06:29 +00:00
Object [COFF] Map truncated .eh_frame section name 2018-12-08 18:15:41 +00:00
ObjectYAML [Hexagon] Add missing flags to ELF YAMLIO 2018-11-28 16:25:47 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Passes Introduce llvm.experimental.widenable_condition intrinsic 2018-12-07 14:39:46 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support Add Hurd target to LLVMSupport (1/2) 2018-11-29 03:23:01 +00:00
TableGen [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
Target [X86] Fix AvoidStoreForwardingBlocks pass for negative displacements 2018-12-10 10:16:50 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
TextAPI [TextAPI][elfabi] Fix build by adding std::move() to r348735 2018-12-10 03:05:58 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms [MemCpyOpt] memset->memcpy forwarding with undef tail 2018-12-07 21:16:58 +00:00
WindowsManifest
XRay [XRay] Improve FDR trace handling and error messaging 2018-11-09 06:26:48 +00:00
CMakeLists.txt [llvm-tapi] initial commit, supports ELF text stubs 2018-12-03 19:30:52 +00:00
LLVMBuild.txt [llvm-tapi] initial commit, supports ELF text stubs 2018-12-03 19:30:52 +00:00