Go to file
Ahmed Bougacha 2fb8030748 [GlobalISel] Avoid translating synthetic constants to new G_CONSTANTS.
Currently, we create a G_CONSTANT for every "synthetic" integer
constant operand (for instance, for the G_GEP offset).
Instead, share the G_CONSTANTs we might have created by going through
the ValueToVReg machinery.

When we're emitting synthetic constants, we do need to get Constants from
the context.  One could argue that we shouldn't modify the context at
all (for instance, this means that we're going to use a tad more memory
if the constant wasn't used elsewhere), but constants are mostly
harmless.  We currently do this for extractvalue and all.

For constant fcmp, this does mean we'll emit an extra COPY, which is not
necessarily more optimal than an extra materialized constant.
But that preserves the current intended design of uniqued G_CONSTANTs,
and the rematerialization problem exists elsewhere and should be
resolved with a single coherent solution.

llvm-svn: 297875
2017-03-15 19:21:11 +00:00
clang [Driver] Define macro __APPLE_EMBEDDED_SIMULATOR__ when option 2017-03-15 18:04:13 +00:00
clang-tools-extra [test] Fix test dependencies when using installed tools 2017-03-15 05:55:43 +00:00
compiler-rt [msan] Relax lit check in wcsncpy.cc 2017-03-15 12:14:32 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Implement LWG#2761: 'basic_string should require that charT match traits::char_type'. Tests for string_view, too 2017-03-15 18:41:11 +00:00
libcxxabi Fully Reformat fallback_malloc.cpp 2017-03-04 03:23:15 +00:00
libunwind DarwinParser: include limits 2017-03-14 15:17:55 +00:00
lld [ELF] - Linkerscript: make Dot public and remove getDot(). NFC. 2017-03-15 16:07:02 +00:00
lldb Remove some ProcFileReader occurences 2017-03-15 15:08:49 +00:00
llgo [llgo] Remove support for LLVM attributes 2016-12-06 19:22:04 +00:00
llvm [GlobalISel] Avoid translating synthetic constants to new G_CONSTANTS. 2017-03-15 19:21:11 +00:00
openmp Create a git ignore file for openmp runtime. 2017-03-11 13:05:08 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Preserve the isl-noexceptions.h C++ bindings when updating isl 2017-03-14 07:46:28 +00:00