1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

115031 Commits

Author SHA1 Message Date
Sanjay Patel
a04711f4cb remove function names from comments; NFC
llvm-svn: 232328
2015-03-15 18:16:04 +00:00
Sanjay Patel
5a1df6f6b1 fix typo: NFC
llvm-svn: 232327
2015-03-15 18:11:35 +00:00
Simon Pilgrim
fc49db1d46 Use SDValue bool check to tidyup some possible combines. NFC.
llvm-svn: 232325
2015-03-15 17:21:35 +00:00
Simon Pilgrim
cd898479c0 [SSE} Added tests for float4-float3 conversions (PR11580)
llvm-svn: 232324
2015-03-15 16:19:15 +00:00
Benjamin Kramer
09f8543349 Factor the iterators of ImmutableSet/ImmutableMap into a common base class
This simplifies code quite a bit and brings the iterators closer to
C++'s iterator concept. No functional change intended.

llvm-svn: 232319
2015-03-15 13:26:03 +00:00
David Majnemer
e4b732cd4e ImmutableSet: Rename Self to SelfTy to make it more clear it is a type
No functional change intended.

llvm-svn: 232317
2015-03-15 07:09:20 +00:00
David Majnemer
ade8f38a4d PostOrderIterator: Remove stray semicolon
llvm-svn: 232316
2015-03-15 07:09:18 +00:00
Duncan P. N. Exon Smith
da8c0123c6 IR: Default the Metadata::dump() argument "harder" after r232275
Use an overload instead of a default argument for `Metadata::dump()`.
The latter seems to require calling `dump(nullptr)` explicitly when
using a debugger, where as the former doesn't.

Other than utility for debugging, there's NFC here.

llvm-svn: 232315
2015-03-15 06:53:32 +00:00
David Majnemer
6c4a4dd821 Restore the gcc build
llvm-svn: 232314
2015-03-15 06:11:24 +00:00
David Blaikie
be05df9e18 Remove iterator I accidentally left behind
llvm-svn: 232312
2015-03-15 03:21:20 +00:00
David Blaikie
d2224f8d9b Remove use of reserved identifier _Iterator
llvm-svn: 232311
2015-03-15 03:18:21 +00:00
David Blaikie
8cc4a0c8c7 Remove use of reserved identifiers in Twine
llvm-svn: 232310
2015-03-15 03:17:28 +00:00
David Blaikie
9b68e6accb Remove use of reserved identifier and some excess 'inline' usage
llvm-svn: 232309
2015-03-15 03:11:26 +00:00
David Blaikie
60a1bdcf4c Remove reserved identifier & some unnecessary 'inline'
llvm-svn: 232308
2015-03-15 03:11:24 +00:00
David Blaikie
c8b3422daa Remove use of reserved identifier
& some unnecessary 'inline' keywords

llvm-svn: 232307
2015-03-15 03:03:41 +00:00
Frederic Riss
435f6023d0 [dsymutil] Add an way to iterate over a DebugMapObject symbols.
llvm-svn: 232305
2015-03-15 02:02:53 +00:00
David Blaikie
7dccf1828b Remove use of unreserved identifier (_Self)
And some unnecessary inline keywords

llvm-svn: 232304
2015-03-15 01:42:28 +00:00
David Blaikie
feec0ec448 Remove use of a reserved identifier
(& some unnecessary 'inline' keywords, too)

llvm-svn: 232303
2015-03-15 01:40:42 +00:00
David Blaikie
a779c869b7 Remove use of reserved identifier
The C++ standard reserves all identifiers starting with an underscore
followed by an uppercase letter for the implementation for any use.

llvm-svn: 232302
2015-03-15 01:37:01 +00:00
David Majnemer
f1c707db2c llvm-cxxdump: Rename llvm-vtabledump to llvm-cxxdump
llvm-vtabledump has grown enough functionality not related to vtables
that it deserves a name which is more descriptive.

llvm-svn: 232301
2015-03-15 01:30:58 +00:00
Frederic Riss
409c061ddc [dsymutil] Add function size to the debug map.
The debug map embedded by ld64 in binaries conatins function sizes.
These sizes are less precise than the ones given by the debug information
(byte granularity vs linker atom granularity), but they might cover code
that is referenced in the line table but not in the DIE tree (that might
very well be a compiler bug that I need to investigate later).
Anyway, extracting that information is necessary to be able to mimic
dsymutil's behavior exactly.

llvm-svn: 232300
2015-03-15 01:29:30 +00:00
Duncan P. N. Exon Smith
27ff67c213 DbgIntrinsicInst: Downcast to specialized MDNodes in accessors
Change accessors to downcast to `MDLocalVariable` and `MDExpression`,
now that we have -verify checks in place to confirm that it's safe.

llvm-svn: 232299
2015-03-15 01:23:20 +00:00
David Blaikie
39ee3848e4 Remove some unnecessary 'inline' keywords
llvm-svn: 232298
2015-03-15 01:21:37 +00:00
David Blaikie
38fa06a730 IntervalIterator: Add move semantics rather than relying on broken implicit copy ctor (found with -Wdeprecated)
We were just getting lucky because the copy ctor would be elided by RVO.

