summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Use MCPhysReg and uint16_t for static arrays of registers and opcodes ↵Craig Topper2016-03-025-16/+16
| | | | | | respectively should reduce size tiny bit. NFC llvm-svn: 262458
* AMDGPU: Fix bug 26659.Matt Arsenault2016-03-021-1/+1
| | | | | | | | Fix checking the same instruction twice instead of the second branch that uses vccz. I don't think this matters currently because s_branch_vccnz is always used currently. llvm-svn: 262457
* AMDGPU: Cleanup suggested in bug 23960Matt Arsenault2016-03-021-6/+3
| | | | llvm-svn: 262456
* Bug 20810: Use report_fatal_error instead of unreachableMatt Arsenault2016-03-021-6/+6
| | | | llvm-svn: 262455
* Add a comment with a rational for the unusual code structureSanjoy Das2016-03-021-0/+3
| | | | llvm-svn: 262454
* Qualify getRangeForAffineAR with this-> for MSVCSanjoy Das2016-03-021-2/+2
| | | | llvm-svn: 262453
* Attempt to fix ASAN failure in a MemorySSA test.George Burgess IV2016-03-021-4/+4
| | | | llvm-svn: 262452
* Perturb code in an attempt to appease MSVCSanjoy Das2016-03-021-9/+9
| | | | | | | | For some reason MSVC seems to think I'm calling getConstant() from a static context. Try to avoid this issue by explicitly specifying 'this->' (though I'm not confident that this will actually work). llvm-svn: 262451
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-022-220/+196
| | | | | | other minor fixes. llvm-svn: 262450
* More code permutation to appease MSVCSanjoy Das2016-03-021-4/+7
| | | | llvm-svn: 262449
* Remove "auto" to appease the MSVC botsSanjoy Das2016-03-021-2/+2
| | | | llvm-svn: 262448
* Use C++11 initializers for data members.Rui Ueyama2016-03-022-16/+10
| | | | llvm-svn: 262447
* DAGCombiner: Make sure an integer is being truncatedMatt Arsenault2016-03-022-2/+29
| | | | llvm-svn: 262446
* Remove more dead code.Rui Ueyama2016-03-022-21/+1
| | | | llvm-svn: 262445
* Remove default implementations that are always overridden by subclasses.Rui Ueyama2016-03-022-16/+5
| | | | llvm-svn: 262444
* Remove more dead code.Rui Ueyama2016-03-024-67/+1
| | | | llvm-svn: 262443
* Add a few dllimport/dllexport tests. NFCReid Kleckner2016-03-022-0/+30
| | | | | | | | | | | | | | | | | | | | Summary: This change just adds tests for some corner cases of dllimport/dllexport, primarily for some static methods. We plan to enable dllimport/dllexport support for the PS4, and these additional tests are for points we previously were testing internally. -Warren Ristow SN Systems - Sony Computer Entertainment Group Reviewers: rnk Subscribers: silvas Differential Revision: http://reviews.llvm.org/D17775 llvm-svn: 262442
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-028-284/+229
| | | | | | other minor fixes. llvm-svn: 262441
* revert r262424 because there's a *clang test* for AArch64 that checks -O3 ↵Sanjay Patel2016-03-022-45/+5
| | | | | | | | asm output that is broken by this change llvm-svn: 262440
* Fix SHARED_LIBS buildDaniel Berlin2016-03-021-0/+1
| | | | llvm-svn: 262439
* [SCEV] Make getRange smarter around selectsSanjoy Das2016-03-023-0/+178
| | | | | | | | | | | | Have ScalarEvolution::getRange re-consider cases like "{C?A:B,+,C?P:Q}" by factoring out "C" and computing RangeOf{A,+,P} union RangeOf({B,+,Q}) instead. The latter can be easier to compute precisely in cases like "{C?0:N,+,C?1:-1}" N is the backedge taken count of the loop; since in such cases the latter form simplifies to [0,N+1) union [0,N+1). llvm-svn: 262438
* [SCEV] Extract out a getRangeForAffineAR; NFCSanjoy Das2016-03-022-57/+77
| | | | | | Pure code-motion change. Will be used later in making getRange more clever. llvm-svn: 262437
* Remove dead code.Rui Ueyama2016-03-021-2/+0
| | | | llvm-svn: 262436
* Remove remaining files of Core.Rui Ueyama2016-03-023-98/+0
| | | | llvm-svn: 262435
* Tidy up CMakefiles.Rui Ueyama2016-03-022-6/+0
| | | | llvm-svn: 262434
* Remove unused #include's.Rui Ueyama2016-03-021-8/+0
| | | | llvm-svn: 262431
* [CMake] Add convenience target clang-test-depends to build test dependencies.Chris Bieneman2016-03-021-0/+2
| | | | | | This is useful when paired with the distribution targets to build prerequisites for running tests. llvm-svn: 262429
* [CMake] Add convenience target llvm-test-depends to build test dependencies.Chris Bieneman2016-03-021-0/+2
| | | | | | This is useful when paired with the distribution targets to build prerequisites for running tests. llvm-svn: 262428
* [CMake] Add distribution target that is the "just-build" side of ↵Chris Bieneman2016-03-021-0/+7
| | | | | | | | install-distribution This is just a convenience target to allow limiting what you build. llvm-svn: 262427
* [InstCombine] convert 'isPositive' and 'isNegative' vector comparisons to ↵Sanjay Patel2016-03-012-5/+45
| | | | | | | | | | | | | | | | | | shifts (PR26701) As noted in the code comment, I don't think we can do the same transform that we do for *scalar* integers comparisons to *vector* integers comparisons because it might pessimize the general case. Exhibit A for an incomplete integer comparison ISA remains x86 SSE/AVX: it only has EQ and GT for integer vectors. But we should now recognize all the variants of this construct and produce the optimal code for the cases shown in: https://llvm.org/bugs/show_bug.cgi?id=26701 llvm-svn: 262424
* Make a few utility functions file-scoped.Rui Ueyama2016-03-014-24/+20
| | | | | | | makeErrorFile and parseMemberFiles are now used only in DarwinLdDriver.cpp. This patch moves them to that file. llvm-svn: 262423
* Remove dead code.Rui Ueyama2016-03-012-18/+0
| | | | llvm-svn: 262422
* Remove CoreDriver.Rui Ueyama2016-03-0186-1760/+3
| | | | | | | | | | | CoreDriver implements a driver for a hypothetical platform. It is intended to be used in unittests. However, it is actually redundant because the features are tested using the real driver for the real platforms. So we can remove this. http://reviews.llvm.org/D17698 llvm-svn: 262421
* clang-cl: Implement initial limited support for precompiled headers.Nico Weber2016-03-0119-14/+674
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the gcc precompiled header model, one explicitly runs clang with `-x c++-header` on a .h file to produce a gch file, and then includes the header with `-include foo.h` and if a .gch file exists for that header it gets used. This is documented at http://clang.llvm.org/docs/UsersManual.html#precompiled-headers cl.exe's model is fairly different, and controlled by the two flags /Yc and /Yu. A pch file is generated as a side effect of a regular compilation when /Ycheader.h is passed. While the compilation is running, the compiler keeps track of #include lines in the main translation unit and writes everything up to an `#include "header.h"` line into a pch file. Conversely, /Yuheader.h tells the compiler to skip all code in the main TU up to and including `#include "header.h"` and instead load header.pch. (It's also possible to use /Yc and /Yu without an argument, in that case a `#pragma hrdstop` takes the role of controlling the point where pch ends and real code begins.) This patch implements limited support for this in that it requires the pch header to be passed as a /FI force include flag – with this restriction, it can be implemented almost completely in the driver with fairly small amounts of code. For /Yu, this is trivial, and for /Yc a separate pch action is added that runs before the actual compilation. After r261774, the first failing command makes a compilation stop – this means if the pch fails to build the main compilation won't run, which is what we want. However, in /fallback builds we need to run the main compilation even if the pch build fails so that the main compilation's fallback can run. To achieve this, add a ForceSuccessCommand that pretends that the pch build always succeeded in /fallback builds (the main compilation will then fail to open the pch and run the fallback cl.exe invocation). If /Yc /Yu are used in a setup that clang-cl doesn't implement yet, clang-cl will now emit a "not implemented yet; flag ignored" warning that can be disabled using -Wno-clang-cl-pch. Since clang-cl doesn't yet serialize some important things (most notably `pragma comment(lib, ...)`, this feature is disabled by default and only enabled by an internal driver flag. Once it's more stable, this internal flag will disappear. (The default stdafx.h setup passes stdafx.h as explicit argument to /Yc but not as /FI – instead every single TU has to `#include <stdafx.h>` as first thing it does. Implementing support for this should be possible with the approach in this patch with minimal frontend changes by passing a --stop-at / --start-at flag from the driver to the frontend. This is left for a follow-up. I don't think we ever want to support `#pragma hdrstop`, and supporting it with this approach isn't easy: This approach relies on the driver knowing the pch filename in advance, and `#pragma hdrstop(out.pch)` can set the output filename, so the driver can't know about it in advance.) clang-cl now also honors /Fp and puts pch files in the same spot that cl.exe would put them, but the pch file format is of course incompatible. This has ramifications on /fallback, so /Yc /Yu aren't passed through to cl.exe in /fallback builds. http://reviews.llvm.org/D17695 llvm-svn: 262420
* Perform InstructioinCombiningPass before SampleProfile pass.Dehao Chen2016-03-018-24/+70
| | | | | | | | | | | | Summary: SampleProfile pass needs to be performed after InstructionCombiningPass, which helps eliminate un-inlinable function calls. Reviewers: davidxl, dnovillo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17742 llvm-svn: 262419
* Updated SSE41 builtin tests to more closely match the llvm fast-isel ↵Simon Pilgrim2016-03-011-40/+50
| | | | | | equivalent tests llvm-svn: 262418
* [libFuzzer] deprecate exit_on_first flagKostya Serebryany2016-03-014-12/+10
| | | | llvm-svn: 262417
* llvm-dwp: Add missing copyright notice to llvm-dwp.cppDavid Blaikie2016-03-011-0/+13
| | | | | | Addressing feedback on IRC by Sean Silva. llvm-svn: 262416
* [libFuzzer] add generic signal handlers so that libFuzzer can report at ↵Kostya Serebryany2016-03-017-21/+94
| | | | | | least something if ASan is not handlig the signals for us. Remove abort_on_timeout flag. llvm-svn: 262415
* Mangle extended qualifiers in the proper order and mangle theJohn McCall2016-03-015-34/+120
| | | | | | | | | | | | | | | | | | | | | | ARC ownership-convention function type modifications. According to the Itanium ABI, vendor extended qualifiers are supposed to be mangled in reverse-alphabetical order before any CVR qualifiers. The ARC function type conventions are plausibly order-significant (they are associated with the function type), which permits us to ignore the need to correctly inter-order them with any other vendor qualifiers on the parameter and return types. Implementing these rules correctly is technically an ABI break. Apple is comfortable with the risk of incompatibility here for the ARC features, and I believe that address-space qualification is still uncommon enough to allow us to adopt the conforming rule without serious risk. Still, targets which make heavy use of address space qualification may want to revert to the non-conforming order. llvm-svn: 262414
* Fix --help message.Rui Ueyama2016-03-011-2/+2
| | | | llvm-svn: 262413
* [X86][SSE41] Added missing fast-isel intrinsics testsSimon Pilgrim2016-03-011-27/+443
| | | | | | Match IR generated in clang/test/CodeGen/sse41-builtins.c llvm-svn: 262412
* [NFC] Convert tabs to spaces.Colin LeMahieu2016-03-011-2/+2
| | | | llvm-svn: 262411
* [X86][XOP] Regenerated intrinsics testsSimon Pilgrim2016-03-011-181/+594
| | | | llvm-svn: 262410
* Explicitly select IAS on one more RUN line in new embed-bitcode.c test.Daniel Sanders2016-03-011-1/+1
| | | | | | | This should fix clang-cmake-mips builder since MIPS does not have IAS enabled by default (yet). llvm-svn: 262409
* AArch64: Reenable CompleteModel for A53, A57 and Kryo modelsMatthias Braun2016-03-013-3/+3
| | | | | | The fixes in r262393 completed them as well. llvm-svn: 262408
* Fix bug with function resolution when using IR InterpreterTed Woodward2016-03-014-28/+45
| | | | | | | | | | | | Summary: Recent changes to the expression parser broke function name resolution when using the IR interpreter instead of JIT. This patch changes the IRMemoryMap ivar in InterpreterStackFrame to an IRExecutionUnitSP (which is a subclass), allowing InterpreterStackFrame::ResolveConstantValue() to call FindSymbol() on the name of the Value when it's a FunctionVal. It also changes IRExecutionUnit::FindInSymbols() to call GetFileAddress() on the symball if ResolveCallableAddress() fails and there is no valid Process. Reviewers: spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17745 llvm-svn: 262407
* [X86][AVX2] Regenerated 256-bit vector / 64-bit element permute testsSimon Pilgrim2016-03-011-8/+19
| | | | llvm-svn: 262406
* Fix typo. NFC.Tim Northover2016-03-012-3/+3
| | | | llvm-svn: 262405
* Fix non-synthesizable loop exit values.Michael Kruse2016-03-0110-32/+126
| | | | | | | | | | | Polly recognizes affine loops that ScalarEvolution does not, in particular those with loop conditions that depend on hoisted invariant loads. Check for SCEVAddRec dependencies on such loops and do not consider their exit values as synthesizable because SCEVExpander would generate them as expressions that depend on the original induction variables. These are not available in generated code. llvm-svn: 262404
OpenPOWER on IntegriCloud