Go to file
Vitaly Buka c559e63798 Handle IntToPtr in isBytewiseValue
Summary:
This helps with more efficient use of memset for pattern initialization

From @pcc prototype for -ftrivial-auto-var-init=pattern optimizations

Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options)
```
                   master           patch      diff
Os           8.238864e+05    8.238864e+05       0.0
O3           1.054797e+06    1.054797e+06       0.0
Os zero      8.292384e+05    8.292384e+05       0.0
O3 zero      1.062626e+06    1.062626e+06       0.0
Os pattern   8.579712e+05    8.338048e+05 -0.030299
O3 pattern   1.090502e+06    1.067574e+06 -0.020481
```

Zero vs Pattern on master
```
               zero       pattern      diff
Os     8.292384e+05  8.579712e+05  0.036578
O3     1.062626e+06  1.090502e+06  0.025124
```

Zero vs Pattern with the patch
```
               zero       pattern      diff
Os     8.292384e+05  8.338048e+05  0.003333
O3     1.062626e+06  1.067574e+06  0.003193
```

Reviewers: pcc, eugenis

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

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

llvm-svn: 365858
2019-07-12 01:42:03 +00:00
clang Handle IntToPtr in isBytewiseValue 2019-07-12 01:42:03 +00:00
clang-tools-extra [clangd] Add a missing early return in getTypeHierarchy() 2019-07-12 00:24:45 +00:00
compiler-rt Use clang driver for libfuzzer tests on Windows 2019-07-11 23:20:04 +00:00
debuginfo-tests Make nrvo-string test more robust. 2019-06-27 20:38:37 +00:00
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx Mark destroying delete test as UNSUPPORTED with clang 7 2019-07-12 01:16:08 +00:00
libcxxabi [demangle] Support for C++2a char8_t 2019-06-28 19:54:19 +00:00
libunwind [libunwind] Fix Unwind-EHABI.cpp:getByte on big-endian targets 2019-07-09 15:29:06 +00:00
lld [mips] Simplify test case. NFC 2019-07-11 21:55:56 +00:00
lldb [Expression] Move IRDynamicChecks to ClangExpressionParser 2019-07-12 00:58:02 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm Handle IntToPtr in isBytewiseValue 2019-07-12 01:42:03 +00:00
openmp [libomptarget-nvptx] Remove dead functions 2019-07-11 20:12:51 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly OpaquePtr: Update polly's calls to Loads.h API 2019-07-09 12:13:31 +00:00
pstl [NFC][pstl] Remove unused utility code 2019-07-08 16:35:49 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

README.md

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.