- Jul 15, 2014
-
-
Juergen Ributzka authored
Rename X86VisitIntrinsicCall -> FastLowerIntrinsicCall, which effectively implements the target hook. llvm-svn: 213050
-
Juergen Ributzka authored
This implements the FastLowerCall hook, which is based on the DoSelectCall function. The implementation is very similar, but the target-independent call lowering part has been factored out. This should also enable patchpoint intrinsic lowering for FastISel on X86. Related to <rdar://problem/17427052>. llvm-svn: 213049
-
Juergen Ributzka authored
Revert "[FastISel][X86] Implement the FastLowerIntrinsicCall hook." Revert "[FastISel][X86] Implement the FastLowerCall hook." This reverts commit r213035, r213036, and r213037 to make the buildbots happy again. llvm-svn: 213048
-
Peter Collingbourne authored
Specifically, when building a union query, if we are dominated by an identical query then use the result of that query instead. llvm-svn: 213047
-
Peter Collingbourne authored
llvm-svn: 213046
-
Peter Collingbourne authored
llvm-svn: 213045
-
David Majnemer authored
No funcionality changed, just a simplification of the existing code. llvm-svn: 213044
-
Richard Smith authored
redeclaration chains when pulling in a declaration. We need the redecl chain unless we know some other declaration will trigger it to be pulled in; that happens if our originally-canonical declaration had all the knowledge that we have (and isn't us). llvm-svn: 213043
-
David Majnemer authored
llvm-svn: 213042
-
David Majnemer authored
Instead of specifying 32-bit x86, specify 32-bit x86 linux. This test is testing a very specific behavior which changed with WinCOFF's constant pools. llvm-svn: 213041
-
Alexey Bataev authored
llvm-svn: 213040
-
David Majnemer authored
WinCOFF doesn't use CPI symbols, it has a different scheme for naming constant pool entries. Update tests to handle either appearing. llvm-svn: 213039
-
David Majnemer authored
The constant pool entry code for WinCOFF assumed that vector constants would be formed using ConstantDataVector, it did not expect to see a ConstantVector. Furthermore, it did not expect undef as one of the elements of the vector. ConstantVectors should be handled like ConstantDataVectors, treat Undef as zero. llvm-svn: 213038
-
Juergen Ributzka authored
llvm-svn: 213037
-
Juergen Ributzka authored
Rename X86VisitIntrinsicCall -> FastLowerIntrinsicCall, which effectively implements the target hook. llvm-svn: 213036
-
Juergen Ributzka authored
This implements the FastLowerCall hook, which is based on the DoSelectCall function. The implementation is very similar, but the target-independent call lowering part has been factored out. This should also enable patchpoint intrinsic lowering for FastISel on X86. Related to <rdar://problem/17427052>. llvm-svn: 213035
-
Juergen Ributzka authored
The patchpoint instruction should have been inserted before the target generated call instruction to be inside the ADJSTACKDOWN/ADJSTACKUP call sequence window. llvm-svn: 213034
-
Juergen Ributzka authored
Always update the value map with the result register (if there is one), for the patchpoint instruction we created to replace the target-specific call instruction. llvm-svn: 213033
-
Ehsan Akhgari authored
Summary: Without this, we would not consume the closing brace which would cause the parser to start consuming C++ and bad things would happen. Reviewers: majnemer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4505 llvm-svn: 213032
-
Matt Arsenault authored
This helps avoid redundant instructions to unpack, and repack the vectors. Ideally we could recognize that pattern and eliminate it. Currently v4i8 and other small element type vectors are scalarized, so this has the added bonus of avoiding that. llvm-svn: 213031
-
Matt Arsenault authored
This fixes inferring alignment through an addrspacecast. llvm-svn: 213030
-
Andrea Di Biagio authored
Now functions 'test4', 'test9', 'test14' and 'test19' correctly perform a move of two packed values from the high quadword of vector %b to the low quadword of vector %a (movhlps idiom). No functional change intended. llvm-svn: 213029
-
Justin Bogner authored
In r209332 I accidentally broke generation of empty VFS maps. This fixes the issue and adds a test. llvm-svn: 213028
-
Reid Kleckner authored
Add verifier checks. We already check these in the assembly parser, but a frontend producing IR in memory wouldn't hit those checks. llvm-svn: 213027
-
Johannes Doerfert authored
llvm-svn: 213026
-
Matt Arsenault authored
llvm-svn: 213025
-
Nick Lewycky authored
llvm-svn: 213024
-
Greg Clayton authored
Any commands that are executed through the public interface using SBCommandInterpreter::HandleCommand() are assumed to be in non-interactive mode. Any commands that want interactivity (stdin) will need to be executed through the normal command interpreter using the debugger's in/out/err file handles, or by using "command source". Individual commands through the API will have their STDIN disabled. The STDOUT and STDERR will be redirected into the SBCommandReturnObject argument to SBCommandInterpreter::HandleCommand() as usual. This helps with a deadlock situation in an IDE (Xcode) where the IDE was managing the breakpoint actions by setting a breakpoint callback and doing things manually. <rdar://problem/17386271> llvm-svn: 213023
-
Richard Smith authored
llvm-svn: 213022
-
Matt Arsenault authored
Check the individual test functions for more useful failure errors. llvm-svn: 213021
-
Andrea Di Biagio authored
This patch fixes a crasher in method 'DAGCombiner::visitOR' due to an invalid call to method 'isShuffleMaskLegal'. On x86, method 'isShuffleMaskLegal' always expects a legal vector value type in input. With this patch, we immediately check if the input OR dag node has a legal vector type; we only try to fold a OR dag node into a single shufflevector if we know that the resulting shuffle will have a legal type. This is to avoid calling method 'isShuffleMaskLegal' on a potentially illegal vector value type. Added a new test-case to file 'CodeGen/X86/combine-or.ll' to verify that DAGCombiner doesn't crash in the attempt to check/combine an OR between shuffles with illegal types. llvm-svn: 213020
-
Johannes Doerfert authored
+ Introduced dependency type TYPE_TC_RED to represent the transitive closure (& the reverse) of reduction dependences. These are used when we check for reduction parallel loops. + Test cases including loop reversals and modulo schedules which compute reductions in a alternated order. llvm-svn: 213019
-
Matt Arsenault authored
llvm-svn: 213018
-
Matt Arsenault authored
llvm-svn: 213017
-
David Majnemer authored
While we previously supported __uuidof applied to a template specialization, we would only find the uuid attribute if it was applied to the template argument. We would erroneously ignore the uuid attribute on the specialization itself. This is required to parse Windows Runtime C++ Template Library headers. llvm-svn: 213016
-
Alp Toker authored
It turns out this commit was fine. The problem was in the legacy build system (fixed r213010). This reverts commit r213005. llvm-svn: 213015
-
Alp Toker authored
It turns out this commit was fine. The problem was in the legacy build system (fixed r213010). This reverts commit r213008. llvm-svn: 213014
-
Richard Smith authored
llvm-svn: 213013
-
Lang Hames authored
reading MachO files magic numbers in RuntimeDyld. This is required now that we're testing cross-platform JITing (via RuntimeDyldChecker), and should fix some issues that David Fang has seen on PPC builds. llvm-svn: 213012
-
Adam Nemet authored
No functional change. The offsets for the other bitfields are specified symbolically. I need to increase the size for one of the earlier fields which is easier after this cleanup. Why these bits are relative to VEXShift is a bit strange but that is for another cleanup. I made sure that the values for the enums are unchanged after this change. llvm-svn: 213011
-