summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AArch64/ARM64: add patterns for various commutations of FNMADD.Tim Northover2014-04-152-0/+16
| | | | llvm-svn: 206287
* AArch64/ARM64: add half as a storage type on ARM64.Tim Northover2014-04-155-15/+20
| | | | | | | This brings it into line with the AArch64 behaviour and should open the way for certain OpenCL features. llvm-svn: 206286
* AArch64/ARM64: copy patterns for fixed-point conversionsTim Northover2014-04-153-15/+99
| | | | | | | | Code is mostly copied directly across, with a slight extension of the ISelDAGToDAG function so that it can cope with the floating-point constants being behind a litpool. llvm-svn: 206285
* ARM64: add constraints to various FastISel operationsTim Northover2014-04-153-10/+23
| | | | llvm-svn: 206284
* FastISel: constrain the RegClass of operands when emitting instructions.Tim Northover2014-04-153-27/+53
| | | | | | | | | | | ARM64 suffered multiple -verify-machineinstr failures (principally over the xsp/xzr issue) because FastISel was completely ignoring which subset of the general-purpose registers each instruction required. More fixes are coming in ARM64 specific FastISel, but this should cover the generic problems. llvm-svn: 206283
* AArch64/ARM64: add more arm64 lines to AArch64 regression testsTim Northover2014-04-154-19/+39
| | | | llvm-svn: 206282
* AArch64/ARM64: add dp tests from AArch64Tim Northover2014-04-154-11/+19
| | | | llvm-svn: 206281
* [asan] fix the alloctor code to not use opaque data structure, which was ↵Kostya Serebryany2014-04-152-55/+57
| | | | | | larger than needed. This was a leftover of the allocator1=>allocator2 migration; thanks Yuri Gribov for reminding llvm-svn: 206280
* ARM64AsmParser.cpp: Fix vg_leak in MC/ARM64/fp-encoding.s.NAKAMURA Takumi2014-04-151-0/+2
| | | | llvm-svn: 206279
* Remove trailing spacesSylvestre Ledru2014-04-152-84/+83
| | | | llvm-svn: 206278
* Make LLDB builds against the current LLVM sources (modification on ↵Sylvestre Ledru2014-04-151-1/+1
| | | | | | createMCDisassembler introduced by r206241) llvm-svn: 206277
* Optional hash symbol feature support for ARM64Stepan Dyatkovskiy2014-04-152-16/+68
| | | | | | http://reviews.llvm.org/D3328 llvm-svn: 206276
* Allow address space qualifiers on OpenCL array parametersFraser Cormack2014-04-153-2/+14
| | | | llvm-svn: 206275
* [ASan] Replace a CHECK for mmap_limit_mb with a RAW_CHECK.Alexander Potapenko2014-04-152-2/+2
| | | | | | | In the case of a CHECK failure the program tries to fork and launch llvm-symbolizer, but hangs in mz_force_lock because one of the allocator locks is already acquired. llvm-svn: 206274
* PR19178 __is_constructible returns true for abstract types.Nikola Smiljanic2014-04-152-0/+10
| | | | llvm-svn: 206273
* Current definition of subtract with immediate instruction aliases uses ↵Vladimir Medic2014-04-153-49/+14
| | | | | | CodeGenOnly defined instructions and post matcher expansion methods to emit real instructions add with immediate. However, they can directly alias add with immediate instruction and remove unnecessary definitions and code in MipsAsmParser.cpp. This patch makes no change in functionality, just removes unnecessary definitions and code. llvm-svn: 206272
* vect.omp.persistence.ll REQUIRES asserts due to -debug-only.NAKAMURA Takumi2014-04-151-0/+1
| | | | llvm-svn: 206271
* Remove > 1 check against a boolean.Hafiz Abid Qadeer2014-04-151-1/+1
| | | | | | | I saw a complain about this code on the LLVM channel. It looks wrong to me as has_tag is a boolean. I am committing it as obvious. llvm-svn: 206270
* clang-format: Understand proto text format without commas.Daniel Jasper2014-04-154-6/+15
| | | | | | | | | | | | | | | | Also removed spaces before colons as they don't seem to be used frequently. Before: optional int32 b = 2 [(foo_options) = {aaaaaaaaaaaaaaaaaaa : 123 bbbbbbbbbbbbbbbbbbbbbbbb : "baz"}]; After: optional int32 b = 2 [(foo_options) = {aaaaaaaaaaaaaaaaaaa: 123, bbbbbbbbbbbbbbbbbbbbbbbb:"baz"}]; llvm-svn: 206269
* xDaniel Jasper2014-04-151-0/+3
| | | | llvm-svn: 206268
* [Allocator] Finally, finish nuking the redundant code that led me hereChandler Carruth2014-04-153-25/+12
| | | | | | | | | | | | | | | | by removing the MallocSlabAllocator entirely and just using MallocAllocator directly. This makes all off these allocators expose and utilize the same core interface. The only ugly part of this is that it exposes the fact that the JIT allocator has no real handling of alignment, any more than the malloc allocator does. =/ It would be nice to fix both of these to support alignments, and then to leverage that in the BumpPtrAllocator to do less over allocation in order to manually align pointers. But, that's another patch for another day. This patch has no functional impact, it just removes the somewhat meaningless wrapper around MallocAllocator. llvm-svn: 206267
* D3348 - [BUG] "Rotate Loop" pass kills "llvm.vectorizer.enable" metadataAlexey Bataev2014-04-153-6/+110
| | | | llvm-svn: 206266
* [Allocator] Pass the size to the deallocation function. This, on someChandler Carruth2014-04-153-13/+17
| | | | | | | | | | | | allocation libraries, may allow more efficient allocation and deallocation. It at least makes the interface implementable by the JIT memory manager. However, this highlights problematic overloading between the void* and the T* deallocation functions. I'm looking into a better way to do this, but as it happens, it comes up rarely in the codebase. llvm-svn: 206265
* Test commit: minor formattingFraser Cormack2014-04-151-2/+1
| | | | llvm-svn: 206264
* clang-format: Basic support for C++1y.Daniel Jasper2014-04-152-0/+5
| | | | | | | | | | | Before: int bi{1 '000' 000}; After: int bi{1'000'000}; This fixes llvm.org/PR19342. llvm-svn: 206263
* [asan] try fixing the mmap_limit_mb failure on buildbot (tests pass locally)Kostya Serebryany2014-04-152-4/+7
| | | | llvm-svn: 206262
* X86JITInfo: [x86] Rework r206240, X86CompilationCallback_SSE() should be ↵NAKAMURA Takumi2014-04-151-1/+7
| | | | | | called for SSE-enabled code generator, even if LLVM is not built with -msse. llvm-svn: 206261
* clang-format: Early cut-off for inlining nested blocks.Daniel Jasper2014-04-151-0/+7
| | | | | | | | | | | | | | Specifically, for a nested block or lambda, don't try to put the single statement body inline, if it exceeds the column limit. This should not change any observable behavior (as those would never have led to the 'best' solution), but significantly speeds up formatting time. This fixes llvm.org/PR18761. Formatting time goes down from ~100s to a few ms. llvm-svn: 206260
* [Allocator] Fix r206256 which got the enabling case backwards on theseChandler Carruth2014-04-151-2/+2
| | | | | | | | | | overloads. This doesn't matter *that* much yet, but it will in a subsequent patch. I had tested the original pattern, but not my attempt to pacify MSVC. This at least appears to work. Still fixing the rest of the fallout in the final patch that uses these overloads, but it will follow shortly. llvm-svn: 206259
* clang-format: Cache results of formatting nested blocks.Daniel Jasper2014-04-151-0/+14
| | | | | | | This somewhat improves the performance problem reported in llvm.org/PR18761. No other behavior changes intended. llvm-svn: 206258
* Fix broken build of llvm using clang.Nick Lewycky2014-04-151-0/+2
| | | | llvm-svn: 206257
* [Allocator] MSVC apparantly has broken SFINAE context handling ofChandler Carruth2014-04-151-2/+5
| | | | | | | | | | 'sizeof(T)' for T == void and produces a hard error. I cannot fathom why this is OK. Oh well. switch to an explicit test for being the (potentially qualified) void type, which is the only specific case I was worried about. Hopefully this survives the libstdc++ build bots which have limited type traits implementations... llvm-svn: 206256
* Break PseudoSourceValue out of the Value hierarchy. It is now the root of ↵Nick Lewycky2014-04-1528-338/+280
| | | | | | its own tree containing FixedStackPseudoSourceValue (which you can use isa/dyn_cast on) and MipsCallEntry (which you can't). Anything that needs to use either a PseudoSourceValue* and Value* is strongly encouraged to use a MachinePointerInfo instead. llvm-svn: 206255
* [C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper2014-04-1519-93/+93
| | | | | | instead of comparing to nullptr. llvm-svn: 206254
* Add a DenseMapInfo specialization for PointerUnion. In tree user to land ↵Nick Lewycky2014-04-151-0/+28
| | | | | | shortly. llvm-svn: 206253
* [C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper2014-04-1573-456/+461
| | | | | | instead of comparing to nullptr. llvm-svn: 206252
* [Allocator] Constrain the Deallocate templated overloads to only applyChandler Carruth2014-04-151-2/+5
| | | | | | | | | | | to types which we can compute the size of. The comparison with zero isn't actually interesting here, it's mostly about putting sizeof into a sfinae context. This is particular important for Deallocate as otherwise the void* overload can quickly become ambiguous. llvm-svn: 206251
* Use unique_ptr to manage TypePromotionActions owned by TypePromotionTransaction.David Blaikie2014-04-151-28/+19
| | | | llvm-svn: 206250
* Use unique_ptr to manage ownership of GCFunctionInfos in GCStrategyDavid Blaikie2014-04-152-12/+4
| | | | llvm-svn: 206249
* Use unique_ptr for the result of Registry entries.David Blaikie2014-04-153-12/+13
| | | | llvm-svn: 206248
* AST: Elaborated type specifier mangling occurs before nested-nameDavid Majnemer2014-04-152-6/+6
| | | | | | The Ts/Tu/Te manglings should occur before the nested-name's N. llvm-svn: 206247
* Use unique_ptr to manage ownership of GCStrategy objects in GCMetadataDavid Blaikie2014-04-154-22/+16
| | | | llvm-svn: 206246
* Use unique_ptr for section/segment ownership in WinCOFFObjectWriterDavid Blaikie2014-04-151-41/+32
| | | | llvm-svn: 206245
* Use unique_ptr to own MCFunctions within MCModule.David Blaikie2014-04-154-14/+14
| | | | | | | | MCModule's ctor had to be moved out of line so the definition of MCFunction was available. (ctor requires the dtor of members (in case the ctor throws) which required access to the dtor of MCFunction) llvm-svn: 206244
* [C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper2014-04-1559-563/+574
| | | | | | instead of comparing to nullptr. llvm-svn: 206243
* Use std::unique_ptr to manage MCBasicBlocks in MCFunction.David Blaikie2014-04-153-21/+16
| | | | llvm-svn: 206242
* [MC] Require an MCContext when constructing an MCDisassembler.Lang Hames2014-04-1517-80/+119
| | | | | | | | | | | | | | | | This patch re-introduces the MCContext member that was removed from MCDisassembler in r206063, and requires that an MCContext be passed in at MCDisassembler construction time. (Previously the MCContext member had been initialized in an ad-hoc fashion after construction). The MCCContext member can be used by MCDisassembler sub-classes to construct constant or target-specific MCExprs. This patch updates disassemblers for in-tree targets, and provides the MCRegisterInfo instance that some disassemblers were using through the MCContext (previously those backends were constructing their own MCRegisterInfo instances). llvm-svn: 206241
* X86JITInfo: [x86] Use X86CompilationCallback_SSE() along;NAKAMURA Takumi2014-04-151-3/+2
| | | | | | | | | | *not* Subtarget->hasSSE1() *but* __SSE__, the flag that LLVM libraries are compiled The callback calls internal LLVM JIT libraries. It may be built with -msse (or above). FIXME: JIT may use "host" instead of "generic" by default. llvm-svn: 206240
* [ARM64,C++11]: Range'ify the dead-register-definition pass.Jim Grosbach2014-04-151-27/+23
| | | | | | Range-based for loops. No functional change intended. llvm-svn: 206239
* Add iterator_range for MachineInstr defs.Jim Grosbach2014-04-151-0/+16
| | | | llvm-svn: 206238
OpenPOWER on IntegriCloud