llvm-svn: 232297
2015-03-15 01:21:34 +00:00
Duncan P. N. Exon Smith
9f52f307c2 Verifier: Check debug info intrinsic arguments
Verify that debug info intrinsic arguments are valid.  (These checks
will not recurse through the full debug info graph, so they don't need
to be cordoned of in `DebugInfoVerifier`.)

With those checks in place, changing the `DbgIntrinsicInst` accessors to
downcast to `MDLocalVariable` and `MDExpression` is natural (added isa
specializations in `Metadata.h` to support this).

Added tests to `test/Verifier` for the new -verify checks, and fixed the
debug info in all the in-tree tests.

If you have out-of-tree testcases that have started to fail to -verify,
hopefully the verify checks are helpful.  The most likely problem is
that the expression argument is `!{}` (instead of `!MDExpression()`).

llvm-svn: 232296
2015-03-15 01:21:30 +00:00
David Blaikie
441e94fa44 [opaque pointer type] IRBuilder gep migration progress
llvm-svn: 232294
2015-03-15 01:03:19 +00:00
George Burgess IV
24b00ca753 Made CFLAA agree with clang-format. NFC.
So everyone's lives are easier in the future

llvm-svn: 232293
2015-03-15 00:52:21 +00:00
Duncan P. N. Exon Smith
b5366a7529 Verifier: Remove unnecessary null check
This is already assumed to be non-null above due to a dyn_cast<>.  Also
remove extraneous braces around statement.

llvm-svn: 232292
2015-03-15 00:50:57 +00:00
Duncan P. N. Exon Smith
9d8b121b0f Verifier: Make the raw_ostream constructor argument required
This was passed inconsistently; seems clearer to make it required anyway.

llvm-svn: 232291
2015-03-15 00:46:57 +00:00
Duncan P. N. Exon Smith
e0106d31c8 Assembler: Rewrite test for function-local metadata
This test for function-local metadata did strange things, and never
really sent in valid arguments for `llvm.dbg.declare` and
`llvm.dbg.value` intrinsics.  Those that might have once been valid have
bitrotted.

Rewrite it to be a targeted test for function-local metadata --
unrelated to debug info, which is tested elsewhere -- and rename it to
better match other metadata-related tests.

(Note: the scope of function-local metadata changed drastically during
the metadata/value split, but I didn't properly clean up this testcase.
Most of the IR in this file, while invalid for debug info intrinsics,
used to provide coverage for various (now illegal) forms of
function-local metadata.)

llvm-svn: 232290
2015-03-15 00:45:51 +00:00
Simon Pilgrim
dee198643e Simplified some stack folding tests.
Replaced explicit pmovzx* intrinsic tests with general shuffles

llvm-svn: 232286
2015-03-14 23:16:43 +00:00
Mehdi Amini
459bdb4f65 Update InstCombine to transform aggregate stores into scalar stores.
Summary: This is a first step toward getting proper support for aggregate loads and stores.

Test Plan: Added unittests

Reviewers: reames, chandlerc

Reviewed By: chandlerc

Subscribers: majnemer, joker.eph, chandlerc, llvm-commits

Differential Revision: http://reviews.llvm.org/D7780

Patch by Amaury Sechet

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 232284
2015-03-14 22:19:33 +00:00
Mehdi Amini
9ad11af6f1 Update LangRef now that a DataLayout is mandatory.
Reviewers: rafael, echristo

Reviewed By: rafael

Subscribers: rafael, llvm-commits

Differential Revision: http://reviews.llvm.org/D8230

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 232283
2015-03-14 22:04:06 +00:00
David Blaikie
ed36e98a6c Add some missed formatting
llvm-svn: 232281
2015-03-14 21:40:12 +00:00
David Blaikie
71a16e92de [opaque pointer type] gep API migration
This concludes the GetElementPtrInst::Create migration, thus marking the
beginning of the IRBuilder::CreateGEP* migration to come.

llvm-svn: 232280
2015-03-14 21:40:10 +00:00
David Blaikie
0db33accc2 [opaque pointer type] gep API migration
llvm-svn: 232279
2015-03-14 21:20:51 +00:00
Chris Bieneman
8f7b69cfb8 A few minor updates based on feedback from Justin and a few things I thought were missing.
* Moved autotools configure & build example out of "Getting Started Quickly (A Summary)" and into BuildingLLVMWithAutoTools.
* Removed the annotations that CMake is the recommended process and Autotools is alternate.
* Added brief documentation about build targets under "Getting Started Quickly..."
* Added Overview text to BuildingLLVMWithAutotools
* Fixed up a broken link.

llvm-svn: 232278
2015-03-14 21:20:32 +00:00
David Blaikie
4b49042238 [opaque pointer type] gep API migration, ArgPromo
This involved threading the type-to-gep through a data structure, since
the code was relying on the pointer type to carry this information. I
imagine there will be a lot of this work across the project... slow
work chasing each use case, but the assertions will help keep me honest.

