summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix yet another aspect of the build breakage caused by r216949Jonathan Roelofs2014-09-031-0/+4
| | | | llvm-svn: 217001
* [CFLAA] Remove one final initializer listHal Finkel2014-09-031-1/+5
| | | | | | Maybe MSVC will be happy now... llvm-svn: 217000
* Fix comment that was obsoleted by r216949Jonathan Roelofs2014-09-021-4/+2
| | | | llvm-svn: 216999
* [CFLAA] And even more MSVC fixesHal Finkel2014-09-022-3/+6
| | | | | | Remove a couple more initializer lists and constexpr dependencies. llvm-svn: 216998
* Fix build breakage introduced in r216949Jonathan Roelofs2014-09-021-2/+2
| | | | | | | | The bug shows up on systems that `#define _POSIX_CLOCK_MONOTONIC 0` to indicate that users of CLOCK_MONOTONIC must check sysconf at runtime. See: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html llvm-svn: 216997
* Cleaning up remaining static initializers in Signals.incChris Bieneman2014-09-021-24/+31
| | | | llvm-svn: 216996
* [asan] Make vector asan annotations exception-friendlyKostya Serebryany2014-09-023-33/+243
| | | | | | | | | Fix vector asan annotations with RAII. Add a test. Also, remove one dead function. Review: http://reviews.llvm.org/D4170 llvm-svn: 216995
* [CFLAA] More cleanup for MSVCHal Finkel2014-09-022-11/+14
| | | | | | Remove more initializer lists, etc. llvm-svn: 216994
* Tablegen scheduling models don't reference empty itineraries as of r216919, ↵Pete Cooper2014-09-021-4/+5
| | | | | | so don't emit the unused itinerary variables llvm-svn: 216993
* RegisterContextLLDB::InitializeNonZerothFrame had a bit of code toJason Molenda2014-09-028-99/+39
| | | | | | | | | | | | | | | | | | | | detct unwind loops but there was a code path through there (using architecture default unwind plans) that didn't do the check, and could end up with an infinite loop unwind. Move that code into a separate method and call it from both places where it is needed. Also remove the use of ABI::FunctionCallsChangeCFA in that check. I thought about it a lot and none of the architecutres that we're supporting today can have a looping CFA. Since the unwinder isn't using ABI::FunctionCallsChangeCFA() and ABI::StackUsesFrames(), and the unwinder was the only reason those methods exists, I removed them from the ABI and all its plugins. <rdar://problem/17364005> llvm-svn: 216992
* [CFLAA] No initializer lists for MSVCHal Finkel2014-09-022-28/+30
| | | | | | MSVC 2012 does not understand initializer lists; remove them. llvm-svn: 216991
* Missing test from r216989Renato Golin2014-09-021-0/+34
| | | | llvm-svn: 216990
* Only emit movw on ARMv6T2+Renato Golin2014-09-022-2/+3
| | | | | | | | Fix PR18364. Patch by Dimitry Andric. llvm-svn: 216989
* unique_ptrify passing the TargetMachine to ExecutionEngine::MCJITCtorDavid Blaikie2014-09-024-21/+16
| | | | llvm-svn: 216988
* [CFLAA] Remove tautological comparisonHal Finkel2014-09-021-1/+1
| | | | | | | | Fixes this (the warning is right, the unsigned value is not negative): lib/Analysis/StratifiedSets.h:689:53: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare] bool inbounds(StratifiedIndex N) const { return N >= 0 && N < Links.size(); } llvm-svn: 216987
* Reinstate "Update for llvm API change.""Eric Christopher2014-09-021-1/+0
| | | | | | This reinstates r215113. llvm-svn: 216986
* [FastISel][AArch64] Use the target-dependent selection code for shifts first.Juergen Ributzka2014-09-023-29/+18
| | | | | | | | | | | | This uses the target-dependent selection code for shifts first, which allows us to create better code for shifts with immediates and sign-/zero-extend folding. Vector type are not handled yet and the code falls back to target-independent instruction selection for these cases. This fixes rdar://problem/17907920. llvm-svn: 216985
* [FastISel][AArch64] Use a new helper function to determine if a value type ↵Juergen Ributzka2014-09-021-6/+25
| | | | | | | | | | | | is supported. NFCI. FastISel for AArch64 supports more value types than are actually legal. Use a dedicated helper function to reflect this. It is very similar to the isLoadStoreTypeLegal function, with the exception that vector types are not supported yet. llvm-svn: 216984
* Nuke MCAnalysis.Sean Silva2014-09-0231-2854/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code is buggy and barely tested. It is also mostly boilerplate. (This includes MCObjectDisassembler, which is the interface to that functionality) Following an IRC discussion with Jim Grosbach, it seems sensible to just nuke the whole lot of functionality, and dig it up from VCS if necessary (I hope not!). All of this stuff appears to have been added in a huge patch dump (look at the timeframe surrounding e.g. r182628) where almost every patch seemed to be untested and not reviewed before being committed. Post-review responses to the patches were never addressed. I don't think any of it would have passed pre-commit review. I doubt anyone is depending on this, since this code appears to be extremely buggy. In limited testing that Michael Spencer and I did, we couldn't find a single real-world object file that wouldn't crash the CFG reconstruction stuff. The symbolizer stuff has O(n^2) behavior and so is not much use to anyone anyway. It seemed simpler to remove them as a whole. Most of this code is boilerplate, which is the only way it was able to scrape by 60% coverage. HEADSUP: Modules folks, some files I nuked were referenced from include/llvm/module.modulemap; I just deleted the references. Hopefully that is the right fix (one was a FIXME though!). llvm-svn: 216983
* Reinstate "Nuke the old JIT."Eric Christopher2014-09-02258-12590/+184
| | | | | | | | Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reinstates commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 216982
* [CFLAA] LLVM_CONSTEXPR -> constHal Finkel2014-09-021-1/+1
| | | | | | | The number is just a constant, and this should make MSVC happy (or at least happier). llvm-svn: 216981
* [X86] Allow atomic operations using immediates to avoid using a registerRobin Morisset2014-09-024-38/+669
| | | | | | | | | | | | | | | | The only valid lowering of atomic stores in the X86 backend was mov from register to memory. As a result, storing an immediate required a useless copy of the immediate in a register. Now these can be compiled as a simple mov. Similarily, adding/and-ing/or-ing/xor-ing an immediate to an atomic location (but through an atomic_store/atomic_load, not a fetch_whatever intrinsic) can now make use of an 'add $imm, x(%rip)' instead of using a register. And the same applies to inc/dec. This second point matches the first issue identified in http://llvm.org/bugs/show_bug.cgi?id=17281 llvm-svn: 216980
* [CFLAA] constexpr -> LLVM_CONSTEXPRHal Finkel2014-09-022-13/+15
| | | | | | Attempt to fix the MSVC build by not using constexpr. llvm-svn: 216979
* 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
OpenPOWER on IntegriCloud