summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR21189: Teach llvm-readobj to dump bits of COFF symbol subsections required ↵Timur Iskhodzhanov2014-10-233-19/+164
| | | | | | | | | to debug using VS2012+ Reviewed at http://reviews.llvm.org/D5755 Thanks to Andrey Guskov for his help investigating this! llvm-svn: 220526
* Driver: Include driver diagnostics when we --serialize-diagnosticsJustin Bogner2014-10-238-31/+277
| | | | | | | | | | | | | | | Currently, when --serialize-diagnostics is passed this only includes the diagnostics from clang -cc1, and driver diagnostics are dropped. This causes issues for tools that use the serialized diagnostics, since stderr is lost and these diagnostics aren't seen at all. We handle this by merging the diagnostics from the CC1 process and the driver diagnostics into a single file when the driver invokes CC1. Fixes rdar://problem/10585062 llvm-svn: 220525
* [modules] Simplify reading of INPUT_FILE_OFFSETS record and make it robust ↵Richard Smith2014-10-231-7/+7
| | | | | | against changes to record order. llvm-svn: 220524
* Cmake variables are global, which is why we would get crud like /machine:X86 ↵Aaron Ballman2014-10-231-0/+2
| | | | | | in the list of compiler options for MSVC. Clear out the variable before attempting to enumerate arguments and set them. llvm-svn: 220522
* Factor out common checks from module map deserialization. No functionality ↵Richard Smith2014-10-231-110/+17
| | | | | | change. llvm-svn: 220521
* DebugInfo: Sink DwarfDebug::addNonArgumentScopeVariable into DwarfFile.David Blaikie2014-10-234-35/+35
| | | | llvm-svn: 220520
* Appeasing an MSVC compile warning about "and"; NFC.Aaron Ballman2014-10-231-1/+1
| | | | llvm-svn: 220519
* MachODump.cpp: fix MSVC buildHans Wennborg2014-10-231-4/+4
| | | | llvm-svn: 220518
* Do not set linker flags for MSVC; they are not the same thing as compiler ↵Aaron Ballman2014-10-231-2/+6
| | | | | | flags. Note, this is already done in the add_compiler_rt_test test_suite function. llvm-svn: 220517
* [X86] Improve mul w/ overflow codegen, to MUL8+SETO.Ahmed Bougacha2014-10-235-42/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, @llvm.smul.with.overflow.i8 expands to 9 instructions, where 3 are really needed. This adds X86ISD::UMUL8/SMUL8 SD nodes, and custom lowers them to MUL8/IMUL8 + SETO. i8 is a special case because there is no two/three operand variants of (I)MUL8, so the first operand and return value need to go in AL/AX. Also, we can't write patterns for these instructions: TableGen refuses patterns where output operands don't match SDNode results. In this case, instructions where the output operand is an implicitly defined register. A related special case (and FIXME) exists for MUL8 (X86InstrArith.td): // FIXME: Used for 8-bit mul, ignore result upper 8 bits. // This probably ought to be moved to a def : Pat<> if the // syntax can be accepted. [(set AL, (mul AL, GR8:$src)), (implicit EFLAGS)] Ideally, these go away with UMUL8, but we still need to improve TableGen support of implicit operands in patterns. Before this change: movsbl %sil, %eax movsbl %dil, %ecx imull %eax, %ecx movb %cl, %al sarb $7, %al movzbl %al, %eax movzbl %ch, %esi cmpl %eax, %esi setne %al After: movb %dil, %al imulb %sil seto %al Also, remove a made-redundant testcase for PR19858, and enable more FastISel ALU-overflow tests for SelectionDAG too. Differential Revision: http://reviews.llvm.org/D5809 llvm-svn: 220516
* DebugInfo: Remove DwarfDebug::addCurrentFnArgument declaration now that it's ↵David Blaikie2014-10-231-4/+0
| | | | | | moved to DwarfFile. llvm-svn: 220515
* Handle sqrt() shrinking in SimplifyLibCalls like any other callSanjay Patel2014-10-233-47/+33
| | | | | | | | | | | | | | | | | This patch removes a chunk of special case logic for folding (float)sqrt((double)x) -> sqrtf(x) in InstCombineCasts and handles it in the mainstream path of SimplifyLibCalls. No functional change intended, but I loosened the restriction on the existing sqrt testcases to allow for this optimization even without unsafe-fp-math because that's the existing behavior. I also added a missing test case for not shrinking the llvm.sqrt.f64 intrinsic in case the result is used as a double. Differential Revision: http://reviews.llvm.org/D5919 llvm-svn: 220514
* This test case should not rely on stepping behavior because that might ↵Enrico Granata2014-10-232-13/+7
| | | | | | chance due to inlining. Set breakpoints where you want them instead. Fixes rdar://18724175 llvm-svn: 220513
* [libcxx] XFAIL all currently failing libc++ tests for linux.Eric Fiselier2014-10-2322-0/+71
| | | | | | | | | | | | | | | | | | Summary: Pretty please? We now have a significant number of builders that test libc++. I really want those builders to be green. Most of these failures are due to differences in locale data, including those in regex. I will continue working on fixing the locale and regex tests but there is no consensus on what the correct direction to go. Since the builders display a list of XFAIL tests they are by no means hidden. It just means they are expected failures. Now unexpected failures won't get mixed in with well known and expected failures. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5941 llvm-svn: 220512
* Fix a problem where an SBType was advertising its static type class even ↵Enrico Granata2014-10-233-1/+38
| | | | | | though a dynamic type was available. Solves rdar://18744420 llvm-svn: 220511
* Only link tests against -ldl on linuxEric Fiselier2014-10-231-1/+1
| | | | llvm-svn: 220510
* Only link the tests against -ldl on linuxEric Fiselier2014-10-231-1/+1
| | | | llvm-svn: 220509
* [PECOFF] Fix /nodefaultlib option.Rui Ueyama2014-10-232-2/+19
| | | | | | | /nodefaultlib argument is a path name, so that needs to be compared case-insensitive way. Also the ".lib" extension should be ignored. llvm-svn: 220508
* Disabling some MSVC warnings that are of questionable value. Note, these are ↵Aaron Ballman2014-10-232-1/+6
| | | | | | | | | disabled by default in LLVM as well, so there is precedence. C4146: 'unary minus operator applied to unsigned type, result still unsigned' C4291: ''declaration' : no matching operator delete found; memory will not be freed if initialization throws an exception' C4800: ''type' : forcing value to bool 'true' or 'false' (performance warning)' llvm-svn: 220507
* Change all of the build flags to switch /MD and /MDd into /MT, instead of ↵Aaron Ballman2014-10-231-4/+9
| | | | | | just some of the targets. Fixes PR21241. llvm-svn: 220506
* clang-format: Fix incorrect space after "<".Daniel Jasper2014-10-232-3/+5
| | | | | | | | | | Before: bool a = 2 <::SomeFunction(); After: bool a = 2 < ::SomeFunction(); llvm-svn: 220505
* Change the name of the field BindTable to bindtable to not over lap the type.Kevin Enderby2014-10-231-9/+9
| | | | | | Should fix the build bot issues from commit r220500. llvm-svn: 220504
* Make llvm-go test dependency optional.Peter Collingbourne2014-10-231-1/+4
| | | | llvm-svn: 220503
* Remove code duplication and cut dependency from clangRewrite onDaniel Jasper2014-10-235-61/+12
| | | | | | clangAST. llvm-svn: 220502
* Make llvm-link behave a bit more like LTO.Rafael Espindola2014-10-231-13/+5
| | | | | | | | * Read modules lazily * Don't treat the first file specially, instead merge all inputs into an empty module. llvm-svn: 220501
* Update llvm-objdump’s Mach-O symbolizer code for Objective-C references.Kevin Enderby2014-10-235-46/+626
| | | | | | | This prints disassembly comments for Objective-C references to CFStrings, Selectors, Classes and method calls. llvm-svn: 220500
* Cleanup this test a bit.Rafael Espindola2014-10-231-5/+4
| | | | | | Use simpler names and remove unnecessary fields. llvm-svn: 220499
* Cleanup this test a bit.Rafael Espindola2014-10-232-8/+10
| | | | | | Use simpler names and remove unnecessary fields. llvm-svn: 220498
* DebugInfo: Simplify/tidy/correct global variable decl/def emission handling.David Blaikie2014-10-233-87/+53
| | | | | | | | | | | | | | | | | | | | | | | This fixes a bug (introduced by fixing the IR emitted from Clang where the definition of a static member would be scoped within the class, rather than within its lexical decl context) where the definition of a static variable would be placed inside a class. It also improves source fidelity by scoping static class member definitions inside the lexical decl context in which tehy are written (eg: namespace n { class foo { static int i; } int foo::i; } - the definition of 'i' will be within the namespace 'n' in the DWARF output now). Lastly, and the original goal, this reduces debug info size slightly (and makes debug info easier to read, etc) by placing the definitions of non-member global variables within their namespace, rather than using a separate namespace-scoped declaration along with a definition at global scope. Based on patches and discussion with Frédéric. llvm-svn: 220497
* patch to issue warning on comparing parameters withFariborz Jahanian2014-10-233-1/+64
| | | | | | | | nonnull attribute when comparison is always true/false. Patch by Steven Wu with few fixes and minor refactoring and adding tests by me. rdar://18712242 llvm-svn: 220496
* Make this test a bit stricter.Rafael Espindola2014-10-232-12/+22
| | | | | | | | This now: * Forces the linker to include the internal definition. * Checks the full output. llvm-svn: 220495
* Make this test a bit stricter.Rafael Espindola2014-10-232-6/+17
| | | | | | | | This now: * Forces the linker to include the internal definition. * Checks the full output. llvm-svn: 220494
* Add a "signature" to AST files to verify that they haven't changedBen Langmuir2014-10-2310-4/+128
| | | | | | | | | | | | | | | | | | | | | Since the order of the IDs in the AST file (e.g. DeclIDs, SelectorIDs) is not stable, it is not safe to load an AST file that depends on another AST file that has been rebuilt since the importer was built, even if "nothing changed". We previously used size and modtime to check this, but I've seen cases where a module rebuilt quickly enough to foil this check and caused very hard to debug build errors. To save cycles when we're loading the AST, we just generate a random nonce value and check that it hasn't changed when we load an imported module, rather than actually hash the whole file. This is slightly complicated by the fact that we need to verify the signature inside addModule, since we might otherwise consider that a mdoule is "OutOfDate" when really it is the importer that is out of date. I didn't see any regressions in module load time after this change. llvm-svn: 220493
* Revert "Don't count inreg params when mangling fastcall functions"Reid Kleckner2014-10-233-5/+2
| | | | | | | | | | This reverts commit r214981. I'm not sure what I was thinking when I wrote this. Testing with MSVC shows that this function is mangled to '@f@8': int __fastcall f(int a, int b); llvm-svn: 220492
* Add flag --enable-check-profile to clang-tidy.Samuel Benzaquen2014-10-235-5/+89
| | | | | | | | | | | | | | | Summary: Add flag --enable-check-profile to clang-tidy. It turns on per-matcher profiles in MatchFinder and prints a report to stderr at the end. Reviewers: alexfh Subscribers: curdeius, cfe-commits Differential Revision: http://reviews.llvm.org/D5937 llvm-svn: 220491
* Adding llvm-shlib to CMake build system with a few new bells and whistlesChris Bieneman2014-10-234-0/+116
| | | | | | | | | | | | | | | | | Summary: This patch adds a new CMake build setting LLVM_BUILD_LLVM_DYLIB, which defaults to OFF. When set to ON, this will generate a shared library containing most of LLVM. The contents of the shared library can be overriden by specifying LLVM_DYLIB_COMPONENTS. LLVM_DYLIB_COMPONENTS can be set to a semi-colon delimited list of any LLVM components that you llvm-config can resolve. On Windows, unless you are using Cygwin, you must specify an explicit symbol export file using LLVM_EXPORTED_SYMBOL_FILE. On Cygwin and all unix-like platforms if you do not specify LLVM_EXPORTED_SYMBOL_FILE, an export file containing only the LLVM C API will be auto-generated from the list of LLVM components specified in LLVM_DYLIB_COMPONENTS. Reviewers: rnk Reviewed By: rnk Subscribers: rnk, llvm-commits Differential Revision: http://reviews.llvm.org/D5890 llvm-svn: 220490
* Make headers available in the build directoryJustin Bogner2014-10-231-4/+13
| | | | | | | | | | This essentially re-does r194825 and makes it possible to run clang with libc++ without having to install it, even if you don't have any version of libc++ installed in /usr/. This behaviour broke in r210577/r211629, which fixed pr18681. llvm-svn: 220489
* DebugInfo: Correctly describe the lexical decl context of static member ↵David Blaikie2014-10-232-5/+22
| | | | | | | | | | | | | | | | | | variable definitions. The previous IR representation used the non-lexical decl context, which placed the definitions in the same scope as the declarations (ie: within the class) - this was hidden by the fact that LLVM currently doesn't respect the context of global variable definitions at all, and always puts them at the top level (as direct children of the compile_unit). Having the correct lexical scope improves source fidelity and simplify backend global variable emission (with changes coming shortly). Doing something similar for non-member global variables would help simplify/cleanup things further (see FIXME in the commit) and provide similar source fidelity benefits to the final debug info. llvm-svn: 220488
* Remove explicit (void) use of DwarfFile::DD that was accidentally left in ↵David Blaikie2014-10-231-3/+1
| | | | | | | | r220452. Caught in post-commit review by Frédéric. llvm-svn: 220487
* Do not emit intermediate register for zero FP immediateRenato Golin2014-10-232-0/+24
| | | | | | | | | | | | | | | | | This updates check for double precision zero floating point constant to allow use of instruction with immediate value rather than temporary register. Currently "a == 0.0", where "a" is of "double" type generates: vmov.i32 d16, #0x0 vcmpe.f64 d0, d16 With this change it becomes: vcmpe.f64 d0, #0 Patch by Sergey Dmitrouk. llvm-svn: 220486
* Disable dsym tests on !Darwin hostsEd Maste2014-10-231-0/+2
| | | | | | | | This was missing from r219984 llvm.org/pr21324 llvm-svn: 220485
* clang-format two code snippets to make the next patch easy to read.Rafael Espindola2014-10-232-5/+6
| | | | llvm-svn: 220484
* Add unittest for extreme alignments.Rafael Espindola2014-10-231-0/+23
| | | | llvm-svn: 220483
* Hexagon/Disassembler/LLVMBuild.txt: Update libdeps.NAKAMURA Takumi2014-10-231-1/+1
| | | | llvm-svn: 220482
* Hexagon/LLVMBuild.txt: Prune CRLF.NAKAMURA Takumi2014-10-232-30/+30
| | | | llvm-svn: 220481
* [CMake] Prune CRLF in CMakeLists.txt(s).NAKAMURA Takumi2014-10-233-36/+35
| | | | llvm-svn: 220480
* [CMake] Prune trailing whitespace.NAKAMURA Takumi2014-10-231-1/+1
| | | | llvm-svn: 220479
* Revert r220427, "[Hexagon] Adding encoding bits for add opcode."NAKAMURA Takumi2014-10-2314-232/+236
| | | | | | It brought cyclic dependecy between HexagonAsmPrinter and HexagonDesc. llvm-svn: 220478
* [mips][microMIPS] Implement ADDIUR1SP instructionZoran Jovanovic2014-10-237-0/+55
| | | | | | Differential Revision: http://reviews.llvm.org/D5153 llvm-svn: 220477
* ps][microMIPS] Implement ADDIUR2 instructionZoran Jovanovic2014-10-237-0/+61
| | | | | | Differential Revision: http://reviews.llvm.org/D5151 llvm-svn: 220476
OpenPOWER on IntegriCloud