summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AVX-512: Add assembly parser support for Rounding modeElena Demikhovsky2015-03-025-2/+115
| | | | | | By Asaf Badouh <asaf.badouh@intel.com> llvm-svn: 230962
* [ASan/Win] Rename a test.Timur Iskhodzhanov2015-03-021-0/+0
| | | | | | I came up with the original name trying to test a different issue and forgot to rename afterwards llvm-svn: 230961
* Do not model scalar accesses in non-affine subregionsJohannes Doerfert2015-03-028-18/+581
| | | | | | | | | | If a scalar was defined and used only in a non-affine subregion we do not need to model the accesses. However, if the scalar was defined inside the region and escapes the region we have to model the access. The same is true if the scalar was defined outside and used inside the region. llvm-svn: 230960
* [FIX] Make parallel codegen aware of region statementsJohannes Doerfert2015-03-021-11/+25
| | | | llvm-svn: 230959
* Fix build breakage on win7-msvc caused by r230955Pavel Labath2015-03-021-2/+1
| | | | llvm-svn: 230958
* NVPTX: Remove dead code.Benjamin Kramer2015-03-023-116/+0
| | | | | | | Fun fact: This file was never referenced since the initial checkin of the NVPTX backend. llvm-svn: 230957
* [mips] Optimize conditional moves where RHS is zero.Vasileios Kalintiris2015-03-022-175/+159
| | | | | | | | | | | | | Summary: When the RHS of a conditional move node is zero, we can utilize the $zero register by inverting the conditional move instruction and by swapping the order of its True/False operands. Reviewers: dsanders Differential Revision: http://reviews.llvm.org/D7945 llvm-svn: 230956
* Fix handling of backslashes in Args parsingPavel Labath2015-03-029-219/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Presently Args::SetCommandString allows quotes to be escaped with backslash. However, the backslash itself is not removed from the argument, nor there is a way to escape the backslash itself. This leads to surprising results: "a b" c" -> 'a b', 'c' # Here we actually have an unterminated quote, but that is ignored "a b\" c" -> 'a b\" c' # We try to escape the quote. That works but the backslash is not removed. "a b\\" c" -> 'a b\\" c' # Escaping the backslash has no effect. This change changes quote handling to be more shell-like: - single quotes and backquotes are literal and there is no way to escape the closing quote or anything else inside; - inside double quotes you can use backslash to escape the closing quote and another backslash - outside any quotes, you can use backslash to escape quotes, spaces and itself. This makes the parsing more consistent with what the user is familiar and increases the probability that pasting the command line from shell to the "process launch" command "just work". Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7855 llvm-svn: 230955
* AVX-512: Simplified MOV patterns, no functional changes.Elena Demikhovsky2015-03-021-158/+142
| | | | llvm-svn: 230954
* [llgo] debug: create replaceable type through DIBuilderAndrew Wilkins2015-03-021-4/+12
| | | | | | | | | | | | | | | | | | | | | Summary: llgo was asserting in DebugInfo, which was interpreting the temporary MDNodes we were creating as DIScopes instead of DITypes (in DIScope::getRef). This proposal changes llgo to use DIBuilder's createReplaceableCompositeType method to create a DIType that can be RAUW'd. Reviewers: pcc Reviewed By: pcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7852 llvm-svn: 230953
* [clang-tidy] Refactor: Move llvm clang-tidy checks to namespace ↵Alexander Kornienko2015-03-028-2/+19
| | | | | | | | | | | | | clang::tidy::llvm clang-tidy checks are organized into modules. This refactoring moves the llvm module checks to clang::tidy::llvm http://reviews.llvm.org/D7995 Patch by Richard Thomson! llvm-svn: 230952
* bindings/go: expose DIBuilder::createReplaceableCompositeTypeAndrew Wilkins2015-03-023-0/+49
| | | | | | | | | | | | | | | | | Summary: We extend the DIBuilder type, adding a method for creating replaceable composite types. This is necessary for creating debug info describing self-referential types. Reviewers: pcc Reviewed By: pcc Subscribers: axw, llvm-commits Differential Revision: http://reviews.llvm.org/D7851 llvm-svn: 230951
* [clang-tidy] Refactor: Move misc clang-tidy checks to namespace ↵Alexander Kornienko2015-03-0222-3/+46
| | | | | | | | | | | | | clang::tidy::misc clang-tidy checks are organized into modules. This refactoring moves the misc module checks into the namespace clang::tidy::misc http://reviews.llvm.org/D7996 Patch by Richard Thomson! llvm-svn: 230950
* Replace loop with equivalent ArrayRef function. NFC.Benjamin Kramer2015-03-021-6/+1
| | | | llvm-svn: 230949
* Simplify code. NFC.Benjamin Kramer2015-03-022-15/+5
| | | | llvm-svn: 230948
* [clang-tidy] Organized clang-tidy unit tests. NFC.Alexander Kornienko2015-03-024-338/+333
| | | | | | | | | * Moved unit tests for BracesAroundStatementsCheck to ReadabilityModuleTest.cpp. * Moved EXPECT_NO_CHANGES macro to ClangTidyTest.h to avoid defining it three times. llvm-svn: 230947
* [clang-tidy] Refactor: Move readability checks to namespace ↵Alexander Kornienko2015-03-024-2/+8
| | | | | | | | | | | | | clang::tidy::readability clang-tidy checks are organized into modules. This refactoring moves the readability module checks into the namespace clang::tidy::readability http://reviews.llvm.org/D7997 Patch by Richard Thomson! llvm-svn: 230946
* Make it possible to stop the operation thread in NativeProcessLinuxTamas Berghammer2015-03-021-2/+11
| | | | | | | | | | | Previously the operation thread is stopped with a cancel event but pthread_cancel is not supported on android. This CL creates a custom operation which asks the operation thread to exit without any pthread call. Differential revision: http://reviews.llvm.org/D7937 llvm-svn: 230945
* Rename CMIDriver::LocalDebugSessionStartupInjectCommands to ↵Ilia K2015-03-022-3/+3
| | | | | | CMIDriver::LocalDebugSessionStartupExecuteCommands after r230003 llvm-svn: 230944
* [clang-tidy] Assert related checkersAlexander Kornienko2015-03-028-0/+521
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains two assert related checkers. These checkers are the part of those that is being open sourced by Ericsson (http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-December/040520.html). The checkers: AssertSideEffect: /// \brief Finds \c assert() with side effect. /// /// The conition of \c assert() is evaluated only in debug builds so a condition /// with side effect can cause different behaviour in debug / relesase builds. StaticAssert: /// \brief Replaces \c assert() with \c static_assert() if the condition is /// evaluatable at compile time. /// /// The condition of \c static_assert() is evaluated at compile time which is /// safer and more efficient. http://reviews.llvm.org/D7375 Patch by Szabolcs Sipos! llvm-svn: 230943
* clang-format: Prefer wrapping a lambda's body over the lambda's return type.Daniel Jasper2015-03-022-0/+8
| | | | | | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaa( [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; }); After: aaaaaaaaaaaaaaaaaaaaaa( [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; }); llvm-svn: 230942
* Teach the verifier to enforce that the alignment argument of memory ↵Owen Anderson2015-03-022-2/+17
| | | | | | intrinsics must be a power of 2. llvm-svn: 230941
* Teach DataLayout that alignments on basic types must be powers of two.Owen Anderson2015-03-023-0/+16
| | | | | | Fixes assertion failures/crashes on bad datalayout specifications. llvm-svn: 230940
* Teach DataLayout that ABI alignments for non-aggregate types must be non-zero.Owen Anderson2015-03-022-0/+9
| | | | | | | This manifested as assertions and/or crashes in later phases of optimization, depending on the build configuration. llvm-svn: 230939
* Teach DataLayout that pointer ABI and preferred alignments are required to ↵Owen Anderson2015-03-023-0/+18
| | | | | | | | be powers of two. Previously this resulted in asserts and/or crashes (depending on build configuration) at various phases in the optimizer. llvm-svn: 230938
* Update the list of relocations that need to be implemented.Davide Italiano2015-03-021-2/+1
| | | | | | | While at it, point the correct document where the missing TLS relocation(s) are described. llvm-svn: 230937
* Teach DataLayout that zero-byte pointer sizes don't make sense.Owen Anderson2015-03-022-0/+8
| | | | | | | | Previously this would result in assertion failures or simply crashes at various points in the optimizer when trying to create types of zero bit width. llvm-svn: 230936
* Teach the LLParser to fail gracefully when it encounters an invalid label name.Owen Anderson2015-03-022-5/+18
| | | | | | Previous it would either assert in +Asserts, or crash in -Asserts. Found by fuzzing LLParser. llvm-svn: 230935
* Fix a crash in the LL parser where it failed to validate that the pointer ↵Owen Anderson2015-03-022-0/+13
| | | | | | | | operand of a GEP was valid. This manifested as an assertion failure in +Asserts builds, and a hard crash in -Asserts builds. Found by fuzzing the LL parser. llvm-svn: 230934
* [llvm-pdbdump] Many minor fixes and improvementsZachary Turner2015-03-0218-69/+303
| | | | | | | | | | | | | | | | | A short list of some of the improvements: 1) Now supports -all command line argument, which implies many other command line arguments to simplify usage. 2) Now supports -no-compiler-generated command line argument to exclude compiler generated types. 3) Prints base class list. 4) -class-definitions implies -types. 5) Proper display of bitfields. 6) Can now distinguish between struct/class/interface/union. And a few other minor tweaks. llvm-svn: 230933
* Revert r230930, it caused PR22747.Nico Weber2015-03-0211-169/+153
| | | | llvm-svn: 230932
* [X86] There are only 8 mask registers. Fail disassembly if instruction tries ↵Craig Topper2015-03-021-0/+2
| | | | | | to reference more. llvm-svn: 230931
* Refactor DebugLocDWARFExpression so it doesn't require access to theAdrian Prantl2015-03-0211-153/+169
| | | | | | | | | | TargetRegisterInfo. DebugLocEntry now holds a buffer with the raw bytes of the pre-calculated DWARF expression. Ought to be NFC, but it does slightly alter the output format of the textual assembly. llvm-svn: 230930
* Revert r230921, "Revert some changes that were made to fix PR20680.", for now.NAKAMURA Takumi2015-03-024-17/+61
| | | | | | It caused a failure on clang/test/Misc/backend-optimization-failure.cpp . llvm-svn: 230929
* Fix ObjCInterfaceDecl::getCategoryMethod() and give it a caller. No behavior ↵Nico Weber2015-03-022-4/+3
| | | | | | change. llvm-svn: 230928
* Add another missing header that used to be included transitively.Benjamin Kramer2015-03-021-0/+1
| | | | llvm-svn: 230927
* llvm/examples: Add missing include according to r230907.NAKAMURA Takumi2015-03-027-0/+7
| | | | llvm-svn: 230926
* Add missing includes for make_unique, lld edition.Benjamin Kramer2015-03-0212-7/+14
| | | | llvm-svn: 230925
* [X86] Fix diassembler crash on AVX512 cmpps/cmppd with immediate that ↵Craig Topper2015-03-023-20/+30
| | | | | | doesn't fit in 5-bits. Fixes PR22743. llvm-svn: 230924
* [AArch64] fix an invalid-iterator-use bug.Sanjoy Das2015-03-021-2/+4
| | | | | | | | | | | | | | | | | | | | Summary: In AArch64PromoteConstant::appendAndTransferDominatedUses, `InsertPts[NewPt]` invalidates IPI. Therefore, `InsertPts[NewPt] = std::move(IPI->second)` is not legal. This was caught by running `make check` with http://reviews.llvm.org/D7931. Reviewers: t.p.northover, grosbach, bkramer Reviewed By: bkramer Subscribers: aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D7988 llvm-svn: 230923
* Fix a really bad typo in my last commit.Benjamin Kramer2015-03-011-1/+3
| | | | llvm-svn: 230922
* Revert some changes that were made to fix PR20680.Sanjoy Das2015-03-014-61/+17
| | | | | | | | | | | | | | | | | | | | | | | Summary: As far as I can tell, the real bug causing the issue was fixed in r230533. SCEVExpander should mark an increment operation as nuw or nsw only if it can *prove* that the operation does not overflow. There shouldn't be any situation where we have to do something different because of no-wrap flags generated by SCEVExpander. Revert "IndVarSimplify: Allow LFTR to fire more often" This reverts commit 1ade0f0faa98877b688e0b9da58e876052c1e04e (SVN: 222213). Revert "IndVarSimplify: Don't let LFTR compare against a poison value" This reverts commit c0f2b8b528d8a37b0a1522aae90af649d6357eb5 (SVN: 217102). Reviewers: majnemer, atrick, spatel Differential Revision: http://reviews.llvm.org/D7979 llvm-svn: 230921
* ArrayRef: Put back std::equal for operator== with a check for the empty ↵Benjamin Kramer2015-03-011-8/+2
| | | | | | | | | | | | | | | | ArrayRefs This has the nice property of compiling down to memcmp when feasible. An empty ArrayRef can have a nullptr in its Data field. I didn't find anything in the standard speaking against std::equal(nullptr, nullptr, nullptr) begin valid but MSVC asserts. The way libstdc++ lowers std::equal down to memcmp also makes invoking std::equal with a nullptr undefined behavior so checking is the only way to be safe. The extra check doesn't cost us perf either because we're essentially peeling the loop header away from the rotated loop. llvm-svn: 230920
* Linux - debugging of local processes via lldb-gdbserverVince Harron2015-03-012-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lldb calling the ptrace APIs directly, it launches an llgs instance and communicates with it via the remote debug protocol. This has two advantages. There is more code shared between the remote debugging code path and the local debugging code path. If a feature works in remote, it probably works locally and vice-versa. It makes us more architecturally similar to OSX (which also does local debugging via a connection to debugserver). This path is called LLGS local. We think that this configuration is now at parity with (or better than) local linux debugging. It is currently invoked if you have an environment variable defined "PLATFORM_LINUX_FORCE_LLGS_LOCAL" We would like to switch to LLGS local as the default path and only use the non-LLGS path if someone has an environment variable defined "PLATFORM_LINUX_DISABLE_LLGS_LOCAL" Later, if all goes well, we would like to remove non-LLGS local debugging support to simplify the codebase and avoid confusion. llvm-svn: 230919
* Another missing include for MSVC.Benjamin Kramer2015-03-011-0/+1
| | | | llvm-svn: 230918
* DebugInfo: Give externally defined types a size and alignment wherePeter Collingbourne2015-03-012-1/+17
| | | | | | possible. Fixes PR22736. llvm-svn: 230914
* std::function is part of <functional>, not <utility>Benjamin Kramer2015-03-011-1/+1
| | | | llvm-svn: 230913
* Add another missing include for MSVC.Benjamin Kramer2015-03-011-0/+1
| | | | llvm-svn: 230912
* X86: Replace variadic function with init list. NFC.Benjamin Kramer2015-03-011-32/+27
| | | | llvm-svn: 230911
* Add missing include.Benjamin Kramer2015-03-016-0/+6
| | | | llvm-svn: 230910
OpenPOWER on IntegriCloud