summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Move unconditional test compile and link flags into their configuration ↵Eric Fiselier2014-12-201-2/+4
| | | | | | functions. llvm-svn: 224674
* Simplify the codeDavid Majnemer2014-12-201-41/+25
| | | | | | No functionality change intended. llvm-svn: 224673
* Split executeShTest into two parts so that it can be better leveraged by libc++Eric Fiselier2014-12-201-13/+18
| | | | llvm-svn: 224672
* [libcxx] Teach libcxx's lit configuration new ways to find lit.site.cfgEric Fiselier2014-12-205-10/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently to run tests in tree you need to symlink the lit.site.cfg file generated by the cmake build into the source tree, and teach your VCS to ignore it. This allows the user to specify where to find the lit.site.cfg file two different ways: * lit_site_config lit parameter * LIT_SITE_CONFIG enviroment variable. example usage: ``` lit -sv --param=libcxx_site_config=path/to/libcxx-build/test/lit.site.cfg path/to/tests ``` Or ``` export LIBCXX_SITE_CONFIG=path/to/libcxx-build/test/lit.site.cfg lit -sv path/to/tests ``` The command line parameter will override the environment variable. If neither options are present a warning is issued and the `lit.cfg` file is loaded directly. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: ddunbar, cfe-commits Differential Revision: http://reviews.llvm.org/D6255 llvm-svn: 224671
* Re-enable compact unwind use on Mac platforms.Jason Molenda2014-12-202-17/+39
| | | | | | | | | When lldb has a binary with protected section contents, don't use the on-disk representation of that compact uwnind -- read it only out of live memory where it has been decrypted. llvm-svn: 224670
* InstSimplify: Optimize away pointless comparisonsDavid Majnemer2014-12-203-2/+121
| | | | | | | | | (X & INT_MIN) ? X & INT_MAX : X into X & INT_MAX (X & INT_MIN) ? X : X & INT_MAX into X (X & INT_MIN) ? X | INT_MIN : X into X (X & INT_MIN) ? X : X | INT_MIN into X | INT_MIN llvm-svn: 224669
* Fix a bunch of integer template argument problems in template type diffing.Richard Trieu2014-12-201-20/+10
| | | | | | | | | | | | | Reverts most of the changes from r168005. Since template arguments have proper conversions now, no extending of integers is needed. Further, since the integers are the correct size now, use APSInt::operator== instead of APSInt::hasSameValue since operator== will check the size and signness match. Prior to one comparison of APSInt's, check that both are valid. Previous, one could be uninitialized. Also changed APInt to APSInt in GetInt. This occassionally produced a sign flip, which will now be caught by operator==. llvm-svn: 224668
* Fix for PR21758Richard Trieu2014-12-203-1/+25
| | | | | | | | | When a non-type template argument expression needs a conversion to change it into the argument type, preserve that information by remaking the TemplateArgument with an expression that has those conversions. Also a small fix to template type diffing to handle the extra conversions in some cases. llvm-svn: 224667
* [SROA] Run clang-format over the entire SROA pass as I wrote it beforeChandler Carruth2014-12-201-157/+138
| | | | | | | | | | | | much of the glory of clang-format, and now any time I touch it I risk introducing formatting changes as part of a functional commit. Also, clang-format is *way* better at formatting my code than I am. Most of this is a huge improvement although I reverted a couple of places where I hit a clang-format bug with lambdas that has been filed but not (fully) fixed. llvm-svn: 224666
* [x86] Change the test added in r223774 to first check the spelling ofChandler Carruth2014-12-201-26/+33
| | | | | | | | | | | | | | | the error message for a bogus processor, and then look specifically for that error message using FileCheck. I actually tried to write the test this way at first, but drew a blank on how to ensure the error message stayed in sync (oops). Now that I've recalled how to do that, this is clearly better. It also fixes an issue with a malloc implementation that actually prints to stderr in all cases, which was causing problems for some builders it seems. llvm-svn: 224665
* LiveIntervalAnalysis: No kill flags for partially undefined uses.Matthias Braun2014-12-201-24/+68
| | | | | | | | | We must not add kill flags when reading a vreg with some undefined subregisters, if subreg liveness tracking is enabled. This is because the register allocator may reuse these undefined subregisters for other values which are not killed. llvm-svn: 224664
* LiveIntervalAnalysis: cleanup addKills(), NFCMatthias Braun2014-12-201-19/+18
| | | | | | | | - Use more const modifiers - Use references for things that can't be nullptr - Improve some variable names llvm-svn: 224663
* Removing an outdated FIXME; try block attributes are parsed with the rest of ↵Aaron Ballman2014-12-201-1/+0
| | | | | | the statement attributes (as per the standard), and function-try-blocks may not have attributes. NFC. llvm-svn: 224662
* Unbreak cmake build with shared libraries enabled.Matthias Braun2014-12-201-0/+1
| | | | llvm-svn: 224661
* [sanitizer] fix a performance regression in sanitizer coverage: move a small ↵Kostya Serebryany2014-12-203-19/+21
| | | | | | perf-critical function to a header. ALso set the coverage guard to 1 before the early return from CoverageData::Add llvm-svn: 224660
* Cleanup some redundant codeEnrico Granata2014-12-201-3/+1
| | | | llvm-svn: 224659
* Move test into test/std subdirectory.Eric Fiselier2014-12-204817-0/+13
| | | | llvm-svn: 224658
* [libunwind] improve x86_64 comments in compact_unwind_encoding.hNick Kledzik2014-12-201-3/+7
| | | | llvm-svn: 224657
* [libunwind] fix comment in compact_unwind_encoding.hNick Kledzik2014-12-201-1/+1
| | | | llvm-svn: 224656
* Remove unused variable and initialization.Eric Christopher2014-12-201-4/+1
| | | | llvm-svn: 224655
* Driver: hoist an assertionSaleem Abdulrasool2014-12-191-10/+4
| | | | | | | Remove an unnecessary conditional, hoisting the assertion. Minor style tweaks/reflowing. NFC. llvm-svn: 224654
* Driver: refactor a local variableSaleem Abdulrasool2014-12-191-10/+10
| | | | | | | Pull out a getToolChain() into a local variable to share the call across to all the uses. NFC. llvm-svn: 224653
* No need to call SetErrorToErrno when pipe2 succeeds.Oleksiy Vyalov2014-12-191-3/+0
| | | | | | http://reviews.llvm.org/D6743 llvm-svn: 224652
* Don't drop attributes when checking explicit specializations.Nico Weber2014-12-193-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider a template class with attributes on a method, and an explicit specialization of that method: template <int> struct A { void foo() final; }; template <> void A<0>::foo() {} In this example, the attribute is `final`, but it might also be an __attribute__((visibility("foo"))), noreturn, inline, etc. clang's current behavior is to strip all attributes, which for some attributes is wrong (the snippet above allows a subclass of A<0> to override the final method, for example) and for others disagrees with gcc. So stop dropping attributes. r95845 added this code without a test case, and r176728 added the code for dropping attributes on parameters (with tests, but they still pass). As an additional wrinkle, do drop dllimport and dllexport, since that's how these two attributes work. (This is covered by existing tests.) Fixes PR21942. The approach is by Richard Smith, initial analysis and typing was done by me. With this, clang also matches GCC and EDG on all attributes Richard tested. llvm-svn: 224651
* Remove unused variable, initializer, and accessor.Eric Christopher2014-12-192-10/+4
| | | | llvm-svn: 224650
* Tweak the assert in ModuleBuilder from r224533 (PR21989)Hans Wennborg2014-12-192-2/+12
| | | | | | | Turns out there will be left-over deferred inline methods if there have been errors, because in that case HandleTopLevelDecl bails out early. llvm-svn: 224649
* R600: Remove outdated commentMatt Arsenault2014-12-191-4/+0
| | | | llvm-svn: 224648
* Masked load and store codegen - fixed 128-bit vectorsElena Demikhovsky2014-12-194-28/+149
| | | | | | | The codegen failed on 128-bit types on AVX2. I added patterns and in td files and tests. llvm-svn: 224647
* R600/SI: Only form min/max with 1 use.Matt Arsenault2014-12-194-1/+70
| | | | | | | If the condition is used for something else, this increases the number of instructions. llvm-svn: 224646
* [sanitizer] initialize two flas in SetCommonFlagsDefaultsKostya Serebryany2014-12-191-0/+2
| | | | llvm-svn: 224645
* [TestEvents] Replace expectedFailureLinux with skipIfLinuxSiva Chandra2014-12-191-2/+5
| | | | | | | | | | | | | | | | | | | | | Summary: If we do not mark them as skip, they are still executed, which in turn is leading to an assertion failure. The change also adds skipIfLinux to a testlet which was not previously marked with skipIfLinux. This is because running even that test let leads to an assertion failure. Test Plan: dotest.py -C clang -p TestEvents.py Reviewers: vharron Reviewed By: vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6715 llvm-svn: 224644
* [TestStaticVariables] Mark the one unmarked test let also expectedFailure.Siva Chandra2014-12-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The test is question here is already annotated with @expectedFailureDarwin(9980907). This change also removes an uneccessary (and probably wrong) logic of byssing few asserts if the compiler is not clang or llvm-gcc. Both GCC and Clang emit incomplete debug info. Clang emits this: < 1><0x00000026> DW_TAG_class_type DW_AT_name "A" DW_AT_byte_size 0x00000001 DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001b < 2><0x0000002e> DW_TAG_member DW_AT_name "g_points" DW_AT_type <0x0000003b> DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001e DW_AT_external yes(1) DW_AT_declaration yes(1) DW_AT_accessibility DW_ACCESS_public < 1><0x0000003b> DW_TAG_array_type DW_AT_type <0x00000046> < 2><0x00000040> DW_TAG_subrange_type DW_AT_type <0x0000007b> Notice that the DIE at 0x40 does not specify an upperbound. This is with Clang-3.5 and Clang ToT. GCC emits this: < 1><0x000000aa> DW_TAG_class_type DW_AT_name "A" DW_AT_byte_size 0x00000001 DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001b DW_AT_sibling <0x000000c1> < 2><0x000000b4> DW_TAG_member DW_AT_name "g_points" DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001e DW_AT_type <0x000000c1> DW_AT_external yes(1) DW_AT_accessibility DW_ACCESS_public DW_AT_declaration yes(1) < 1><0x000000c1> DW_TAG_array_type DW_AT_type <0x0000007e> DW_AT_sibling <0x000000cc> < 2><0x000000ca> DW_TAG_subrange_type The DIE at 0xca is missing attributes. This is with gcc-4.8.2. Test Plan: dotest.py -C clang -P TestStaticVariables.py Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6713 llvm-svn: 224643
* [TestCompletion] Spawn LLDB with '--no-use-colors'.Siva Chandra2014-12-191-1/+2
| | | | | | | | | | | | | | | | | | | Summary: TestCompletion was broken for Ubuntu (and probably for Debian also). The issue was that the lldb prompt in color (which is the default behavior) was confusing pexpect. Test Plan: "http://199.223.233.39:8011/lldb-try-clang-build-clang-test/" Reviewers: zturner, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6671 llvm-svn: 224642
* EH: Sink computation of local PadMap variable into function that uses itReid Kleckner2014-12-192-17/+15
| | | | | | No functionality change. llvm-svn: 224635
* [LIT] Add JSONMetricValue type to wrap types supported by the json encoder.Eric Fiselier2014-12-191-0/+36
| | | | | | | | | | | | | | | | | | | | | | Summary: The following types can be encoded and decoded by the json library: `dict`, `list`, `tuple`, `str`, `unicode`, `int`, `long`, `float`, `bool`, `NoneType`. `JSONMetricValue` can be constructed with any of these types, and used as part of Test.Result. This patch also adds a toMetricValue function that converts a value into a MetricValue. Reviewers: ddunbar, EricWF Reviewed By: EricWF Subscribers: cfe-commits, llvm-commits Differential Revision: http://reviews.llvm.org/D6576 llvm-svn: 224628
* Add printing the LC_ROUTINES load commands with llvm-objdump’s ↵Kevin Enderby2014-12-196-0/+94
| | | | | | -private-headers. llvm-svn: 224627
* [libcxx] Add <experimental/type_traits> for LFTSEric Fiselier2014-12-198-0/+1368
| | | | | | | | | | | | | | | | Summary: This adds the <experimental/type_traits> (minus invocation traits). Mostly just the `_v` traits. Reviewers: K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5742 llvm-svn: 224626
* Add the ExceptionHandling::MSVC enumerationReid Kleckner2014-12-1910-17/+25
| | | | | | | | | | | | | | | It is intended to be used for a family of personality functions that have similar IR preparation requirements. Typically when interoperating with MSVC personality functions, bits of functionality need to be outlined from the main function into helper functions. There is also usually more than one landing pad per invoke, which does not match the LLVM IR landingpad representation. None of this is implemented yet. This change just adds a new enum that is active for *-windows-msvc and delegates to the EH removal preparation pass. No functionality change for other targets. llvm-svn: 224625
* Model sqrtss as a binary operation with one source operand tied to the ↵Sanjay Patel2014-12-192-63/+50
| | | | | | | | | | | destination (PR14221) This is a continuation of r167064 ( http://llvm.org/viewvc/llvm-project?view=revision&revision=167064 ). That patch started to fix PR14221 ( http://llvm.org/bugs/show_bug.cgi?id=14221 ), but it was not completed. Differential Revision: http://reviews.llvm.org/D6330 llvm-svn: 224624
* R600/SI: isLegalOperand() shouldn't check constant bus for SALU instructionsTom Stellard2014-12-191-1/+1
| | | | | | | The constant bus restrictions only apply to VALU instructions. This enables SIFoldOperands to fold immediates into SALU instructions. llvm-svn: 224623
* R600/SI: Make sure non-inline constants aren't folded into mubuf soffset operandTom Stellard2014-12-195-17/+64
| | | | | | | | mubuf instructions now define the soffset field using the SCSrc_32 register class which indicates that only SGPRs and inline constants are allowed. llvm-svn: 224622
* Remove isSubroutineType test for isCompositeType, getTag() is enough.Yaron Keren2014-12-191-1/+1
| | | | llvm-svn: 224621
* DR1048: drop top-level cv-qualifiers when deducing the return type of aRichard Smith2014-12-196-12/+34
| | | | | | lambda-expression in C++11, to match the C++14 rules. llvm-svn: 224620
* Update SmallPtrSet::insert's doc comment to match the new return typeDavid Blaikie2014-12-191-2/+4
| | | | llvm-svn: 224619
* Remove unneeded configuration code.Eric Fiselier2014-12-191-12/+4
| | | | llvm-svn: 224618
* [Sanitizer] Refactor CommonFlags interface. NFC.Alexey Samsonov2014-12-1910-96/+125
| | | | | | | | | | Add CommonFlags::SetDefaults() and CommonFlags::ParseFromString(), so that this object can be easily tested. Enforce that ParseCommonFlagsFromString() and SetCommonFlagsDefaults() work only with singleton CommonFlags, shared across all sanitizer runtimes. llvm-svn: 224617
* Add printing the LC_SUB_CLIENT load command with llvm-objdump’s ↵Kevin Enderby2014-12-196-0/+38
| | | | | | -private-headers. llvm-svn: 224616
* CodeGen: do not attempt to invalidate virtual registers for zero-sized phis.Peter Collingbourne2014-12-192-0/+22
| | | | llvm-svn: 224615
* [ASan] Change activation strategy.Alexey Samsonov2014-12-197-36/+59
| | | | | | | | | | | Now ASan deactivation doesn't modify common or ASan-specific runtime flags. Flags stay constant after initialization, and "deactivation" instead stashes initialized runtime state, and deactivates the runtime. Activation then just restores the original state (possibly, overriden by some activation flags provided in system property on Android). llvm-svn: 224614
* [Sanitizer] Make Quarantine::Init slightly safer.Alexey Samsonov2014-12-191-6/+10
| | | | | | | ASan Quarantine can be reinitialized at activation/deactivation. Make max_size_/min_size_ atomic. llvm-svn: 224613
OpenPOWER on IntegriCloud