- Nov 30, 2012
-
-
Chandler Carruth authored
Rationale: 1) This was the name in the comment block. ;] 2) It matches Clang's __has_feature naming convention. 3) It matches other compiler-feature-test conventions. Sorry for the noise. =] I've also switch the comment block to use a \brief tag and not duplicate the name. llvm-svn: 168996
-
Kostya Serebryany authored
llvm-svn: 168995
-
Patrik Hagglund authored
For example, don't allow empty strings to be passed to getInt. Move asserts inside parseSpecifier. (One day we may want to pass parse error messages to the user - from LLParser - instead of using asserts, but keep the code simple until then. There have been an attempt to do this. See r142288, which got reverted, and r142605.) llvm-svn: 168991
-
Chandler Carruth authored
We're iterating over a non-deterministically ordered container looking for two saturating flags. To do this correctly, we have to saturate both, and only stop looping if both saturate to their final value. Otherwise, which flag we see first changes the result. This is also a micro-optimization of the previous version as now we don't go into the (possibly expensive) test logic once the first violation of either constraint is detected. llvm-svn: 168989
-
Chandler Carruth authored
functionality changed. Evan's commit r168970 moved the code that the primary comment in this function referred to to the other end of the function without moving the comment, and there has been a steady creep of "boolean" logic in it that is simpler if handled via early exit. That way each special case can have its own comments. I've also made the variable name a bit more explanatory than "AllFit". This is in preparation to fix the non-deterministic output of this function. llvm-svn: 168988
-
Eric Christopher authored
llvm-svn: 168986
-
Jyotsna Verma authored
llvm-svn: 168983
-
Jyotsna Verma authored
addressing mode. llvm-svn: 168976
-
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
-
Preston Briggs authored
more information for dependences between instructions that don't share a common loop. Updated the test results appropriately. llvm-svn: 168965
-
Kevin Enderby authored
which would then cause an assert when printed. rdar://11437956 llvm-svn: 168960
-
- Nov 29, 2012
-
-
Eric Christopher authored
llvm-svn: 168952
-
Michael Ilseman authored
llvm-svn: 168943
-
Benjamin Kramer authored
Should bring the buildbots back to life. llvm-svn: 168935
-
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
-
Meador Inge authored
This patch migrates the puts optimizations from the simplify-libcalls pass into the instcombine library call simplifier. All the simplifiers from simplify-libcalls have now been migrated to instcombine. Yay! Just a few other bits to migrate (prototype attribute inference and a few statistics) and simplify-libcalls can finally be put to rest. llvm-svn: 168925
-
Jim Grosbach authored
MachOObjectFile owns a MachOObj, but never frees it. Both MachOObjectFile and MachOObj want to own the MemoryBuffer, though, so we have to be careful and give them each one of their own. Thanks to Greg Clayton, Eric Christopher and Michael Spencer for helping figure out what's going wrong here. rdar://12561773 llvm-svn: 168923
-
Benjamin Kramer authored
Follow up to 168711: It's safe to base this analysis on the found compare, just return the value for the right predicate. Thanks to Andy for catching this. llvm-svn: 168921
-
Andrew Trick authored
llvm-svn: 168914
-
Alexey Samsonov authored
[ASan] Simplify check added in r168861. Bail out from module pass early if the module is blacklisted. llvm-svn: 168913
-
Matt Beaumont-Gay authored
llvm-svn: 168911
-
Alexey Samsonov authored
llvm-svn: 168910
-
Pedro Artigas authored
start up and clean up module passes, now that ASAN and TSAN are fixed the tests pass llvm-svn: 168905
-
Meador Inge authored
This patch migrates the fputs optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168893
-
Meador Inge authored
This patch migrates the fwrite optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168892
-
Meador Inge authored
This patch migrates the fprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168891
-
Evgeniy Stepanov authored
Handle insertelement, extractelement, shufflevector. llvm-svn: 168889
-
Evgeniy Stepanov authored
The old version failed on a 3-arg instruction with (-1, 0, 0) shadows (it would pick the 3rd operand origin irrespective of its shadow). The new version always picks the origin of the rightmost poisoned operand. llvm-svn: 168887
-
Silviu Baranga authored
llvm-svn: 168886
-
Benjamin Kramer authored
This was found by MSVC10's STL debug mode on a test from the test suite. Sadly std::is_heap isn't standard so there is no way to assert this without writing our own heap verify, which looks like overkill to me. llvm-svn: 168885
-
Evgeniy Stepanov authored
llvm-svn: 168884
-
Justin Holewinski authored
If we need to split the operand of a VSELECT, it must be the mask operand. We split the entire VSELECT operand with EXTRACT_SUBVECTOR. llvm-svn: 168883
-