summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [dfsan] Move combineShadows to DFSanFunction in preparation for it to use a ↵Peter Collingbourne2014-07-151-18/+16
| | | | | | domtree. llvm-svn: 213046
* Give SplitBlockAndInsertIfThen the ability to update a domtree.Peter Collingbourne2014-07-152-2/+21
| | | | llvm-svn: 213045
* AST: Don't walk all redeclarations when looking for a uuid attrDavid Majnemer2014-07-151-6/+4
| | | | | | No funcionality changed, just a simplification of the existing code. llvm-svn: 213044
* [modules] Rearrange and unify the way we determine if we need to pull inRichard Smith2014-07-151-28/+30
| | | | | | | | | 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
* Some targets don't prefix private symbols with dotDavid Majnemer2014-07-151-1/+1
| | | | llvm-svn: 213042
* Specify a more specific triple for constant-pool-remat-0.llDavid Majnemer2014-07-151-1/+1
| | | | | | | | | 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
* [OPENMP] Several cosmetic fixes in comments, tests and the code for '#pragma ↵Alexey Bataev2014-07-153-10/+5
| | | | | | omp single'. llvm-svn: 213040
* Relax tests expecting to see CPI symbolsDavid Majnemer2014-07-152-2/+3
| | | | | | | 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
* CodeGen: Handle ConstantVector and undef in WinCOFF constant poolsDavid Majnemer2014-07-152-13/+38
| | | | | | | | | | | | 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
* [FastISel][X86] Remove no longer needed functions.Juergen Ributzka2014-07-151-462/+0
| | | | llvm-svn: 213037
* [FastISel][X86] Implement the FastLowerIntrinsicCall hook.Juergen Ributzka2014-07-151-41/+41
| | | | | | | Rename X86VisitIntrinsicCall -> FastLowerIntrinsicCall, which effectively implements the target hook. llvm-svn: 213036
* [FastISel][X86] Implement the FastLowerCall hook.Juergen Ributzka2014-07-151-9/+400
| | | | | | | | | | | | 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
* [FastISel] Insert patchpoint instruction before the target generated call ↵Juergen Ributzka2014-07-151-1/+2
| | | | | | | | | | instruction. 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
* [FastISel] Fix patchpoint lowering to set the result register.Juergen Ributzka2014-07-151-5/+6
| | | | | | | | 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
* Don't get confused on the number of braces when braces start after the first ↵Ehsan Akhgari2014-07-152-2/+4
| | | | | | | | | | | | | | | | __asm 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
* R600: Add dag combine for copy of an illegal type.Matt Arsenault2014-07-155-13/+240
| | | | | | | | | 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
* Teach computeKnownBits to look through addrspacecast.Matt Arsenault2014-07-152-1/+32
| | | | | | This fixes inferring alignment through an addrspacecast. llvm-svn: 213030
* Improve test 'CodeGen/X86/combine-vec-shuffle-3.ll'.Andrea Di Biagio2014-07-151-9/+9
| | | | | | | | | | 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
* VirtualFileSystem: Correctly generate the mapping for an empty VFSJustin Bogner2014-07-152-23/+32
| | | | | | | In r209332 I accidentally broke generation of empty VFS maps. This fixes the issue and adds a test. llvm-svn: 213028
* Document the maximum LLVM IR alignment, which is 1 << 29 or 0.5 GiBReid Kleckner2014-07-152-6/+16
| | | | | | | 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
* [Format] Clang format IslAst.cppJohannes Doerfert2014-07-151-2/+1
| | | | llvm-svn: 213026
* Teach GetUnderlyingObject / BasicAA about addrspacecastMatt Arsenault2014-07-154-5/+40
| | | | llvm-svn: 213025
* Revert r212572 "improve BasicAA CS-CS queries", it causes PR20303.Nick Lewycky2014-07-155-371/+126
| | | | llvm-svn: 213024
* Any commands that are executed through the public interface using ↵Greg Clayton2014-07-154-5/+31
| | | | | | | | | | | | | | 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
* PR19751: (T())++ is not a cast-expression.Richard Smith2014-07-153-2/+12
| | | | llvm-svn: 213022
* Convert test to FileCheck.Matt Arsenault2014-07-151-13/+35
| | | | | | Check the individual test functions for more useful failure errors. llvm-svn: 213021
* [DAGCombiner] Avoid calling method 'isShuffleMaskLegal' on illegal vector types.Andrea Di Biagio2014-07-152-0/+14
| | | | | | | | | | | | | | | | | | 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
* Annotate reduction parallel loops in the IslAst textual outputJohannes Doerfert2014-07-1536-36/+1528
| | | | | | | | | | + 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
* R600: Add denormal handling subtarget features.Matt Arsenault2014-07-146-8/+79
| | | | llvm-svn: 213018
* R600/SI: Default to no single precision denormals.Matt Arsenault2014-07-142-2/+10
| | | | llvm-svn: 213017
* AST: Fix __uuidof for template specializationsDavid Majnemer2014-07-142-5/+42
| | | | | | | | | | | 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
* Revert "Revert "Move clang feature flags settings out of LLVM core and into ↵Alp Toker2014-07-141-16/+0
| | | | | | | | | | cfe"" It turns out this commit was fine. The problem was in the legacy build system (fixed r213010). This reverts commit r213005. llvm-svn: 213015
* Revert "Revert "Move clang feature flags settings out of LLVM core and into ↵Alp Toker2014-07-141-0/+17
| | | | | | | | | | cfe"" It turns out this commit was fine. The problem was in the legacy build system (fixed r213010). This reverts commit r213008. llvm-svn: 213014
* Remove dead code.Richard Smith2014-07-142-12/+0
| | | | llvm-svn: 213013
* [RuntimeDyld] Handle endiannes differences between the host and target whileLang Hames2014-07-141-14/+19
| | | | | | | | | | 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
* [X86] Specify all TSFlags bit-offsets symbolicallyAdam Nemet2014-07-141-3/+6
| | | | | | | | | | | | | | | 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
* Define ENABLE_CLANG_ARCMT in the legacy build system tooAlp Toker2014-07-141-0/+4
| | | | llvm-svn: 213010
* AST: Cleanup __uuidof related codeDavid Majnemer2014-07-142-11/+10
| | | | | | | | Switch some things to use range-based for loops. Change CXXUuidofExpr::GetUuidAttrOfType's return type to be const. No functionality changed. llvm-svn: 213009
* Revert "Move clang feature flags settings out of LLVM core and into cfe"Alp Toker2014-07-141-17/+0
| | | | | | | | | Prospectively revert to get one of the many build configurations back working (presumably the side-by-side+modular CMake config). This reverts commit r212997. llvm-svn: 213008
* If Process::Finalize() has been called, don't track process state changes.Greg Clayton2014-07-141-0/+3
| | | | | | <rdar://problem/17540766> llvm-svn: 213007
* CodeGen: Stick constant pool entries in COMDAT sections for WinCOFFDavid Majnemer2014-07-1416-27/+191
| | | | | | | | | | | | | | | | COFF lacks a feature that other object file formats support: mergeable sections. To work around this, MSVC sticks constant pool entries in special COMDAT sections so that each constant is in it's own section. This permits unused constants to be dropped and it also allows duplicate constants in different translation units to get merged together. This fixes PR20262. Differential Revision: http://reviews.llvm.org/D4482 llvm-svn: 213006
* Revert "Move clang feature flags settings out of LLVM core and into cfe"Alp Toker2014-07-141-0/+16
| | | | | | | | | This broke one of the builds, presumably side-by-side modular CMake. Investigating. This reverts commit r212998. llvm-svn: 213005
* lldb.LLDB_ARCH_DEFAULT now works correctly on Macs with haswell enabled kernels.Greg Clayton2014-07-142-9/+24
| | | | | | <rdar://problem/17604133> llvm-svn: 213004
* Continue parsing an expression list even after an error is encountered.Kaelyn Takata2014-07-144-7/+18
| | | | | | | | | Otherwise, multiple errors such as having unknown identifiers for two arguments won't be diagnosed properly (e.g. only the first one would have a diagnostic message if typo correction fails even though both would be diagnosed if typo correction suggests a replacement). llvm-svn: 213003
* Fix a -Wunused-local-typedefs warningAlp Toker2014-07-141-1/+1
| | | | llvm-svn: 213002
* [DAGCombiner] Add more rules to combine shuffle vector dag nodes.Andrea Di Biagio2014-07-142-0/+417
| | | | | | | | | | | | | | | | This patch teaches the DAGCombiner how to fold a pair of shuffles according to rules: 1. shuffle(shuffle A, B, M0), B, M1) -> shuffle(A, B, M2) 2. shuffle(shuffle A, B, M0), A, M1) -> shuffle(A, B, M3) The new rules would only trigger if the resulting shuffle has legal type and legal mask. Added test 'combine-vec-shuffle-3.ll' to verify that DAGCombiner correctly folds shuffles on x86 when the resulting mask is legal. Also added some negative cases to verify that we avoid introducing illegal shuffles. llvm-svn: 213001
* Look through addrspacecast in IsConstantOffsetFromGlobalMatt Arsenault2014-07-142-1/+15
| | | | llvm-svn: 213000
* Look through addrspacecast in GetPointerBaseWithConstantOffsetMatt Arsenault2014-07-142-1/+15
| | | | llvm-svn: 212999
* Move clang feature flags settings out of LLVM core and into cfeAlp Toker2014-07-141-16/+0
| | | | | | | clang r212997 incorporated these settings into its own build system. They no longer need to be set from LLVM. llvm-svn: 212998
* Move clang feature flags settings out of LLVM core and into cfeAlp Toker2014-07-141-0/+17
| | | | llvm-svn: 212997
OpenPOWER on IntegriCloud