- Mar 18, 2015
-
-
Chris Bieneman authored
Summary: This change makes CMake scan for lit suites and generate a target for each lit test suite. The targets follow the format check-<project>-<suite path>. For example: check-llvm-unit - Runs the LLVM unit tests check-llvm-codegen-arm - Runs the ARM codeine tests Note: These targets are not generated during multi-configuration generators (i.e. Xcode and Visual Studio) because target clutter impacts UI usability. Reviewers: chandlerc Subscribers: aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D8380 llvm-svn: 232671
-
Eric Christopher authored
appears to have broken tests/bots. This reverts commit r232660. llvm-svn: 232670
-
Eric Christopher authored
Committed too early. This reverts commit r232666. llvm-svn: 232667
-
Eric Christopher authored
they can be used without a subtarget in constructing subtarget independent passes. llvm-svn: 232666
-
Eric Christopher authored
as we don't necessarily need to do this yet - though we could move the base class to the TargetMachine as it isn't subtarget dependent. This reverts commit r232103. llvm-svn: 232665
-
Reid Kleckner authored
No outlining is necessary for SEH catch blocks. Use the blockaddr of the handler in place of the usual outlined function. Reviewers: majnemer, andrew.w.kaylor Differential Revision: http://reviews.llvm.org/D8370 llvm-svn: 232664
-
Rafael Espindola authored
llvm-svn: 232663
-
Reid Kleckner authored
The MSVC linker won't produce a .lib file for an executable that doesn't export anything, and LLVM doesn't maintain dllexport annotations or .def files listing all C++ symbols. It also doesn't support exporting all symbols, like binutils ld. CMake 3.2 changed the Ninja generator to list both the .exe and .lib files as outputs of executable build targets. Ninja would always re-link executables with ENABLE_EXPORTS because the .lib output file was not present, and therefore the target was out of date. llvm-svn: 232662
-
Rafael Espindola authored
Should bring the bots back. llvm-svn: 232661
-
Simon Pilgrim authored
Currently v2i64 vectors shifts (non-equal shift amounts) are scalarized, costing 4 x extract, 2 x x86-shifts and 2 x insert instructions - and it gets even more awkward on 32-bit targets. This patch separately shifts the vector by both shift amounts and then shuffles the partial results back together, costing 2 x shuffles and 2 x sse-shifts instructions (+ 2 movs on pre-AVX hardware). Note - this patch only improves the SHL / LSHR logical shifts as only these are supported in SSE hardware. Differential Revision: http://reviews.llvm.org/D8416 llvm-svn: 232660
-
Colin LeMahieu authored
[Objdump] DumpBytes of uint8_t from ArrayRef<uint8_t> instead of char from StringRef. Removing reinterpret_casts. llvm-svn: 232659
-
Rafael Espindola authored
This removes duplicated code from backends that don't need to do anything fancy. llvm-svn: 232658
-
Krzysztof Parzyszek authored
llvm-svn: 232657
-
Krzysztof Parzyszek authored
This reverts r232650. Missed a piece of code in the previous commit. llvm-svn: 232656
-
Colin LeMahieu authored
llvm-svn: 232654
-
Matthias Braun authored
When calculating the lanemask of a register class we have to include the masks of subregisters supported by any of the class members, not just the ones supported by all class members. This fixes problems when coalescing towards a subclass with additional subregisters available. The attached testcase works fine as is, but does crash if you enable subregister liveness on x86 without this change applied. llvm-svn: 232652
-
Rafael Espindola authored
We can get there with .code64. Fixes pr22349. llvm-svn: 232651
-
Krzysztof Parzyszek authored
llvm-svn: 232650
-
Sanjay Patel authored
The checks here were so vague that we could nuke intrinsics from existence and still pass the test because we'd match the function name. llvm-svn: 232647
-
Krzysztof Parzyszek authored
llvm-svn: 232645
-
Sanjay Patel authored
The 'vmovntdq' was only passing due to a fluke in SandyBridge codegen that splits 32-byte stores in half, but that meant that the test was not correctly checking for the 32-byte store that we thought we were generating. The lax checking in this file will be addressed in another commit. There are bigger problems here. llvm-svn: 232644
-
Krzysztof Parzyszek authored
llvm-svn: 232643
-
Sid Manning authored
llvm-svn: 232636
-
Yaron Keren authored
Visual C++ 2013 complains "warning C4138: '*/' found outside of comment" about the code CallInst */*CI*/ but compiles OK. clang-formatting these lines adds an extra space and makes Visual C++ satisfied. llvm-svn: 232630
-
Daniel Jasper authored
The two hot blocks are right next to each other and I verified that there is no performance regression by compressing/uncompressing some files with a minigzip built with the different options. llvm-svn: 232629
-
John Brawn authored
Memcpy, and other memory intrinsics, typically tries to use LDM/STM if the source and target addresses are 4-byte aligned. In CodeGenPrepare look for calls to memory intrinsics and, if the object is on the stack, 4-byte align it if it's large enough that we expect that memcpy would want to use LDM/STM to copy it. Differential Revision: http://reviews.llvm.org/D7908 llvm-svn: 232627
-
John Brawn authored
llvm-svn: 232626
-
Yaron Keren authored
Now that SmallString is a first-class citizen, most SmallString::str() calls are not required. This patch removes a whole bunch of them, yet there are lots more. There are two use cases where str() is really needed: 1) To use one of StringRef member functions which is not available in SmallString. 2) To convert to std::string, as StringRef implicitly converts while SmallString do not. We may wish to change this, but it may introduce ambiguity. llvm-svn: 232622
-
Kai Nacke authored
Currently, there are no itineraries defined for ext and ins instructions. This patch adds these itineraries and uses them in the instruction definitions. Reviewed By: dsanders Differential Revision: http://reviews.llvm.org/D7209 llvm-svn: 232613
-
NAKAMURA Takumi authored
llvm-svn: 232584
-
Alexei Starovoitov authored
fix BPF backend build broken by r232429 Patch by Brenden Blanco llvm-svn: 232581
-
Josh Magee authored
These BEXTR cases are a check for the 64-bit load form and two negative cases where the bitrange is non-contiguous. From a private patch equivalent to r189742/PR17028. llvm-svn: 232580
-
Krzysztof Parzyszek authored
llvm-svn: 232578
-
Krzysztof Parzyszek authored
llvm-svn: 232577
-
Sanjoy Das authored
Summary: This change teaches isImpliedCond to infer things like "X sgt 0" => "X - 1 sgt -1". The `ConstantRange` class has the logic to do the heavy lifting, this change simply gets ScalarEvolution to exploit that when reasonable. Depends on D8345 Reviewers: atrick Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8346 llvm-svn: 232576
-
Sanjoy Das authored
Summary: This change splits `makeICmpRegion` into `makeAllowedICmpRegion` and `makeSatisfyingICmpRegion` with slightly different contracts. The first one is useful for determining what values some expression //may// take, given that a certain `icmp` evaluates to true. The second one is useful for determining what values are guaranteed to //satisfy// a given `icmp`. Reviewers: nlewycky Reviewed By: nlewycky Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8345 llvm-svn: 232575
-
David Majnemer authored
Targets which provide a rotate make it possible to replace a sequence of (XOR (SHL 1, x), -1) with (ROTL ~1, x). This saves an instruction on architectures like X86 and POWER(64). Differential Revision: http://reviews.llvm.org/D8350 llvm-svn: 232572
-
David Majnemer authored
COFF COMDATs (for selection kinds other than 'select any') require at least one non-section symbol in the symbol table. Satisfy this by morally enhancing the linkage from private to internal. Differential Revision: http://reviews.llvm.org/D8394 llvm-svn: 232570
-
Krzysztof Parzyszek authored
- SelectSelect, and - SelectTruncate llvm-svn: 232569
-
Duncan P. N. Exon Smith authored
Cleanup some bitrot in SourceLevelDebugging.rst. - Pull the still-relevant details about individual descriptors into LangRef.rst. Cut a lot of it to avoid over-describing the fields, as the C++ classes and assembly format are mostly self-describing now. If there's anything specific that I shouldn't have cut, let me know and I'll add it back. - Rewrite the remaining sections to refer to the new debug info hierarchy in LangRef.rst. llvm-svn: 232566
-