llvm-svn: 232277
2015-03-14 21:11:26 +00:00
David Blaikie
162ef433a8 [opaque pointer type] more gep API migrations (AsmParser)
llvm-svn: 232276
2015-03-14 21:11:24 +00:00
Duncan P. N. Exon Smith
40ea3b1320 IR: Make Metadata::print() reliable and useful
Replumb the `AsmWriter` so that `Metadata::print()` is generally useful.
(Similarly change `Metadata::printAsOperand()`.)

- `SlotTracker` now has a mode where all metadata will be correctly
  numbered when initializing a `Module`.  Normally, `Metadata` only
  referenced from within `Function`s gets numbered when the `Function`
  is incorporated.
- `Metadata::print()` and `Metadata::printAsOperand()` (and
  `Metadata::dump()`) now take an optional `Module` argument.  When
  provided, `SlotTracker` is initialized with the new mode, and the
  numbering will be complete and consistent for all calls to `print()`.
- `Value::print()` uses the new `SlotTracker` mode when printing
  intrinsics with `MDNode` operands, `MetadataAsValue` operands, or the
  bodies of functions.  Thus, metadata numbering will be consistent
  between calls to `Metadata::print()` and `Value::print()`.
- `Metadata::print()` (and `Metadata::dump()`) now print the full
  definition of `MDNode`s:

    !5 = !{!6, !"abc", !7}

  This matches behaviour for `Value::print()`, which includes the name
  of instructions.
- Updated call sites in `Verifier` to call `print()` instead of
  `printAsOperand()`.

All this, so that `Verifier` can print out useful failure messages that
involve `Metadata` for PR22777.

Note that `Metadata::printAsOperand()` previously took an optional
`bool` and `Module` operand.  The former was cargo-culted from
`Value::printAsOperand()` and wasn't doing anything useful.  The latter
didn't give consistent results (without the new `SlotTracker` mode).

llvm-svn: 232275
2015-03-14 20:19:36 +00:00
David Blaikie
6b8c7476b9 [opaque pointer type] more gep API migration
llvm-svn: 232274
2015-03-14 19:53:33 +00:00
Duncan P. N. Exon Smith
5ab4468149 AsmWriter: Split out SlotTracker::processInstructionMetadata(), NFC
llvm-svn: 232273
2015-03-14 19:48:31 +00:00
Duncan P. N. Exon Smith
064bb60944 AsmWriter: Use range-based for, NFC
llvm-svn: 232272
2015-03-14 19:44:01 +00:00
David Blaikie
7279c7f872 [opaque pointer type] more gep API migrations
Adding nullptr to all the IRBuilder stuff because it's the first thing
that fails to build when testing without the back-compat functions, so
I'll keep having to re-add these locally for each chunk of migration I
do. Might as well check them in to save me the churn. Eventually I'll
have to migrate these too, but I'm going breadth-first.

llvm-svn: 232270
2015-03-14 19:24:04 +00:00
Yaron Keren
1f8354df18 No need to prototype RtlCaptureContext with mingw-w64.
llvm-svn: 232269
2015-03-14 19:20:56 +00:00
Duncan P. N. Exon Smith
2a90990ab0 Recover the ability to 'b CheckFailed' after r231577
Given that the stated purpose of `CheckFailed()` is to provide a nice
spot for a breakpoint, it'd be nice not to have to use a regex to break
on it.  Recover the ability to simply use `b CheckFailed` by
specializing the message-only version, and by changing the variadic
version to call into the message-only version.

llvm-svn: 232268
2015-03-14 16:47:37 +00:00
Frederic Riss
a282092928 [dsymutil] Add support for debug_loc section.
There is no need to look into the location expressions to transfer them,
the only modification to apply is to patch their base address to reflect
the linked function address.

llvm-svn: 232267
2015-03-14 15:49:07 +00:00
Benjamin Kramer
0f26f87dee array_pod_sort: Since we're checking the length anyways also ignore one-element ranges
Sorting them is obviously a noop and we can skip the libc call. This is
surprisingly common in clang. NFC.

llvm-svn: 232265
2015-03-14 14:53:14 +00:00
Daniel Jasper
a27feb2b3d [MachineLICM] First steps of sinking GEPs near calls.
Specifically, if there are copy-like instructions in the loop header
they are moved into the loop close to their uses. This reduces the live
intervals of the values and can avoid register spills.

This is working towards a fix for http://llvm.org/PR22230.
Review: http://reviews.llvm.org/D7259

Next steps:
- Find a better cost model (which non-copy instructions should be sunk?)
- Make this dependent on register pressure

llvm-svn: 232262
2015-03-14 10:58:38 +00:00
Vasileios Kalintiris
4917cc3648 [mips] Remove trivial header for the MipsModuleISelDAGToDAG pass. NFC.
llvm-svn: 232260
2015-03-14 09:20:52 +00:00