| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 206287
|
| |
|
|
|
|
|
| |
This brings it into line with the AArch64 behaviour and should open the way for
certain OpenCL features.
llvm-svn: 206286
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206284
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206282
|
| |
|
|
| |
llvm-svn: 206281
|
| |
|
|
|
|
| |
larger than needed. This was a leftover of the allocator1=>allocator2 migration; thanks Yuri Gribov for reminding
llvm-svn: 206280
|
| |
|
|
| |
llvm-svn: 206279
|
| |
|
|
| |
llvm-svn: 206278
|
| |
|
|
|
|
| |
createMCDisassembler introduced by r206241)
llvm-svn: 206277
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D3328
llvm-svn: 206276
|
| |
|
|
| |
llvm-svn: 206275
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206273
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206271
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206268
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206266
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206264
|
| |
|
|
|
|
|
|
|
|
|
| |
Before:
int bi{1 '000' 000};
After:
int bi{1'000'000};
This fixes llvm.org/PR19342.
llvm-svn: 206263
|
| |
|
|
| |
llvm-svn: 206262
|
| |
|
|
|
|
| |
called for SSE-enabled code generator, even if LLVM is not built with -msse.
llvm-svn: 206261
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This somewhat improves the performance problem reported in
llvm.org/PR18761. No other behavior changes intended.
llvm-svn: 206258
|
| |
|
|
| |
llvm-svn: 206257
|
| |
|
|
|
|
|
|
|
|
| |
'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
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206254
|
| |
|
|
|
|
| |
shortly.
llvm-svn: 206253
|
| |
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206252
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 206250
|
| |
|
|
| |
llvm-svn: 206249
|
| |
|
|
| |
llvm-svn: 206248
|
| |
|
|
|
|
| |
The Ts/Tu/Te manglings should occur before the nested-name's N.
llvm-svn: 206247
|
| |
|
|
| |
llvm-svn: 206246
|
| |
|
|
| |
llvm-svn: 206245
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206243
|
| |
|
|
| |
llvm-svn: 206242
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
*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
|
| |
|
|
|
|
| |
Range-based for loops. No functional change intended.
llvm-svn: 206239
|
| |
|
|
| |
llvm-svn: 206238
|