summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Orc] Refactor the compile-on-demand layer to make module partitioning lazy,Lang Hames2015-05-049-543/+568
| | | | | | | | | | | | | | | and avoid cloning unused decls into every partition. Module partitioning showed up as a source of significant overhead when I profiled some trivial test cases. Avoiding the overhead of partitionging for uncalled functions helps to mitigate this. This change also means that it is no longer necessary to have a LazyEmittingLayer underneath the CompileOnDemand layer, since the CompileOnDemandLayer will not extract or emit function bodies until they are called. llvm-svn: 236465
* Vim: Fix some bugs in llvm indent plugin.Matthias Braun2015-05-041-3/+3
| | | | llvm-svn: 236464
* Vim: Set filetype=python for lit configuration files.Matthias Braun2015-05-041-0/+1
| | | | llvm-svn: 236463
* Document some of the options in test/lit.cfgMatthias Braun2015-05-041-0/+19
| | | | llvm-svn: 236462
* Lit: Allow overriding llvm tool paths+arguments, make -D an alias for --paramMatthias Braun2015-05-043-4/+8
| | | | | | | | | | | These changes allow usages where you want to pass an additional commandline option to all invocations of a specific llvm tool. Example: > llvm-lit -Dllc=llc -enable-misched -verify-machineinstrs Differential Revision: http://reviews.llvm.org/D9487 llvm-svn: 236461
* zap windows line endings; NFCSanjay Patel2015-05-041-2/+2
| | | | llvm-svn: 236460
* [clang-fuzzer] make clang-fuzzer slightly faster by removing one redundant ↵Kostya Serebryany2015-05-041-2/+2
| | | | | | directory scan llvm-svn: 236459
* Update MSVC compatibility doc note about exceptionsReid Kleckner2015-05-041-3/+10
| | | | llvm-svn: 236458
* CodeGen: match up correct insertvalue indices when assessing tail calls.Tim Northover2015-05-042-1/+21
| | | | | | | | | | | | When deciding whether a value comes from the aggregate or inserted value of an insertvalue instruction, we compare the indices against those of the location we're interested in. One of the lists needs reversing because the input data is backwards (so that modifications take place at the end of the SmallVector), but we were reversing both before leading to incorrect results. Should fix PR23408 llvm-svn: 236457
* YAML: Add an optional 'flow' field to the mapping trait to allow flow ↵Alex Lorenz2015-05-044-11/+195
| | | | | | | | | | | | | mapping output. This patch adds an optional 'flow' field to the MappingTrait class so that yaml IO will be able to output flow mappings. Reviewers: Justin Bogner Differential Revision: http://reviews.llvm.org/D9450 llvm-svn: 236456
* Respect object format choice on DarwinKeno Fischer2015-05-042-1/+11
| | | | | | | | | | | | | | | Summary: The object format can be set to something other than MachO, e.g. to use ELF-on-Darwin for MCJIT. This already works on Windows, so there's no reason it shouldn't on Darwin. Reviewers: lhames, grosbach Subscribers: rafael, grosbach, t.p.northover, llvm-commits Differential Revision: http://reviews.llvm.org/D6185 llvm-svn: 236455
* [modules] Don't bother registering loaded macros if there are none.Richard Smith2015-05-041-1/+2
| | | | | | We don't yet have a reduced testcase for this. llvm-svn: 236454
* R600: Add fma and ldexp asic specific feature macrosJan Vesely2015-05-041-1/+17
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 236453
* [ValueObject] Do not return address of eValueTypeHostAddress values.Siva Chandra2015-05-042-4/+5
| | | | | | | | | | | | | | | | | | Summary: This fixes TestRegisterVariables for clang and hence it is enabled in this commit. Test Plan: dotest.py -C clang -p TestRegisterVariables Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9421 llvm-svn: 236447
* Fix Windows coverage test with lit shellReid Kleckner2015-05-041-1/+1
| | | | llvm-svn: 236446
* [MS ABI] Fix a crash in vptr path calculationDavid Majnemer2015-05-043-112/+181
| | | | | | | | | | | | | I discovered a case where the old algorithm would crash. Instead of trying to patch the algorithm, rewrite it. The new algorithm operates in three phases: 1. Find all paths to the subobject with the vptr. 2. Remove paths which are subsets of other paths. 3. Select the best path where 'best' is defined as introducing the most covariant overriders. If two paths introduce different overriders, raise a diagnostic. llvm-svn: 236444
* Add language command and LanguageRuntime plugin changes to allow vending of ↵Colin Riley2015-05-049-2/+141
| | | | | | | | command objects. Differential Revision: http://reviews.llvm.org/D9402 llvm-svn: 236443
* Fix -Wmicrosoft warning by making enum unsignedReid Kleckner2015-05-041-1/+1
| | | | llvm-svn: 236436
* [IR/Diagnostic] Assert that DebugLoc is valid before accessing.Davide Italiano2015-05-041-0/+1
| | | | | | | | PR: 23380 Differential Revision: http://reviews.llvm.org/D9464 Reviewed by: dexonsmith llvm-svn: 236435
* Option parsing: properly handle flag aliases for joined options (PR23394)Hans Wennborg2015-05-043-0/+21
| | | | | | | | | A joined option always needs to have an argument, even if it's an empty one. Clang would previously assert when trying to use --extra-warnings, which is a flag alias for -W, which is a joined option. llvm-svn: 236434
* [SystemZ] Reclassify f32 subregs of f64 registersUlrich Weigand2015-05-043-6/+8
| | | | | | | | | | | | | | | | | | | | | At the moment, all subregs defined by the SystemZ target can be modified independently of the wider register. E.g. writing to a GR32 does not change the upper 32 bits of the GR64. Writing to an FP32 does not change the lower 32 bits of the FP64. Hoewver, the upcoming support for the vector extension redefines FP64 as one half of a V128. Floating-point operations leave the other half of a V128 in an unpredictable state, so it's no longer the case that writing to an FP32 leaves the bits of the underlying register (the V128) alone. I'd prefer to have separate subreg_ names for this situation, so that it's obvious at a glance whether we're talking about a subreg that leaves the other parts of the register alone. No behavioral change intended. Patch originally by Richard Sandiford. llvm-svn: 236433
* [SystemZ] Clean up AsmParser isMem() handlingUlrich Weigand2015-05-041-35/+41
| | | | | | | | | | | | We know what MemoryKind an operand has at the time we construct it, so we might as well just record it in an unused part of the structure. This makes it easier to add scatter/gather addresses later. No behavioral change intended. Patch originally by Richard Sandiford. llvm-svn: 236432
* Get rid of compiler warning.Serge Pavlov2015-05-041-1/+1
| | | | llvm-svn: 236431
* [SystemZ] Fix getTargetNodeNameUlrich Weigand2015-05-041-1/+5
| | | | | | | | It seems SystemZTargetLowering::getTargetNodeName got out of sync with some recent changes to the SystemZISD opcode list. Add back all the missing opcodes (and re-sort to the same order as SystemISelLowering.h). llvm-svn: 236430
* Fix a typo in the warning.Jim Ingham2015-05-041-1/+1
| | | | | | <rdar://problem/20799707> llvm-svn: 236429
* ScheduleDAGInstrs should toggle kill flags on bundled instrs.Pete Cooper2015-05-041-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | ScheduleDAGInstrs wasn't setting or clearing the kill flags on instructions inside bundles. This led to code such as this %R3<def> = t2ANDrr %R0 BUNDLE %ITSTATE<imp-def,dead>, %R0<imp-use,kill> t2IT 1, 24, %ITSTATE<imp-def> R6<def,tied6> = t2ORRrr %R0<kill>, ... being transformed to BUNDLE %ITSTATE<imp-def,dead>, %R0<imp-use> t2IT 1, 24, %ITSTATE<imp-def> R6<def,tied6> = t2ORRrr %R0<kill>, ... %R3<def> = t2ANDrr %R0<kill> where the kill flag was removed from the BUNDLE instruction, but not the t2ORRrr inside it. The verifier then thought that R0 was undefined when read by the AND. This change make the toggleKillFlags method also check for bundles and toggle flags on bundled instructions. Setting the kill flag is special cased as we only want to set the kill flag on the last instruction in the bundle. llvm-svn: 236428
* R600/SI: Code cleanupTom Stellard2015-05-041-3/+2
| | | | | | This is a follow-up to r236004 llvm-svn: 236427
* Instantiate incomplete class used in template method.Serge Pavlov2015-05-043-0/+142
| | | | | | | | | | | If a class is absent from instantiation and is incomplete, instantiate it as an incomplete class thus avoiding compiler crash. This change fixes PR18653. Differential Revision: http://reviews.llvm.org/D8281 llvm-svn: 236426
* Mark TestTypedefArray as XFAIL with Gcc.Oleksiy Vyalov2015-05-041-1/+2
| | | | llvm-svn: 236425
* Reapply "Frontend: Stop leaking when not -disable-free"Duncan P. N. Exon Smith2015-05-041-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r236422, effectively reapplying r236419. ASan helped me diagnose the problem: the non-leaking logic would free the ASTConsumer before freeing Sema whenever `isCurrentASTFile()`, causing a use-after-free in `Sema::~Sema()`. This version unconditionally frees Sema and the ASTContext before freeing the ASTConsumer. Without the fix, these were either being freed before the ASTConsumer was freed or leaked after, but they were always spiritually released so this isn't really a functionality change. I ran all of check-clang with ASan locally this time, so I'm hoping there aren't any more problems lurking. Original commit message: Try again to plug a leak that's been around since at least r128011 after coming across the FIXME. Nico Weber tried something similar in r207065 but had to revert in r207070 due to a bot failure. The build failure isn't visible anymore so I'm not sure what went wrong. I'm doing this slightly differently -- when not -disable-free I'm still resetting the members (just not leaking them) -- so maybe it will work out this time? Tests pass locally, anyway. llvm-svn: 236424
* [analyzer] scan-build: support spaces in compiler path and arguments.Anton Yartsev2015-05-041-2/+2
| | | | | | This fixes errors that occur if a path to the default compiler has spaces or if an argument with spaces is given to compiler (e.g. via -I). (http://reviews.llvm.org/D9357) llvm-svn: 236423
* Revert "Frontend: Stop leaking when not -disable-free"Duncan P. N. Exon Smith2015-05-041-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r236419, since it caused some bots to fail. On: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/26124 http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/35086 these tests: FAIL: Clang::import-decl.cpp FAIL: Clang::floating-literal.c FAIL: Clang::x86_64-linux-android.c fail with this output: Command Output (stderr): -- Stack dump: 0. Program arguments: /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/Release+Asserts/bin/clang -cc1 -internal-isystem /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/Release+Asserts/bin/../lib/clang/3.7.0/include -nostdsysteminc -ast-print -x ast - /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/tools/clang/test/Modules/Output/import-decl.cpp.script: line 3: 9665 Segmentation fault (core dumped) /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/Release+Asserts/bin/clang -cc1 -internal-isystem /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/Release+Asserts/bin/../lib/clang/3.7.0/include -nostdsysteminc -ast-print -x ast - < /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/tools/clang/test/Modules/Output/import-decl.cpp.tmp.ast 9666 Done | /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.obj/Release+Asserts/bin/FileCheck /var/lib/buildbot/slaves/hexagon-build-03/clang-hexagon-elf/llvm.src/tools/clang/test/Modules/import-decl.cpp -- llvm-svn: 236422
* AVX-512: added a test for encodingElena Demikhovsky2015-05-041-0/+1155
| | | | | | by Asaf Badouh (asaf.badouh@intel.com) llvm-svn: 236421
* AVX-512: added calling convention for i1 vectors in 32-bit mode.Elena Demikhovsky2015-05-046-62/+105
| | | | | | | Fixed some bugs in extend/truncate for AVX-512 target. Removed VBROADCASTM (masked broadcast) node, since it is not used any more. llvm-svn: 236420
* Frontend: Stop leaking when not -disable-freeDuncan P. N. Exon Smith2015-05-041-6/+13
| | | | | | | | | | | | | Try again to plug a leak that's been around since at least r128011 after coming across the FIXME. Nico Weber tried something similar in r207065 but had to revert in r207070 due to a bot failure. The build failure isn't visible anymore so I'm not sure what went wrong. I'm doing this slightly differently -- when not -disable-free I'm still resetting the members (just not leaking them) -- so maybe it will work out this time? Tests pass locally, anyway. llvm-svn: 236419
* AVX-512: added integer "add" and "sub" instructions with saturation for SKXElena Demikhovsky2015-05-049-2/+4257
| | | | | | | | with intrinsics and tests by Asaf Badouh (asaf.badouh@intel.com) llvm-svn: 236418
* AVX-512: enabled tests for AVX512F setElena Demikhovsky2015-05-042-13/+10
| | | | llvm-svn: 236416
* clang-format: NFC: Delete FormatToken::IsForEachMacro. Use a TokenType instead.Daniel Jasper2015-05-044-17/+12
| | | | llvm-svn: 236415
* AVX-512: Added VPACK* instructions forms for KNL and SKXElena Demikhovsky2015-05-047-0/+2221
| | | | | | | and their intrinsics by Asaf Badouh (asaf.badouh@intel.com) llvm-svn: 236414
* clang-format: NFC: Use default member initializers and other cleanups.Daniel Jasper2015-05-041-71/+65
| | | | llvm-svn: 236413
* clang-format: Force aligning different brackets relative to each other.Daniel Jasper2015-05-044-5/+32
| | | | | | | | | | | | Before: void SomeFunction(vector< // break int> v); After: void SomeFunction(vector< // break int> v); llvm-svn: 236412
* [LLDB][MIPS] Emulate instruction using MCDisassemblerMohit K. Bhakkad2015-05-042-104/+312
| | | | | | | | | | | | | Patch by Jaydeep Patil EmulateInstructionMIPS64 has been modified to use llvm::MCDisassembler instead of duplicating the decoding logic. Added emulation of few branch instructions for software single stepping Reviewers: clayborg, jasonmolenda Subscribers: bhushan, mohit.bhakkad, sagar, lldb-commits. Differential Revision: http://reviews.llvm.org/D9319 llvm-svn: 236411
* TestCModules - fixed for gccVince Harron2015-05-042-2/+1
| | | | | | Changed restrict keyword to something understood by gcc llvm-svn: 236410
* Replace windows_error calls with mapWindowsError.Yaron Keren2015-05-042-34/+26
| | | | | | | | After r210687, windows_error does nothing but call mapWindowsError. Other Windows/*.inc files directly call mapWindowsError. This patch updates Path.inc and Process.inc to do the same. llvm-svn: 236409
* llvm-cov: Warn if object file is newer than profileJustin Bogner2015-05-041-0/+13
| | | | | | | Looking at coverage with an out of date profile can be confusing. Provide a little hint that something might be wrong. llvm-svn: 236408
* XFAILing a test that fails with gcc 4.9 x86_64Vince Harron2015-05-041-0/+1
| | | | llvm-svn: 236407
* Mention PPCallbacks interface change in release notes.Richard Smith2015-05-041-1/+3
| | | | llvm-svn: 236406
* Update to match clang r236404.Richard Smith2015-05-047-49/+69
| | | | llvm-svn: 236405
* Switch PPCallbacks to take the new MacroDefinition instead of ↵Richard Smith2015-05-0414-63/+55
| | | | | | MacroDirective*, in order to preserve full information on module macro expansion. llvm-svn: 236404
* un-skipped a bunch of tests on LinuxVince Harron2015-05-048-10/+11
| | | | | | | | | Some have been marked as skipIfLinux for years. The seem to be passing so I've enabled them. Differential Revision: http://reviews.llvm.org/D9428 llvm-svn: 236403
OpenPOWER on IntegriCloud