summaryrefslogtreecommitdiffstats
path: root/llvm
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
* Report a warning when dropping outdated debug info metadata.Manman Ren2014-01-166-3/+56
| | | | | | Use DiagnosticInfo to emit the warning. llvm-svn: 199346
* 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
* 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
* 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
* 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
* 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
* Update the X86 assembler for .intel_syntax to acceptKevin Enderby2014-01-152-7/+81
| | | | | | | | the | and & bitwise operators. rdar://15570412 llvm-svn: 199323
* Make sure we create a new archive by deleting any stale ones first.Rafael Espindola2014-01-151-0/+1
| | | | llvm-svn: 199319
* 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
* 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
* Whitespace.NAKAMURA Takumi2014-01-151-8/+8
| | | | llvm-svn: 199305
* replace LeakSanitizerIsTurnedOffForTheCurrentProcess with ↵Kostya Serebryany2014-01-151-5/+7
| | | | | | __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h> llvm-svn: 199303
* Fixed identation.Elena Demikhovsky2014-01-151-7/+11
| | | | llvm-svn: 199301
* Fix PR18449: SCEV needs more precise max BECount for multi-exit loop.Andrew Trick2014-01-153-20/+78
| | | | llvm-svn: 199299
* Add OpSize16 to the two byte forms of INC/DEC that we only use in 64-bit ↵Craig Topper2014-01-151-5/+5
| | | | | | mode and a 64-bit only LEA. Even though we'll not be in 16-bit mode when we use them it makes their tables consistent with their 32-bit counterparts. llvm-svn: 199297
* For AArch64, lowering sext_inreg and generate optimized code by using SXTL.Jiangning Liu2014-01-153-1/+275
| | | | llvm-svn: 199296
* Simplify x86 disassembler table handling of when to use ↵Craig Topper2014-01-152-25/+20
| | | | | | TYPE_Rv/TYPE_R16/TYPE_R32 now that HasOpSizePrefix only means 16-bit instructions. llvm-svn: 199295
* Switch-to-lookup tables: set threshold to 3 casesHans Wennborg2014-01-152-5/+39
| | | | | | | | | | | | | | | There has been an old FIXME to find the right cut-off for when it's worth analyzing and potentially transforming a switch to a lookup table. The switches always have two or more cases. I could not measure any speed-up by transforming a switch with two cases. A switch with three cases gets a nice speed-up, and I couldn't measure any compile-time regression, so I think this is the right threshold. In a Clang self-host, this causes 480 new switches to be transformed, and reduces the final binary size with 8 KB. llvm-svn: 199294
* Check the error code and save a call to sys::fs::exists.Rafael Espindola2014-01-151-4/+2
| | | | llvm-svn: 199293
* LoopVectorize: Only strip casts from integer types when replacing symbolicArnold Schwaighofer2014-01-152-4/+42
| | | | | | | | strides Fixes PR18480. llvm-svn: 199291
* Fix uninitialized variable.Rafael Espindola2014-01-151-1/+1
| | | | llvm-svn: 199288
* Only mark functions as micromips.Rafael Espindola2014-01-152-2/+16
| | | | | | | | | The GNU as behavior is a bit different and very strange. It will mark any label that contains an instruction. We can implement that, but using the type looks more natural since gas will not mark a function if a .word is used to output the instructions! llvm-svn: 199287
* LangRef.rst: fix LangRef data layout text about m specifier, take 2Hans Wennborg2014-01-151-8/+9
| | | | llvm-svn: 199286
* LangRef: attempt to fix line breaksHans Wennborg2014-01-151-2/+2
| | | | | | | The line breaks around the "m:<mangling>" text in the Data Layout section look weird. Let's see if this helps. llvm-svn: 199285
* PR 18466: Fix ARM Pseudo ExpansionWeiming Zhao2014-01-152-2/+59
| | | | | | | | | | | | | | | | | | | | When expanding neon pseudo stores, it may miss the implicit uses of sub regs, which may cause post RA scheduler reorder instructions that breakes anti dependency. For example: VST1d64QPseudo %R0<kill>, 16, %Q9_Q10, pred:14, pred:%noreg will be expanded to VST1d64Q %R0<kill>, 16, %D18, pred:14, pred:%noreg; An instruction that defines %D20 may be scheduled before the store by mistake. This patches adds implicit uses for such case. For the example above, it emits: VST1d64Q %R0<kill>, 8, %D18, pred:14, pred:%noreg, %Q9_Q10<imp-use> llvm-svn: 199282
* Make parseBitcodeFile return an ErrorOr<Module *>.Rafael Espindola2014-01-155-39/+30
| | | | llvm-svn: 199279
* Make sure we emit a relocation to the debug_ranges section in theEric Christopher2014-01-153-3/+16
| | | | | | presence of CU ranges. llvm-svn: 199276
* Return an error_code from materializeAllPermanently.Rafael Espindola2014-01-147-21/+25
| | | | llvm-svn: 199275
* Use error_code in Module::materializeAll.Rafael Espindola2014-01-142-14/+10
| | | | llvm-svn: 199269
* Fix Remote MCJIT on WindowsRenato Golin2014-01-141-5/+6
| | | | llvm-svn: 199268
* Add testcase for r199263 forgotten in commit.Eric Christopher2014-01-141-0/+53
| | | | llvm-svn: 199267
* ARM: correctly determine final tBX_LR in Thumb1 functionsTim Northover2014-01-142-3/+26
| | | | | | | | | | | | | The changes caused by folding an sp-adjustment into a "pop" previously disrupted the forward search for the final real instruction in a terminating block. This switches to a backward search (skipping debug instrs). This fixes PR18399. Patch by Zhaoshi. llvm-svn: 199266
OpenPOWER on IntegriCloud