Go to file
Tim Northover 854c927de5 DeadArgElim: assess uses of entire return value aggregate.
Previously, a non-extractvalue use of an aggregate return value meant
the entire return was considered live (the algorithm gave up
entirely). This was correct, but conservative. It's better to actually
look at that Use, making the analysis results apply to all sub-values
under consideration.

E.g.

  %val = call { i32, i32 } @whatever()
  [...]
  ret { i32, i32 } %val

The return is using the entire aggregate (sub-values 0 and 1). We can
still simplify @whatever if we can prove that this return is itself
unused.

Also unifies the logic slightly between aggregate and non-aggregate
cases..

llvm-svn: 228558
2015-02-09 01:20:53 +00:00
clang Sema: Don't give attribute alias vars with struct type an init expr 2015-02-08 10:55:14 +00:00
clang-tools-extra [clang-tidy] Checker for inefficient use of algorithms on associative containers 2015-02-07 19:54:19 +00:00
compiler-rt [compiler-rt] Make MaybeReexec properly process DYLD_INSERT_LIBRARIES when using non-absolute paths 2015-02-06 12:07:29 +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 Implement log10 2015-01-30 18:00:34 +00:00
libcxx Add __cxxabi_config.h to libcxxabi headers. 2015-02-05 23:56:33 +00:00
libcxxabi Unwind: hoist placement delete into base class 2015-02-06 20:34:17 +00:00
lld [ELF] Implement --strip-all/-s 2015-02-08 19:42:15 +00:00
lldb Fix sorting. Spotted by emaste. 2015-02-08 21:34:29 +00:00
llgo irgen: don't emit debug metadata for locals 2015-01-29 00:34:30 +00:00
llvm DeadArgElim: assess uses of entire return value aggregate. 2015-02-09 01:20:53 +00:00
openmp Pin the libiomp5.dll for the lifetime of application, Windows-specific 2015-01-29 17:18:20 +00:00
polly [Refactor] Use the LoopInfo object already present 2015-02-08 20:50:42 +00:00