summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [cmake] Attempt to fix sanitizer buildbot.Quentin Colombet2014-01-161-2/+6
| | | | | | | | | The generation of the native_export_file end up in several different makefiles. All those makefiles write the same file, but can be executed concurrently... and bad things happen! llvm-svn: 199356
* Convert test to FileCheck.Rafael Espindola2014-01-161-4/+7
| | | | llvm-svn: 199355
* Reapply r194218 with fix:Bill Wendling2014-01-165-5/+197
| | | | | | | | | | | | Move copying of global initializers below the cloning of functions. The BlockAddress doesn't have access to the correct basic blocks until the functions have been cloned. This causes the BlockAddress to point to the old values. Just wait until the functions have been cloned before copying the initializers. PR13163 llvm-svn: 199354
* Remove use of OpSize for populating VEX_PP field. A prefix encoding is now ↵Craig Topper2014-01-162-20/+8
| | | | | | used instead. Simplify some other code. No functional changes intended. llvm-svn: 199353
* Attempt to fix the MSVC build.Rafael Espindola2014-01-161-0/+2
| | | | llvm-svn: 199352
* BasicAA: We need to check both access sizes when comparing a gep and anArnold Schwaighofer2014-01-162-1/+42
| | | | | | | | underlying object of unknown size. Fixes PR18460. llvm-svn: 199351
* Prevent calls to __jit_debug_register_code from being optimized out.Rafael Espindola2014-01-161-1/+5
| | | | | | Patch by Andrew MacPherson. I just tweaked the comment. llvm-svn: 199350
* Don't use DataRefImpl to implement ImportDirectoryEntryRef.Rui Ueyama2014-01-162-40/+21
| | | | | | | | | DataRefImpl (a union of two integers and a pointer) is not the ideal data type to represent a reference to an import directory entity. We should just use the pointer to the import table and an offset instead to simplify. No functionality change. llvm-svn: 199349
* Forbid driver use in Sema testsAlp Toker2014-01-168-8/+12
| | | | | | | | This ports the last Sema tests over to use the frontend directly, and adds a local lit substitution to disable inappropriate %clang usage under this directory. llvm-svn: 199348
* Disable and XFAIL a test that never workedAlp Toker2014-01-161-1/+3
| | | | | | | | | -verify was simply ignored by the driver. This commit fixes the RUN line and XFAILs the test, unblocking changes to ban use of the driver in Sema tests and avoid problems like this. llvm-svn: 199347
* Report a warning when dropping outdated debug info metadata.Manman Ren2014-01-166-3/+56
| | | | | | Use DiagnosticInfo to emit the warning. llvm-svn: 199346
* If a library has no N_FUN symbols we don't succeed in finding resolver ↵Greg Clayton2014-01-161-2/+2
| | | | | | | | symbols, now we do. <rdar://problem/15831334> llvm-svn: 199345
* Make sure we correctly merge all N_FUN symbols with non-stab entries even if ↵Greg Clayton2014-01-161-50/+82
| | | | | | | | there are multiple symbols with the same name. <rdar://problem/15831292> llvm-svn: 199344
* Adjust offsets for max load instruction offsets. This is more pessimisticReed Kotler2014-01-163-3/+5
| | | | | | | | | than it needs to be by 1 bit but I need to finish some other things so that all the boundary cases will work in that situation. constpool.c in test-suite will fail to assemble under our new internal test-suite sync without this change. llvm-svn: 199343
* ARM's @ comment mode strikes again. Use %function on ARM.Joerg Sonnenberger2014-01-161-1/+5
| | | | llvm-svn: 199342
* llvm-objdump: Don't print "Import table:" header if there's no import table.Rui Ueyama2014-01-151-3/+5
| | | | | | | | If a binary does not depend on any DLL, it does not contain import table at all. Printing the section title without contents looks wrong, so we shouldn't print it in that case. llvm-svn: 199340
* Fix parsing of .symver directive on ARMDavid Peixotto2014-01-155-1/+186
| | | | | | | | | | | | | | | ARM assembly syntax uses @ for a comment, execpt for the second parameter of the .symver directive which requires @ as part of the symbol name. This commit fixes the parsing of this directive by adding a special case for ARM for this one argumnet. To make the change we had to move the AllowAtInIdentifier variable to the MCAsmLexer interface (from AsmLexer) and expose a setter for the value. The ELFAsmParser then toggles this value when parsing the second argument to the .symver directive for a target that uses @ as a comment symbol llvm-svn: 199339
* [LTO] Add a hook to map LLVM diagnostics into the clients of LTO.Quentin Colombet2014-01-155-2/+94
| | | | | | | | | | | | | | | | | | | Add a hook in the C API of LTO so that clients of the code generator can set their own handler for the LLVM diagnostics. The handler is defined like this: typedef void (*lto_diagnostic_handler_t)(lto_codegen_diagnostic_severity_t severity, const char *diag, void *ctxt) - severity says how bad this is. - diag is a string that contains the diagnostic message. - ctxt is the registered context for this handler. This hook is more general than the lto_get_error_message, since this function keeps only the latest message and can only be queried when something went wrong (no warning for instance). <rdar://problem/15517596> llvm-svn: 199338
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-152-2/+1
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199337
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-153-11/+4
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199336
* Ensure i686-nacl long long is aligned 8 bytes (like malign-double)Jan Wen Voung2014-01-153-7/+45
| | | | | | | Set NaCl OSTargetInfo to have LongLongAlign = 64. Otherwise, it will pick up the setting of 32 from X86_32TargetInfo. llvm-svn: 199335
* Use a heavier hammer when --enable-libcpp is passed to bypass the testsChandler Carruth2014-01-152-16/+22
| | | | | | | | | | | | | | which catch buggy versions of libstdc++. While libc++ would pass them, we don't actually update the state in the configure script to use libc++ when we pass --enable-libcpp, the logic for that is in the Makefiles. So just completely skip the library test when that configure flag is passed. Hopefully this will be enough to fix the darwin bots at last, and thanks to Duncan Smith for getting things set up so I can watch the bots myself on lab.llvm.org and see any failures! llvm-svn: 199334
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-152-11/+1
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199333
* Avoid shadowing the global filename. Reorg mangle_filename to be moreJoerg Sonnenberger2014-01-151-23/+29
| | | | | | | | | precise in the length accounting and use memcpy instead of strcpy/strcat. Differential Revision: http://llvm-reviews.chandlerc.com/D2547 llvm-svn: 199332
* Update test/CodeGen/X86/vbinop-simplify-bug.ll.Andrea Di Biagio2014-01-151-1/+1
| | | | | | Redirect the output of llc to /dev/null. llvm-svn: 199329
* [DAGCombiner] Fix a wrong check in method SimplifyVBinOp.Andrea Di Biagio2014-01-152-2/+25
| | | | | | | | | | | | | | | | | | | This fixes a regression intruced by r199135. Revision 199135 tried to simplify part of the logic in method DAGCombiner::SimplifyVBinOp introducing calls to method BuildVectorSDNode::isConstant(). However, that revision wrongly changed the check performed by method SimplifyVBinOp to identify dag nodes that can be folded. Before revision 199135, that method only tried to simplify vector binary operations if both operands were build_vector of Constant/ConstantFP/Undef only. After revision 199135, method SimplifyVBinop tried to simplify also vector binary operations with only one constant operand. This fixes the problem restoring the old behavior of SimplifyVBinOp. llvm-svn: 199328
* Update for llvm api change.Rafael Espindola2014-01-151-3/+3
| | | | llvm-svn: 199327
* Return an ErrorOr<Binary *> from createBinary.Rafael Espindola2014-01-159-66/+69
| | | | | | | | I did write a version returning ErrorOr<OwningPtr<Binary> >, but it is too cumbersome to use without std::move. I will keep the patch locally and submit when we switch to c++11. llvm-svn: 199326
* Sink the autoconf check for sufficiently modern host toolchain below theChandler Carruth2014-01-152-335/+337
| | | | | | | | | | enable flag that selects the C++ standard library to use with the host toolchain. Otherwise we end up testing the wrong config. I'm not really happy about this placement, but its pragmatic and should unblock the Apple builders. llvm-svn: 199325
* Make -fno-inline attach NoInline attribute to all functions that are notRoman Divacky2014-01-152-3/+15
| | | | | | | | | | marked as AlwaysInline or ForceInline. This moves us to what gcc does with -fno-inline. The attribute approach was discussed to be better than switching to InlineAlways inliner in presence of LTO. llvm-svn: 199324
* Update the X86 assembler for .intel_syntax to acceptKevin Enderby2014-01-152-7/+81
| | | | | | | | the | and & bitwise operators. rdar://15570412 llvm-svn: 199323
* [analyzer] BlockCall shouldn't really be an AnyFunctionCall.Jordan Rose2014-01-156-50/+52
| | | | | | | | | | | | | | Per discussion with Anna a /long/ time ago, it was way too easy to misuse BlockCall: because it inherited from AnyFunctionCall (through SimpleCall), getDecl() was constrained to return a FunctionDecl, and you had to call getBlockDecl() instead. This goes against the whole point of CallEvent (to abstract over different ways to invoke bodies of code). Now, BlockCall just inherits directly from CallEvent. There's a bit of duplication in getting things out of the origin expression (which is still known to be a CallExpr), but nothing significant. llvm-svn: 199321
* [analyzer] Print function name when dumping its CFG.Jordan Rose2014-01-152-14/+18
| | | | | | | | This allows us to use CHECK-LABEL to ensure that we're checking the right CFG. Debugging change only. llvm-svn: 199320
* Make sure we create a new archive by deleting any stale ones first.Rafael Espindola2014-01-151-0/+1
| | | | llvm-svn: 199319
* Apply patch for Albert Wong: 'Modify testit to allow filtering tests by ↵Marshall Clow2014-01-151-4/+4
| | | | | | prefixes'. llvm-svn: 199318
* clang-format: Fixed formatting of JavaScript container literalsDaniel Jasper2014-01-155-10/+21
| | | | | | | | | | | | Before: var arr = [ 1, 2, 3 ]; var obj = {a : 1, b : 2, c : 3}; After: var arr = [1, 2, 3]; var obj = {a: 1, b: 2, c: 3}; llvm-svn: 199317
* LL and SC decoder method fix.Zoran Jovanovic2014-01-153-4/+15
| | | | llvm-svn: 199316
* Added support for LWU microMIPS instruction.Zoran Jovanovic2014-01-154-0/+21
| | | | llvm-svn: 199315
* Fix a bug in r199313 where I failed to restore CXXFLAGS. Doh! NotChandler Carruth2014-01-152-1/+3
| | | | | | *quite* ready to just slam C++11 on by default. llvm-svn: 199314
* Add a check to configure that the libstdc++ selected by Clang isn'tChandler Carruth2014-01-152-43/+121
| | | | | | | | | | | | | | | | libstdc++v4.6. This is quite hard to test directly, so we test for it by checking a known missing feature in that version that was added in v4.7. This should prevent users from upgrading Clang but not GCC and hosting with a too-old GCC's libstdc++ and getting strange and hard to debug errors when we switch to C++11 by default. Also, switch several of the macros I introduced to use AC_LANG_SOURCE rather than AC_LANG_PROGRAM as we don't need configure's help writing our main function (and we don't need such a function at all for most of the tests). llvm-svn: 199313
* WinCOFF: Transform IR expressions featuring __ImageBase into image relative ↵David Majnemer2014-01-157-0/+106
| | | | | | | | | | | | | relocations MSVC on x64 requires that we create image relative symbol references to refer to RTTI data. Seeing as how there is no way to explicitly make reference to a given relocation type in LLVM IR, pattern match expressions of the form &foo - &__ImageBase. Differential Revision: http://llvm-reviews.chandlerc.com/D2523 llvm-svn: 199312
* Fix for PR9812: warn about bool instead of _Bool.Erik Verbruggen2014-01-1513-139/+227
| | | | llvm-svn: 199311
* Revert 199262 - MCJIT remote still failing on ARMRenato Golin2014-01-151-2/+2
| | | | | | | | Disabling remote MCJIT tests on ARM again, as they're still failing when self-hosting on ARM, despite all my tests. At least now we have more info on what message it's breaking and what is going on. Investigating. llvm-svn: 199310
* Re-disable MCJIT remote tests on ARMRenato Golin2014-01-151-0/+5
| | | | llvm-svn: 199309
* Move a bunch of tests to directly use the CC1 layer. This at least savesChandler Carruth2014-01-156-7/+7
| | | | | | | | | | | a subprocess invocation which is pretty significant on Windows. It also likely saves a bunch of thrashing the host machine needlessly. Finally it makes the tests much more predictable and less dependent on the host. For example 'header_lookup1.c' was passing '-fno-ms-extensions' just to thwart the host detection adding it into the compilation. By runnig CC1 directly we don't have to deal with such oddities. llvm-svn: 199308
* Switch this test from needlessly running the clang driver to directlyChandler Carruth2014-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | test the CC1 layer. This actually uncovered that the test semes to no longer be passing for the reasons intended. =[ The name of the test would lead me to believe that it should be testing the semantics of noreturn in the static analyzer.... but there are in fact no -verify assertions about noreturn that i can find. And the noreturn checker is no longer in 'alpha.core'. It is in 'core.builtins'. The test *does* have one assertion for a null dereference warning. This *also* isn't in 'alpha.core', but the driver inserts a pile of other checker packages, including 'core' which has this warning. So I have switch the RUN line to actually do the minimal thing that this test currently exercises, but someone who works on the static analyzer should probably look at this and either nuke it or move it to actually check the noreturn behavior. llvm-svn: 199307
* This code block wasn't showing up in the html. Try this?Nick Lewycky2014-01-151-0/+1
| | | | llvm-svn: 199306
* Whitespace.NAKAMURA Takumi2014-01-151-8/+8
| | | | llvm-svn: 199305
* [lsan] remove LeakSanitizerIsTurnedOffForTheCurrentProcess (this was a bad ↵Kostya Serebryany2014-01-154-18/+2
| | | | | | idea), leave __lsan_is_turned_off llvm-svn: 199304
* replace LeakSanitizerIsTurnedOffForTheCurrentProcess with ↵Kostya Serebryany2014-01-152-10/+14
| | | | | | __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h> llvm-svn: 199303
OpenPOWER on IntegriCloud