- Nov 30, 2012
-
-
Meador Inge authored
The simplify-libcalls pass maintained a statistic to count the number of library calls that have been simplified. Now that library call simplification is being carried out in instcombine the statistic should be moved to there. llvm-svn: 168975
-
Chandler Carruth authored
depends on the IR infrastructure, there is no sense in it being off in Support land. This is in preparation to start working to expand InstVisitor into more special-purpose visitors that are still generic and can be re-used across different passes. The expansion will go into the Analylis tree though as nothing in VMCore needs it. llvm-svn: 168972
-
Evan Cheng authored
the tables cannot fit in registers (i.e. bitmap), do not emit the table if it's using an illegal type. rdar://12779436 llvm-svn: 168970
-
Quentin Colombet authored
llvm-svn: 168968
-
Jordan Rose authored
If 'x' is a temporary, x.getAs<Foo>() may not be safe if the result is supposed to persist (if its address is stored somewhere). Since getAs() can return a null value, the result is almost always stored into a variable, which of course is not safe when the original value dies. This has caused several bugs with GCC's "Temporaries May Vanish Sooner Than You Expect" optimization; in C++11 builds, at least, we'll be able to catch these problems now. I would suggest applying these to other getAs() and get*As() methods (castAs is "better" because sometimes the result is used directly, which means the temporary will still be live), but these two have both caused trouble in the analyzer in the past. llvm-svn: 168967
-
Tobias Grosser authored
generation. We don't use the exact same way to build loop body for GPGPU codegen as openmp codegen and other transformations do currently, in which cases 'createLoop' function is called recursively. GPGPU codegen may fail due to improper restore of ValueMap and ClastVars . Contributed by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 168966
-
Preston Briggs authored
more information for dependences between instructions that don't share a common loop. Updated the test results appropriately. llvm-svn: 168965
-
Tobias Grosser authored
Contributed-by:
Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 168964
-
Jordan Rose authored
This expands to '&', and is intended to be used when an /optional/ rvalue override is available. Before: void foo() const { ... } After: void foo() const LLVM_LVALUE_FUNCTION { ... } void foo() && { ... } This is used to allow moving the contents of an Optional. llvm-svn: 168963
-
Douglas Gregor authored
llvm-svn: 168962
-
Douglas Gregor authored
import of that module elsewhere, don't try to build the module again: it won't work, and the experience is quite dreadful. We track this information somewhat globally, shared among all of the related CompilerInvocations used to build modules on-the-fly, so that a particular Clang instance will only try to build a given module once. Fixes <rdar://problem/12552849>. llvm-svn: 168961
-
Kevin Enderby authored
which would then cause an assert when printed. rdar://11437956 llvm-svn: 168960
-
Eli Friedman authored
llvm-svn: 168959
-
Quentin Colombet authored
llvm-svn: 168958
-
Richard Smith authored
llvm-svn: 168957
-
Quentin Colombet authored
llvm-svn: 168956
-
Richard Smith authored
tests will still fail if compiler-rt was built with a compiler without __int128 support, but the host compiler has __int128 support. llvm-svn: 168955
-
- Nov 29, 2012
-
-
Quentin Colombet authored
llvm-svn: 168953
-
Eric Christopher authored
llvm-svn: 168952
-
Alexey Samsonov authored
llvm-svn: 168951
-
Alexey Samsonov authored
1) init-order sanitizer: initialization-order checker. Status: usable, but may produce false positives w/o proper blacklisting. 2) use-after-return sanitizer Status: implemented, but heavily understed. Should be optional, as it significanlty slows program down. 3) use-after-scope sanitizer Status: in progress. llvm-svn: 168950
-
rdar://problem/12687087Greg Clayton authored
Emit an error when using "target modules add PATH" where PATH points to a debug info only (dSYM) file. Also added a "--uuid" option for "target modules add --uuid UUID" to locate and load a module by UUID if the host supports it. llvm-svn: 168949
-
rdar://problem/12780259Han Ming Ong authored
Prevent async and sync calls to get profile data from stomping on each other. At the same time, don't use '$' as end delimiter per chunk of profile data. llvm-svn: 168948
-
Dan Gohman authored
llvm-svn: 168946
-
Daniel Malea authored
- use macros from inttypes.h for format strings instead of OS-specific types Patch from Matt Kopec! llvm-svn: 168945
-
Michael Ilseman authored
llvm-svn: 168943
-
Eli Bendersky authored
same string llvm-svn: 168942
-
Dan Gohman authored
llvm-svn: 168941
-
Chad Rosier authored
llvm-svn: 168937
-
Chad Rosier authored
llvm-svn: 168936
-
Benjamin Kramer authored
Should bring the buildbots back to life. llvm-svn: 168935
-
Eli Bendersky authored
Note: the ":" goes into the regex because FileCheck wrongly complains about unbalanced brackets otherwise. llvm-svn: 168934
-
Quentin Colombet authored
llvm-svn: 168933
-
Justin Holewinski authored
llvm-svn: 168932
-
rdar://12100355Shuxin Yang authored
This revision attempts to recognize following population-count pattern: while(a) { c++; ... ; a &= a - 1; ... }, where <c> and <a>could be used multiple times in the loop body. TODO: On X8664 and ARM, __buildin_ctpop() are not expanded to a efficent instruction sequence, which need to be improved in the following commits. Reviewed by Nadav, really appreciate! llvm-svn: 168931
-
Bill Wendling authored
the last invoke instruction in the function. This also removes the last landing pad in an function. This is fine, but with SjLj EH code, we've already placed a bunch of code in the 'entry' block, which expects the landing pad to stick around. When we get to the situation where CGP has removed the last landing pad, go ahead and nuke the SjLj instructions from the 'entry' block. <rdar://problem/12721258> llvm-svn: 168930
-
Jyotsna Verma authored
llvm-svn: 168929
-
Nadav Rotem authored
llvm-svn: 168928
-
Nadav Rotem authored
llvm-svn: 168927
-
Dmitri Gribenko authored
This enables option cross-referencing and now '--' in option names are no more turned into en dashes. llvm-svn: 168926
-