summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add pass-manager flags to use CFL AAHal Finkel2014-09-022-0/+11
| | | | | | | Add -use-cfl-aa (and -use-cfl-aa-in-codegen) to add CFL AA in the default pass managers (for easy testing). llvm-svn: 216978
* Silence _LIBCPP_ELAST porting warning on __APPLE__Jonathan Roelofs2014-09-021-0/+2
| | | | | | This fixes a warning accidentally introduced in r216943. llvm-svn: 216977
* Fix up formatting.Eli Bendersky2014-09-021-1/+1
| | | | llvm-svn: 216976
* Don't #define _LIBCPP_HAS_NO_MONOTONIC_CLOCK on __APPLE__Jonathan Roelofs2014-09-021-2/+3
| | | | | | This fixes PR20839, which was a bug in r216949. llvm-svn: 216975
* BumpPtrAllocator: use uintptr_t when aligning addresses to avoid undefined ↵Hans Wennborg2014-09-023-23/+26
| | | | | | | | | behaviour In theory, alignPtr() could push a pointer beyond the end of the current slab, making comparisons with that pointer undefined behaviour. Use an integer type to avoid this. llvm-svn: 216973
* [asan] Assign a low branch weight to ASan's slow path, patch by Jonas ↵Kostya Serebryany2014-09-023-3/+8
| | | | | | Wagner. This speeds up asan (at least on SPEC) by 1%-5% or more. Also fix lint in dfsan. llvm-svn: 216972
* R600/SI: Relax some ordering in tests.Matt Arsenault2014-09-024-26/+31
| | | | | | This will help with enabling misched llvm-svn: 216971
* Add a CFL Alias Analysis implementationHal Finkel2014-09-0215-0/+1893
| | | | | | | | | | | | | | | | This provides an implementation of CFL alias analysis (including some supporting data structures). Currently, we don't have any extremely fancy features, sans some interprocedural analysis (i.e. no field sensitivity, etc.), and we do best sitting behind BasicAA + TBAA. In such a configuration, we take ~0.6-0.8% of total compile time, and give ~7-8% NoAlias responses to queries TBAA and BasicAA couldn't answer when bootstrapping LLVM. In testing this on other projects, we've seen up to 10.5% of queries dropped by BasicAA+TBAA answered with NoAlias by this algorithm. Patch by George Burgess IV (with minor modifications by me -- mostly adapting some BasicAA tests), thanks! llvm-svn: 216970
* Avoid test failure on platforms where size_t is long long (and thus can't beRichard Smith2014-09-021-3/+4
| | | | | | directly written in strictly-conforming source code). llvm-svn: 216969
* Add --analyze to clang-clReid Kleckner2014-09-021-1/+1
| | | | llvm-svn: 216964
* [FastISel][AArch64] Move over to target-dependent instruction selection only.Juergen Ributzka2014-09-021-41/+133
| | | | | | | | | | | This change moves FastISel for AArch64 to target-dependent instruction selection only. This change replicates the existing target-independent behavior, therefore there are no changes to the unit tests or new tests. Future changes will take advantage of this change and update functionality and unit tests. llvm-svn: 216955
* Tests for DR550-572.Richard Smith2014-09-023-18/+206
| | | | llvm-svn: 216953
* Allow LIBCXXABI_SINGLE_THREADED to be defined by build scriptsJonathan Roelofs2014-09-021-1/+2
| | | | llvm-svn: 216952
* Partially address a FIXME in steady_clock::now()Jonathan Roelofs2014-09-025-0/+15
| | | | | | http://reviews.llvm.org/D4045 llvm-svn: 216949
* Fix MacOSX cmake build for new HostInfoMacOSX file.Todd Fiala2014-09-021-0/+1
| | | | | | Change by Stephane Sezer. llvm-svn: 216948
* [FastISel] Provide the option to skip target-independent instruction ↵Juergen Ributzka2014-09-022-21/+29
| | | | | | | | | | | | | selection. NFC. This allows the target to disable target-independent instruction selection and jump directly into the target-dependent instruction selection code. This can be beneficial for targets, such as AArch64, which could emit much better code, but never got a chance to do so, because the target-independent instruction selector was able to find an instruction sequence. llvm-svn: 216947
* Generate extract for in-tree uses if the use is scalar operand in vectorized ↵Yi Jiang2014-09-022-18/+139
| | | | | | instruction. radar://18144665 llvm-svn: 216946
* Use /usr/bin/env python instead of /usr/bin/python.Ed Schouten2014-09-022-2/+2
| | | | | | | | On operating systems like the BSDs, it is typically the case that /usr/bin/python does not exist. We should therefore use /usr/bin/env instead. This is also done in various other scripts in tools/. llvm-svn: 216945
* R600/SI: Fix hardcoded register numbers in testMatt Arsenault2014-09-021-1/+1
| | | | llvm-svn: 216944
* Newlib names ELAST differently than linuxJonathan Roelofs2014-09-023-23/+25
| | | | llvm-svn: 216943
* Refactor LowerFABS and LowerFNEG into one function (x86) (NFC)Sanjay Patel2014-09-021-42/+31
| | | | | | | | | We duplicate ~30 lines of code to lower FABS and FNEG for x86, so this patch combines them into one function. No functional change intended, so no additional test cases. Test-suite behavior is unchanged. Differential Revision: http://reviews.llvm.org/D5064 llvm-svn: 216942
* cmake: Don't reject unknown cpp files that start with .Matt Arsenault2014-09-021-4/+9
| | | | | | | | Some editors create hidden file backups in the same directory as the file, and it's annoying when cmake errors on them. llvm-svn: 216941
* Fix MemoryDependenceAnalysis in cases where QueryInstr is a CmpXchg or a ↵Robin Morisset2014-09-021-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | AtomicRMW Summary: MemoryDependenceAnalysis is currently cautious when the QueryInstr is an atomic load or store, but I forgot to check for atomic cmpxchg/atomicrmw. This patch is a way of fixing that, and making it less brittle (i.e. no risk that I forget another possible kind of atomic, even if the IR ends up changing in the future), by adding a fallback checking mayReadOrWriteFromMemory. Thanks to Philip Reames for finding this bug and suggesting this solution in http://reviews.llvm.org/D4845 Sadly, I don't see how to add a test for this, since the passes depending on MemoryDependenceAnalysis won't trigger for an atomic rmw anyway. Does anyone see a way for testing it? Test Plan: none possible at first sight Reviewers: jfb, reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5019 llvm-svn: 216940
* Fix a logic bug when copying fast-math flags.Sanjay Patel2014-09-026-5/+26
| | | | | | | | | | | | | "Setting" does not equal "copying". This bug has sat dormant for 2 reasons: 1. The unit test was not adequate. 2. Every current user of the "copyFastMathFlags" API is operating on a new instruction. (ie, all existing fast-math flags are off). If you copy flags to an existing instruction that has some flags on already, you will not necessarily turn them off as expected. I uncovered this bug while trying to implement a fix for PR20802. llvm-svn: 216939
* Add a note about AuroraUX to the release notes.Rafael Espindola2014-09-021-0/+2
| | | | llvm-svn: 216938
* Don't indent inside a namespace.Rafael Espindola2014-09-021-28/+28
| | | | llvm-svn: 216937
* Don't allow lambdas to capture invalid decls during template instantiations.Richard Trieu2014-09-022-1/+51
| | | | | | Fixes PR20731. llvm-svn: 216936
* Fixing a typo in the documented __builtin_convertvector example.Yunzhong Gao2014-09-021-1/+1
| | | | | | "vf[0]" ==> "vs[0]" llvm-svn: 216935
* Add note to documentation about machine node chains.Matt Arsenault2014-09-021-1/+3
| | | | | | | | | | I've been assuming chain operands were always the first operand, since the documentation says this. I was confused about why they were missing after instruction selection. Apparently the convention changes to using the last operand for MachineSDNodes and I've never noticed before. llvm-svn: 216934
* R600/SI: Add failing testcase.Matt Arsenault2014-09-021-0/+43
| | | | | | | This is broken when 64-bit add is only partially moved to the VALU. llvm-svn: 216933
* Fix interference caused by fmul 2, x -> fadd x, xMatt Arsenault2014-09-023-48/+117
| | | | | | | | If an fmul was introduced by lowering, it wouldn't be folded into a multiply by a constant since the earlier combine would have replaced the fmul with the fadd. llvm-svn: 216932
* Code review tweaksNick Kledzik2014-09-022-26/+26
| | | | llvm-svn: 216931
* Fix crash when looking up the addrspace of GEPs with vector typesMatt Arsenault2014-09-022-1/+13
| | | | | | Patch by Björn Steinbrink llvm-svn: 216930
* CodeGen: Handle va_start in the entry blockReid Kleckner2014-09-023-26/+37
| | | | | | | | | Also fix a small copy-paste bug in X86ISelLowering where Chain should have been used in place of DAG.getEntryToken(). Fixes PR20828. llvm-svn: 216929
* Fix comment and unnecessary check for FP build_vectors.Matt Arsenault2014-09-021-5/+1
| | | | | | | This was copy-paste from the integer version, but FP build_vectors don't truncate. llvm-svn: 216928
* unique_ptrify LTOCodeGenerator::NativeObjectFileDavid Blaikie2014-09-022-8/+3
| | | | llvm-svn: 216927
* Fix for LLVM API change to SpecialCaseList::createDavid Blaikie2014-09-021-1/+2
| | | | llvm-svn: 216926
* unique_ptrify the result of SpecialCaseList::createDavid Blaikie2014-09-024-28/+32
| | | | llvm-svn: 216925
* MCSchedule.h: fix VS2012 build after r216919Hans Wennborg2014-09-021-15/+16
| | | | llvm-svn: 216924
* Implement generic mad_satJan Vesely2014-09-026-0/+100
| | | | | | | | | | | | v2: Fix trailing whitespace Fix signed long overflow improve comment v3: fix typo Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 216923
* configure: Add rpath to prepare-builtins utilJan Vesely2014-09-021-1/+2
| | | | | | | | v2: use space instead of '=' to make Mac happy Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Jeroen Ketema <j.ketema@imperial.ac.uk> llvm-svn: 216922
* unique_ptrify FileOutputBuffer::FileOutputBufferDavid Blaikie2014-09-022-11/+8
| | | | llvm-svn: 216921
* Fix left shifts of negative values in MipsDisassembler.Alexey Samsonov2014-09-021-15/+15
| | | | | | This bug was reported by UBSan. llvm-svn: 216920
* Change MCSchedModel to be a struct of statically initialized data.Pete Cooper2014-09-0223-87/+69
| | | | | | | | This removes static initializers from the backends which generate this data, and also makes this struct match the other Tablegen generated structs in behaviour Reviewed by Andy Trick and Chandler C llvm-svn: 216919
* unique_ptrify PBQPBuilder::buildDavid Blaikie2014-09-022-19/+21
| | | | llvm-svn: 216918
* Fix signed integer overflow in PPCInstPrinter.Alexey Samsonov2014-09-021-1/+1
| | | | | | This bug was reported by UBSan. llvm-svn: 216917
* Correct unique_ptr passing in MCObjectDisassembler::setFallbackRegionDavid Blaikie2014-09-021-2/+2
| | | | | | | | Rather than passing by lvalue reference, pass by value to ensure that the caller provides an rvalue (and use move assignment, rather than release+reset, to assign to the member variable) llvm-svn: 216916
* Fix left shifts by too large exponents in MCParserAlexey Samsonov2014-09-021-7/+8
| | | | | | | | (which happened only on error recovery path). This bug was reported by UBSan. llvm-svn: 216915
* Revert: [APFloat] Fixed a bug in method 'fusedMultiplyAdd'.Andrea Di Biagio2014-09-022-120/+1
| | | | | | | This reverts revision 216913; the new test added at revision 216913 caused regression failures on a couple of buildbots. llvm-svn: 216914
* [APFloat] Fixed a bug in method 'fusedMultiplyAdd'.Andrea Di Biagio2014-09-022-1/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | When folding a fused multiply-add builtin call, make sure that we propagate the correct result in the case where the addend is zero, and the two other operands are finite non-zero. Example: define double @test() { %1 = call double @llvm.fma.f64(double 7.0, double 8.0, double 0.0) ret double %1 } Before this patch, the instruction simplifier wrongly folded the builtin call in function @test to constant 'double 7.0'. With this patch, method 'fusedMultiplyAdd' correctly evaluates the multiply and propagates the expected result (i.e. 56.0). Added test fold-builtin-fma.ll with the reproducible from PR20832 plus extra test cases to verify the behavior of method 'fusedMultiplyAdd' in the presence of NaN/Inf operands. This fixes PR20832. Differential Revision: http://reviews.llvm.org/D5152 llvm-svn: 216913
OpenPOWER on IntegriCloud