summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Use the new LLVM_LVALUE_FUNCTION to ban two getAs() calls on rvalues.Jordan Rose2012-11-302-5/+14
| | | | | | | | | | | | | | | | | | 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
* Remove unneeded preservation and restore of ValueMap and ClastVars in GPGPU codeTobias Grosser2012-11-301-8/+1
| | | | | | | | | | | | | 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
* Modified dump() to provide a littlePreston Briggs2012-11-303-36/+34
| | | | | | | | | more information for dependences between instructions that don't share a common loop. Updated the test results appropriately. llvm-svn: 168965
* Add an additional input argument according to chanages of function ↵Tobias Grosser2012-11-301-1/+2
| | | | | | | polly::createLoop. Contributed-by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 168964
* Add a new C++11 compatibility macro, LLVM_LVALUE_FUNCTION.Jordan Rose2012-11-302-2/+17
| | | | | | | | | | | | | | | | 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
* Fix unit tests for ModuleLoader change in r168961.Douglas Gregor2012-11-304-16/+20
| | | | llvm-svn: 168962
* Keep track of modules that have failed to build. If we encounter anDouglas Gregor2012-11-297-33/+135
| | | | | | | | | | | | 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
* Fixed the arm disassembly of invalid BFI instructions to not build a bad MCInstKevin Enderby2012-11-292-1/+18
| | | | | | which would then cause an assert when printed. rdar://11437956 llvm-svn: 168960
* Fix a small calling-convention bug for x86-32. PR14453.Eli Friedman2012-11-292-2/+13
| | | | llvm-svn: 168959
* Add ARM cortex-a5 subtargetQuentin Colombet2012-11-292-3/+3
| | | | llvm-svn: 168958
* Remove out-of-date comment.Richard Smith2012-11-291-3/+0
| | | | llvm-svn: 168957
* Revert commit revision r168953, to change the commit message, which was emptyQuentin Colombet2012-11-292-3/+3
| | | | llvm-svn: 168956
* ubsan: Disable __int128 tests if the host Clang does not support it. TheseRichard Smith2012-11-296-11/+45
| | | | | | | 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
* (no commit message)Quentin Colombet2012-11-292-3/+3
| | | | llvm-svn: 168953
* More comment.Eric Christopher2012-11-291-0/+2
| | | | llvm-svn: 168952
* [ASan] use brand new -fsanitize= values for init-order/use-after-return ASan ↵Alexey Samsonov2012-11-295-30/+38
| | | | | | output tests llvm-svn: 168951
* This patch exposes to Clang users three more sanitizers are experimental ↵Alexey Samsonov2012-11-296-10/+62
| | | | | | | | | | | | | | features of ASan: 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/12687087>Greg Clayton2012-11-292-32/+136
| | | | | | | | 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/12780259>Han Ming Ong2012-11-299-40/+41
| | | | | | | 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
* Update comment for malloc being a library call now, rather than an instruction.Dan Gohman2012-11-291-2/+2
| | | | llvm-svn: 168946
* Resolve printf formatting warnings on Linux:Daniel Malea2012-11-29149-679/+686
| | | | | | | | - use macros from inttypes.h for format strings instead of OS-specific types Patch from Matt Kopec! llvm-svn: 168945
* copyFastMathFlags utility and test caseMichael Ilseman2012-11-293-0/+18
| | | | llvm-svn: 168943
* Add a FileCheck test that makes sure two different CHECKs won't match theEli Bendersky2012-11-291-0/+8
| | | | | | same string llvm-svn: 168942
* Update my email address.Dan Gohman2012-11-291-1/+1
| | | | llvm-svn: 168941
* Whitespace.Chad Rosier2012-11-291-1/+1
| | | | llvm-svn: 168937
* Fix 80-column violations.Chad Rosier2012-11-291-6/+6
| | | | llvm-svn: 168936
* Object: Pass the buffer name through when making a copy.Benjamin Kramer2012-11-291-1/+2
| | | | | | Should bring the buildbots back to life. llvm-svn: 168935
* Make the test less sensitive to DWARF emission implementation details.Eli Bendersky2012-11-291-2/+2
| | | | | | | Note: the ":" goes into the regex because FileCheck wrongly complains about unbalanced brackets otherwise. llvm-svn: 168934
* Add cortex-a5 subtarget to the supported ARM architecturesQuentin Colombet2012-11-292-1/+12
| | | | llvm-svn: 168933
* Cleanup recent addition of DAGTypeLegalizer::SplitVecOp_VSELECTJustin Holewinski2012-11-291-35/+31
| | | | llvm-svn: 168932
* rdar://12100355 (part 1)Shuxin Yang2012-11-297-21/+627
| | | | | | | | | | | | | | 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
* Handle the situation where CodeGenPrepare removes a reference to a BB that hasBill Wendling2012-11-292-0/+98
| | | | | | | | | | | | | 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
* Use multiclass for 'transfer' instructions.Jyotsna Verma2012-11-292-80/+98
| | | | llvm-svn: 168929
* No need to run LICM after loop vectorization because we dont generate ↵Nadav Rotem2012-11-291-3/+1
| | | | | | invariant code any more. llvm-svn: 168928
* When broadcasting invariant scalars into vectors, place the broadcast code ↵Nadav Rotem2012-11-291-11/+29
| | | | | | in the preheader. llvm-svn: 168927
* Documentation for FileCheck: use 'option' and 'program' directives.Dmitri Gribenko2012-11-291-36/+32
| | | | | | This enables option cross-referencing and now '--' in option names are no more turned into en dashes. llvm-svn: 168926
* instcombine: Migrate puts optimizationsMeador Inge2012-11-294-54/+58
| | | | | | | | | | | | 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
* Documentation for llvm-link: reformatDmitri Gribenko2012-11-291-54/+32
| | | | llvm-svn: 168924
* Fix a memory leak in MachOObjectFile.Jim Grosbach2012-11-292-10/+17
| | | | | | | | | | | | | 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
* Documentation for llvm-cov: reformatDmitri Gribenko2012-11-291-26/+14
| | | | llvm-svn: 168922
* Follow up to 168711: It's safe to base this analysis on the found compare, ↵Benjamin Kramer2012-11-292-4/+52
| | | | | | | | just return the value for the right predicate. Thanks to Andy for catching this. llvm-svn: 168921
* Documentation for llvm-stress: reformatDmitri Gribenko2012-11-291-22/+8
| | | | llvm-svn: 168920
* Documentation for opt: reformatDmitri Gribenko2012-11-291-111/+71
| | | | llvm-svn: 168919
* Make sure that we put the rest of the sanitizer libraries on the link lineEric Christopher2012-11-292-7/+18
| | | | | | before libstdc++ like we do with ubsan. llvm-svn: 168918
* <rdar://problem/12655594>Greg Clayton2012-11-291-1/+1
| | | | | | Be sure to resolve the file path for the "target.process.python-os-plugin-path" setting. llvm-svn: 168916
* <rdar://problem/12635804>Greg Clayton2012-11-291-6/+7
| | | | | | | | Add new rpath for LLDB: ../../Library/PrivateFrameworks Also moved the debugserver plists into the Resources group. llvm-svn: 168915
* Improve isImpliedCond comment a bit.Andrew Trick2012-11-291-2/+2
| | | | llvm-svn: 168914
* [ASan] Simplify check added in r168861. Bail out from module pass early if ↵Alexey Samsonov2012-11-291-2/+2
| | | | | | the module is blacklisted. llvm-svn: 168913
* Documentation for llc: reformat.Dmitri Gribenko2012-11-291-120/+56
| | | | llvm-svn: 168912
* Apply Takumi's patch to suppress unused-variable warnings in -Asserts builds.Matt Beaumont-Gay2012-11-291-2/+7
| | | | llvm-svn: 168911
OpenPOWER on IntegriCloud