Go to file
Lang Hames f49bc3f1b1 [X86] Optimize stackmap shadows on X86.
This patch minimizes the number of nops that must be emitted on X86 to satisfy
stackmap shadow constraints.

To minimize the number of nops inserted, the X86AsmPrinter now records the
size of the most recent stackmap's shadow in the StackMapShadowTracker class,
and tracks the number of instruction bytes emitted since the that stackmap
instruction was encountered. Padding is emitted (if it is required at all)
immediately before the next stackmap/patchpoint instruction, or at the end of
the basic block.

This optimization should reduce code-size and improve performance for people
using the llvm stackmap intrinsic on X86.

<rdar://problem/14959522>

llvm-svn: 213892
2014-07-24 20:40:55 +00:00
clang Preserve libclang ABI compatibility with the 3.5 release 2014-07-24 18:22:15 +00:00
clang-tools-extra Plug memory leaks. 2014-07-24 10:23:33 +00:00
compiler-rt Add FreeBSD support to Asan test cases that use mmap() with MAP_ANON 2014-07-24 12:05:13 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Implement sin builtin for float types 2014-07-23 15:16:21 +00:00
libcxx [libcxx] expose experimental::erased_type for all standard versions. 2014-07-24 19:17:38 +00:00
libcxxabi libcxxabi cmake: Use HandleLLVMOptions.cmake, don't manually add -std=c++11. 2014-07-16 23:53:37 +00:00
lld [Mips] Replace assembler code by YAML to make the 'exe-dynsym.test' test 2014-07-24 15:42:11 +00:00
lldb We were turning off all these tests on OSX and FreeBSD because of a known (and fairly unimportant) bug. 2014-07-24 16:56:19 +00:00
llvm [X86] Optimize stackmap shadows on X86. 2014-07-24 20:40:55 +00:00
openmp CMake: remove duplicated source file from list 2014-06-02 13:09:24 +00:00
polly [Refactor] Remove containsLoop to find innermost loops 2014-07-24 15:59:06 +00:00