summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug with order of operations.Zachary Turner2014-07-181-1/+1
| | | | llvm-svn: 213411
* Make lldb -P work on Windows.Zachary Turner2014-07-183-6/+24
| | | | | | | | | | | | | | lldb -P, which outputs its python path, works by using Host-layer facilities to get information about the loaded python module. This Host functionality was unimplemented on Windows, so this patch implements it. Additionally, it removes a pexpect dependency from the test runner and uses an equivalent invocation of subprocess. Reviewed by: Todd Fiala Differential Revision: http://reviews.llvm.org/D4548 llvm-svn: 213410
* Fix a couple of formatting and style issues.Eric Christopher2014-07-181-20/+14
| | | | llvm-svn: 213409
* [MCJIT] [AArch64] Make sure to propegate ARM64_RELOC_ADDEND values into theLang Hames2014-07-181-1/+3
| | | | | | | | | | RelocationEntry. No test case yet, as this primarily hits GOT entries, which RuntimeDyldChecker can't examine yet. I'm actively working on features that will enable us to test this. llvm-svn: 213408
* Make non-module passes unconditionally added in the passEric Christopher2014-07-182-16/+7
| | | | | | | manager for mips, and early exit if we don't want to do anything because of the current subtarget. llvm-svn: 213407
* Add tests for atomic adds on floats.Eli Bendersky2014-07-181-0/+27
| | | | llvm-svn: 213406
* Revert "CodeGen: Properly null-check typeid expressions"David Majnemer2014-07-182-103/+6
| | | | | | | | | This reverts commit r213401, r213402, r213403, and r213404. I accidently committed these changes instead of updating the differential. llvm-svn: 213405
* Address Richard's latest feedback.David Majnemer2014-07-182-11/+20
| | | | llvm-svn: 213404
* Address Richard's commentsDavid Majnemer2014-07-182-7/+19
| | | | llvm-svn: 213403
* Address Richard's comments.David Majnemer2014-07-182-0/+13
| | | | llvm-svn: 213402
* CodeGen: Properly null-check typeid expressionsDavid Majnemer2014-07-182-6/+69
| | | | | | | | | | | | | | | Summary: Thoroughly check for a pointer dereference which yields a glvalue. Look through casts, comma operators, conditional operators, paren expressions, etc. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4416 llvm-svn: 213401
* Recommit: Handle diagnostic warnings in Frontend diagnostic handler.Tyler Nowicki2014-07-184-12/+48
| | | | | | | | | | | | | | | Clang uses a diagnostic handler to grab diagnostic messages so it can print them with the line of source code they refer to. This patch extends this to handle optimization failures that were added to llvm to produce a warning when loop vectorization is explicitly specified (using a pragma clang loop directive) but fails. Update renames warning flag name to avoid indicating the flag's severity and adds a test. Reviewed by Alp Toker llvm-svn: 213400
* Rename DiagnosticInfoOptimizationWarning to DiagnosticInfoOptimizationFailureTyler Nowicki2014-07-182-9/+9
| | | | | | | | so the severity of the message is not part of the type name. Reviewed by Alp Toker llvm-svn: 213399
* Use CHECK-LABEL where appropriate in this test.Eli Bendersky2014-07-181-18/+18
| | | | llvm-svn: 213398
* Add loop unrolling metadata descriptions to docs/LangRef.rst.Mark Heffernan2014-07-181-54/+97
| | | | llvm-svn: 213397
* MergedLoadStoreMotion passGerolf Hoflehner2014-07-1811-1/+736
| | | | | | | | | | | Merges equivalent loads on both sides of a hammock/diamond and hoists into into the header. Merges equivalent stores on both sides of a hammock/diamond and sinks it to the footer. Can enable if conversion and tolerate better load misses and store operand latencies. llvm-svn: 213396
* Revert "[modules] Fix macro hiding bug exposed if:"Ben Langmuir2014-07-1810-48/+10
| | | | | | | | | | This is breaking the system modules on Darwin, because something that was defined and re-exported no longer is. Might be this patch, or might just be a really poor interaction with an existing visibility bug. This reverts commit r213348. llvm-svn: 213395
* Fixing warnings shouldn't introduce a crasher.Greg Clayton2014-07-181-1/+3
| | | | | | | | Fix the warning the correct way without making things crash when ENABLE_MUTEX_ERROR_CHECKING is non enabled. <rdar://problem/17703039> llvm-svn: 213394
* [UBsan] Skip -fsanitize=vptr instrumentations when the pointer value is null.Alexey Samsonov2014-07-182-1/+7
| | | | | | | | | | Otherwise -fsanitize=vptr causes the program to crash when it downcasts a null pointer. Reviewed in http://reviews.llvm.org/D4412. Patch by Byoungyoung Lee! llvm-svn: 213393
* Make sure globals created by UBSan are not instrumented by ASan.Alexey Samsonov2014-07-184-9/+39
| | | | | | | | | | | | | | | | | | | | | | Summary: This change adds description of globals created by UBSan instrumentation (UBSan handlers, type descriptors, filenames) to llvm.asan.globals metadata, effectively "blacklisting" them. This can dramatically decrease the data section in binaries built with UBSan+ASan, as UBSan tends to create a lot of handlers, and ASan instrumentation increases the global size to at least 64 bytes. Test Plan: clang regression test suite Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits, byoungyoung, kcc Differential Revision: http://reviews.llvm.org/D4575 llvm-svn: 213392
* Reapply "DebugInfo: Ensure that all debug location scope chains from ↵David Blaikie2014-07-183-4/+34
| | | | | | | | | | | | | | | | | instructions within a function, lead to the function itself.""" Recommits 212776 which was reverted in r212793. This has been committed and recommitted a few times as I try to test it harder and find/fix more issues. The most recent revert was due to an asan bot failure which I can't seem to reproduce locally, though I believe I'm following all the steps the buildbot does. So I'm going to recommit this in the hopes of investigating the failure on the buildbot itself... apologies in advance for the bot noise. If anyone sees failures with this /please/ provide me with any reproductions, etc. llvm-svn: 213391
* [Mips] Replace assembler code by YAML to make the test 'base-address.test'Simon Atanasyan2014-07-181-13/+57
| | | | | | target independent. llvm-svn: 213390
* Fix build failure on windowsDavid Peixotto2014-07-182-1/+3
| | | | | | Add explicit constructor to struct instead of using brace initialization. llvm-svn: 213389
* For i386, gcc 4.9 under Debian (at least) updated its paths to i586-linux-gnuSylvestre Ledru2014-07-181-1/+1
| | | | | | | | | | | (i486-linux-gnu previously). Adding this triple to the list of search. Also impacts clang 3.4.2 Reported on the Debian bug tracking system here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754963 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755183 llvm-svn: 213388
* MC: support different sized constants in constant poolsDavid Peixotto2014-07-1810-67/+200
| | | | | | | | | | | | | | | On AArch64 the pseudo instruction ldr <reg>, =... supports both 32-bit and 64-bit constants. Add support for 64 bit constants for the pools to support the pseudo instruction fully. Changes the AArch64 ldr-pseudo tests to use 32-bit registers and adds tests with 64-bit registers. Patch by Janne Grunau! Differential Revision: http://reviews.llvm.org/D4279 llvm-svn: 213387
* Mark C++ reference parameters as dereferenceableHal Finkel2014-07-1858-264/+310
| | | | | | | | | | | | | | Because references must be initialized using some evaluated expression, they must point to something, and a callee can assume the reference parameter is dereferenceable. Taking advantage of a new attribute just added to LLVM, mark them as such. Because dereferenceability in addrspace(0) implies nonnull in the backend, we don't need both attributes. However, we need to know the size of the object to use the dereferenceable attribute, so for incomplete types we still emit only nonnull. llvm-svn: 213386
* Add a dereferenceable attributeHal Finkel2014-07-1822-18/+388
| | | | | | | | | This attribute indicates that the parameter or return pointer is dereferenceable. Practically speaking, loads from such a pointer within the associated byte range are safe to speculatively execute. Such pointer parameters are common in source languages (C++ references, for example). llvm-svn: 213385
* tsan: fix Go runtime build with clangDmitry Vyukov2014-07-181-4/+4
| | | | llvm-svn: 213384
* [mips] Use Triple::getVendor() instead of Triple::getVendorName() to ↵Daniel Sanders2014-07-181-1/+1
| | | | | | identify 'mti' vendor triples. llvm-svn: 213383
* tsan: expose atomic operations in Go runtimeDmitry Vyukov2014-07-184-49/+155
| | | | llvm-svn: 213382
* Add MIPS Technologies to the vendors in llvm::Triple.Daniel Sanders2014-07-182-0/+3
| | | | | | | | This is a prerequisite for checking for 'mti' and 'img' in a consistent way in clang. Previously 'img' could use Triple::getVendor() but 'mti' could only use Triple::getVendorName(). llvm-svn: 213381
* Revert "Emit lifetime.start / lifetime.end markers for unnamed temporary ↵Arnaud A. de Grandmaison2014-07-184-149/+24
| | | | | | | | | objects." This reverts commit dbf785a6432f78a8ec229665876647c4cc610d3d, while I qm investigating a buildbot failure. llvm-svn: 213380
* Emit lifetime.start / lifetime.end markers for unnamed temporary objects.Arnaud A. de Grandmaison2014-07-184-24/+149
| | | | | | This will give more information to the optimizers so that they can reuse stack slots. llvm-svn: 213379
* AArch64: implement efficient f16 bitcastsTim Northover2014-07-182-0/+64
| | | | | | | | Because i16 is illegal, there's no native DAG method to represent a bitcast to or from an f16 type. This meant LLVM was inserting a stack store/load pair which is really not ideal. llvm-svn: 213378
* NVPTX: support fpext/fptrunc to and from f16.Tim Northover2014-07-182-0/+43
| | | | llvm-svn: 213377
* R600: support fpext/fptrunc operations to and from f16.Tim Northover2014-07-182-0/+35
| | | | llvm-svn: 213376
* AArch64: support f16 extend/trunc operations.Tim Northover2014-07-182-0/+37
| | | | llvm-svn: 213375
* X86: support fpext/fptrunc operations to and from 16-bit floats.Tim Northover2014-07-182-0/+47
| | | | llvm-svn: 213374
* ARM: support legalisation of "fptrunc ... to half" operations.Tim Northover2014-07-184-4/+80
| | | | llvm-svn: 213373
* CodeGen: soften f16 type by default instead of marking legal.Tim Northover2014-07-187-1/+147
| | | | | | | | | | | | Actual support for softening f16 operations is still limited, and can be added when it's needed. But Soften is much closer to being a useful thing to try than keeping it Legal when no registers can actually hold such values. Longer term, we probably want something between Soften and Promote semantics for most targets, it'll be more efficient to promote the 4 basic operations to f32 than libcall them. llvm-svn: 213372
* Suppress 'not handled in switch' warningRenato Golin2014-07-181-0/+2
| | | | llvm-svn: 213371
* Add FreeBSD support to the Asan symbolization scriptViktor Kutuzov2014-07-181-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D4560 llvm-svn: 213370
* [ARM] Add earlyclobber constraint to pre/post-indexed ARM STR instructions.Tilmann Scheller2014-07-182-4/+19
| | | | | | | | | | The post-indexed instructions were missing the constraint, causing unpredictable STR instructions to be emitted. The earlyclobber constraint on the pre-indexed STR instructions is not strictly necessary, as the instruction selection for pre-indexed STR instructions goes through an additional layer of pseudo instructions which have the constraint defined, however it doesn't hurt to specify the constraint directly on the pre-indexed instructions as well, since at some point someone might create instances of them programmatically and then the constraint is definitely needed. This fixes PR20323. llvm-svn: 213369
* Add FreeBSD support to the address sanitizer's waitid.cc test caseViktor Kutuzov2014-07-181-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D4422 llvm-svn: 213368
* Refactor ARM subarchitecture parsingRenato Golin2014-07-183-82/+120
| | | | | | | | | Re-commit of a patch to rework the triple parsing on ARM to a more sane model. Patch by Gabor Ballabas. llvm-svn: 213367
* Use PRIx64.Joerg Sonnenberger2014-07-181-1/+1
| | | | llvm-svn: 213366
* Moved 25 flags to clang_ignored_gcc_optimization_f_Group. Will display a warningArthur Marble2014-07-182-30/+80
| | | | | | | | | to the user if they try to pass those optimizations. The revision for this patch is here: http://reviews.llvm.org/D4474. This patch will fix many errors in the rebuild of Debian with clang. Here is a link to the page for unknown arguments: http://clang.debian.net/status.php?version=3.4.2&key=UNKNOWN_ARG llvm-svn: 213365
* ARM: Add test for ACLE memory barrier intrinsicsYi Kong2014-07-181-0/+16
| | | | | | | Add an additional test to ensure that someone doesn't accidentally change the definitions such that they can take a non-constant value. llvm-svn: 213364
* [OPENMP] Initial parsing and sema analysis for 'taskwait' directive.Alexey Bataev2014-07-1827-8/+408
| | | | llvm-svn: 213363
* swapStruct extracted into include/llvm/Support/MachO.h (no functional change)Artyom Skrobov2014-07-181-155/+0
| | | | llvm-svn: 213362
OpenPOWER on IntegriCloud