summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make front-end debug info namespace test frontend-only & more specific ↵David Blaikie2013-03-201-8/+5
| | | | | | | | without overconstraining it The backend portion of this test will be committed to LLVM's test suite. llvm-svn: 177485
* [ELF][Hexagon] Add Hexagon dynamic relocationsShankar Easwaran2013-03-203-8/+152
| | | | llvm-svn: 177484
* [ELF] Interp section is only needed in dynamic executablesShankar Easwaran2013-03-202-9/+14
| | | | llvm-svn: 177483
* [ELF] Order .got.plt properlyShankar Easwaran2013-03-201-1/+4
| | | | llvm-svn: 177482
* Make sure that Module::ConfigMacrosExhaustive gets initialized and ↵Douglas Gregor2013-03-202-6/+10
| | | | | | | | | deserialized correctly. This fixes regressions introduced in r177466 that caused several module tests to fail sporadically. llvm-svn: 177481
* Teach statement / declaration disambiguation about C++11-style generalized ↵Richard Smith2013-03-202-7/+37
| | | | | | initializers. llvm-svn: 177480
* Remove the Tools DensMap from the toolchain.Rafael Espindola2013-03-205-167/+215
| | | | | | | | | | Each toolchain has a set of tools, but they are all of known types. It can have a linker, an assembler, a "clang" (compile, analyze, ...) a non-clang compiler, etc. Instead of keeping a map, just have member variable for each type of tool. llvm-svn: 177479
* Fix PR15296Michael Liao2013-03-202-119/+245
| | | | | | | - Move SRA/SRL/SHL lowering support from DAG combination to DAG lowering to support extended 256-bit integer in AVX but not AVX2. llvm-svn: 177478
* Mark all variable shifts needing customizingMichael Liao2013-03-201-28/+29
| | | | | | | - Prepare moving logic from DAG combining into DAG lowering. There's no functionality change. llvm-svn: 177477
* Move scalar immediate shift lowering into a dedicated funcMichael Liao2013-03-201-5/+20
| | | | | | - no functionality change llvm-svn: 177476
* The flag "-coverage-function-names-in-data" is actually backwards -- we doNick Lewycky2013-03-205-6/+13
| | | | | | | | | | emit function names in .gcda files by default, and the flag turns that off! Rename the flag to make it match what it actually does. This keeps the default format compatible with gcc 4.2. Also add a test for this flag. llvm-svn: 177475
* Fix test case regression on ARM & PPC introduced r177239David Blaikie2013-03-201-4/+6
| | | | llvm-svn: 177474
* Don't look outside the innermost enclosing namespace whenJohn McCall2013-03-202-0/+124
| | | | | | | | performing unqualified lookup for a friend class declaration. rdar://13393749 llvm-svn: 177473
* Fix AsmPrinter crashes with assertion. Bug 15318 in BugzillaHao Liu2013-03-201-4/+2
| | | | llvm-svn: 177472
* [ms-cxxabi] Fix assertion on unhandled function template arg typesReid Kleckner2013-03-201-49/+22
| | | | | | | | | | | | This code was changed in r158376 to get template argument source info for better diagnostics, but the current code asserts for any kind of unsupported template argument before it can issue a diagnostic. This change goes back to the Itanium implementation of isTemplate() and puts the argument index into the diagnostic instead of a source location. Review URL: http://llvm-reviews.chandlerc.com/D553 llvm-svn: 177471
* Make clang emit linkage names in debug info for subprograms when coverage infoNick Lewycky2013-03-206-3/+20
| | | | | | | is enabled. Also add a new -test-coverage cc1 flag which makes testing coverage possible and add our first clang-side coverage test. llvm-svn: 177470
* [analyzer] Re-apply "Do part of the work to find shortest bug paths up front".Jordan Rose2013-03-201-43/+126
| | | | | | | | | | With the assurance that the trimmed graph does not contain cycles, this patch is safe (with a few tweaks), and provides the performance boost it was intended to. Part of performance work for <rdar://problem/13433687>. llvm-svn: 177469
* [analyzer] Break cycles (optionally) when trimming an ExplodedGraph.Jordan Rose2013-03-203-4/+24
| | | | | | | | | Having a trimmed graph with no cycles (a DAG) is much more convenient for trying to find shortest paths, which is exactly what BugReporter needs to do. Part of the performance work for <rdar://problem/13433687>. llvm-svn: 177468
* Refactor the DIFile (2nd) parameter to DITypes to be an MDNode reference to ↵David Blaikie2013-03-2043-265/+261
| | | | | | | | | a raw directory/file pair This makes DIType's first non-tag parameter the same as DIFile's, allowing them to both share the common implementation of getFilename/getDirectory in DIScope. llvm-svn: 177467
* <rdar://problem/10796651> Introduce configuration macros into module maps.Douglas Gregor2013-03-2013-11/+283
| | | | | | | | | | | | | | | | | | | | | | Configuration macros are macros that are intended to alter how a module works, such that we need to build different module variants for different values of these macros. A module can declare its configuration macros, in which case we will complain if the definition of a configation macro on the command line (or lack thereof) differs from the current preprocessor state at the point where the module is imported. This should eliminate some surprises when enabling modules, because "#define CONFIG_MACRO ..." followed by "#include <module/header.h>" would silently ignore the CONFIG_MACRO setting. At least it will no longer be silent about it. Configuration macros are eventually intended to help reduce the number of module variants that need to be built. When the list of configuration macros for a module is exhaustive, we only need to consider the settings for those macros when building/finding the module, which can help isolate modules for various project-specific -D flags that should never affect how modules are build (but currently do). llvm-svn: 177466
* Propagate DAG node ordering during type legalization and instruction selectionJustin Holewinski2013-03-207-16/+120
| | | | | | | | A node's ordering is only propagated during legalization if (a) the new node does not have an ordering (is not a CSE'd node), or (b) the new node has an ordering that is higher than the node being legalized. llvm-svn: 177465
* Fix bug in test; found by AddressSanitizerMarshall Clow2013-03-201-1/+1
| | | | llvm-svn: 177464
* Fix pr13145 - Naming a function like a register name confuses the asm parser.Chad Rosier2013-03-192-14/+25
| | | | | | | Patch by Stepan Dyatkovskiy <stpworld@narod.ru> rdar://13457826 llvm-svn: 177463
* Move the DIFile operand to DITypes from the 4th operand to the 2nd.David Blaikie2013-03-1955-430/+402
| | | | | | | | This is another step along the way to making all DIScopes have a common prefix which can be added to in a general manner to support using directives (DW_TAG_imported_module). llvm-svn: 177462
* Annotate various null idioms with SchedRW lists.Jakob Stoklund Olesen2013-03-191-4/+4
| | | | llvm-svn: 177461
* Annotate SSE float conversions with SchedRW lists.Jakob Stoklund Olesen2013-03-191-60/+81
| | | | llvm-svn: 177460
* Annotate X86InstrCMovSetCC.td with SchedRW lists.Jakob Stoklund Olesen2013-03-191-4/+5
| | | | llvm-svn: 177459
* Formatting fixups.Eric Christopher2013-03-191-14/+14
| | | | llvm-svn: 177458
* Simplify/generalize some debug info test casesDavid Blaikie2013-03-1919-80/+78
| | | | | | | | | Mostly, try to depend on the annotation comments more so these tests are more legible, brief, and agnostic to schema changes in the future (sure, they're not agnostic to changes to the comment annotations but since they're easier to read they should be easier to update if that happens). llvm-svn: 177457
* Updated the IRExecutionUnit to keep local copiesSean Callanan2013-03-192-31/+38
| | | | | | | | | | | | | | | | of the data it writes down into the process even if the process doesn't exist. This will allow the IR interpreter to access static data allocated on the expression's behalf. Also cleaned up object ownership in the IRExecutionUnit so that allocations are created into the allocations vector. This avoids needless data copies. <rdar://problem/13424594> llvm-svn: 177456
* [analyzer] Add an integer version of the Circle tests in uninit-vals.m.Jordan Rose2013-03-191-4/+49
| | | | | | | | | A floating-point version is nice for testing unknown values, but it's good to be able to check all parts of the structure as well. Test change only, no functionality change. llvm-svn: 177455
* The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector ↵Enrico Granata2013-03-1912-837/+1961
| | | | | | | | and std::map as provided by libc++ are now written in C++ instead of Python std::deque is still in Python but is much less commonly used llvm-svn: 177454
* [analyzer] Do not believe lazy binding when symbolic region types do not matchAnna Zaks2013-03-193-11/+46
| | | | | | | | | | | This fixes a crash when analyzing LLVM that was exposed by r177220 (modeling of trivial copy/move assignment operators). When we look up a lazy binding for “Builder”, we see the direct binding of Loc at offset 0. Previously, we believed the binding, which led to a crash. Now, we do not believe it as the types do not match. llvm-svn: 177453
* Marshall Clow found this memory problem in strstream using ↵Howard Hinnant2013-03-191-0/+2
| | | | | | -fsanitize=address on the test suite. llvm-svn: 177452
* Dead code.Chad Rosier2013-03-191-2/+0
| | | | llvm-svn: 177451
* Dead code.Chad Rosier2013-03-191-6/+0
| | | | llvm-svn: 177450
* [analyzer] Add a test case for diagnostic suppression on a graph with cycles.Jordan Rose2013-03-191-0/+19
| | | | | | (see previous commit) llvm-svn: 177449
* Revert "[analyzer] Do part of the work to find shortest bug paths up front."Jordan Rose2013-03-191-115/+42
| | | | | | | | | | | | | The whole reason we were doing a BFS in the first place is because an ExplodedGraph can have cycles. Unfortunately, my removeErrorNode "update" doesn't work at all if there are cycles. I'd still like to be able to avoid doing the BFS every time, but I'll come back to it later. This reverts r177353 / 481fa5071c203bc8ba4f88d929780f8d0f8837ba. llvm-svn: 177448
* Mark TestChangeValueAPI.py as expected fail with gcc as it still reproduces.Matt Kopec2013-03-191-0/+1
| | | | llvm-svn: 177447
* [ms-inline asm] Move the immediate asm rewrite into the target specificChad Rosier2013-03-192-15/+5
| | | | | | | logic as a QOI cleanup. No functional change. Tests already in place. rdar://13456414 llvm-svn: 177446
* Update global merge pass according to Duncan's advices:Quentin Colombet2013-03-191-8/+7
| | | | | | | | - Remove useless includes - Change misleading comments - Move code into doFinalization llvm-svn: 177445
* ScopDetect: Remove some redundant semicolonsTobias Grosser2013-03-191-3/+3
| | | | llvm-svn: 177444
* This is an optimization which produces improved launching time. There ↵Howard Hinnant2013-03-192-20/+22
| | | | | | should be no functionality change. Clients should see no ABI differences. llvm-svn: 177443
* Annotate X86InstrCompiler.td with SchedRW lists.Jakob Stoklund Olesen2013-03-192-8/+13
| | | | | | | Add a new WriteZero SchedWrite type for the common dependency-breaking instructions that clear a register. llvm-svn: 177442
* Test case for r177439 and r177440.Chad Rosier2013-03-191-0/+13
| | | | llvm-svn: 177441
* [ms-inline asm] Remove the brackets from X86Operand in the IR. These will beChad Rosier2013-03-191-8/+19
| | | | | | | | | | | | | | | | | | | | added back in by X86AsmPrinter::printIntelMemReference() during codegen. Previously, this following example void t() { int i; __asm mov eax, [i] } would generate the below assembly mov eax, dword ptr [[eax]] which resulted in a fatal error when compiling. Test case coming on the clang side. rdar://13444264 llvm-svn: 177440
* [ms-inline asm] Create a helper function, CreateMemForInlineAsm, that createsChad Rosier2013-03-191-36/+49
| | | | | | | | | | an X86Operand, but also performs a Sema lookup and adds the sizing directive when appropriate. Use this when parsing a bracketed statement. This is necessary to get the instruction matching correct as well. Test case coming on clang side. rdar://13455408 llvm-svn: 177439
* IndependentBlocks: Add a couple of test cases.Tobias Grosser2013-03-193-0/+160
| | | | llvm-svn: 177438
* Register the GCOV writeout functions so that they're emitted serially.Bill Wendling2013-03-191-10/+31
| | | | | | | | | We don't want to write out >1000 files at the same time. That could make things prohibitively expensive. Instead, register the "writeout" function so that it's emitted serially. <rdar://problem/12439551> llvm-svn: 177437
* Add a way to register and execute "writeout" functions.Bill Wendling2013-03-191-0/+45
| | | | | | | | | | It may be prohibitively expensive to write out >1000 files at the same time. So we would rather emit them serially. These functions allow the GCOV implementation to register the functions that writeout the GCOV information per compile unit. At exit, they are written. <rdar://problem/12439551> llvm-svn: 177436
OpenPOWER on IntegriCloud