1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

9414 Commits

Author SHA1 Message Date
LLVM GN Syncbot
54ddb1ae8c [gn build] Port 8adc4d1ec76 2020-11-20 00:15:31 +00:00
Nico Weber
344a0904d8 [gn build] (manually) merge 1fb91fcf9cfe849 2020-11-19 14:24:35 -05:00
Duncan P. N. Exon Smith
b6b630c8ab ADT: Add assertions to SmallVector::insert, etc., for reference invalidation
2c196bbc6bd897b3dcc1d87a3baac28e1e88df41 asserted that
`SmallVector::push_back` doesn't invalidate the parameter when it needs
to grow. Do the same for `resize`, `append`, `assign`, `insert`, and
`emplace_back`.

Differential Revision: https://reviews.llvm.org/D91744
2020-11-18 17:36:28 -08:00
Moritz Sichert
0fadcfd431 Added GDB pretty printer for StringMap
Reviewed By: csigg, dblaikie

Differential Revision: https://reviews.llvm.org/D91183
2020-11-18 16:33:34 -08:00
Nico Weber
a63dbe29d6 [gn build] (manually) merge f0785c1f7ac 2020-11-18 17:17:01 -05:00
Nico Weber
a121181074 lld: Make tests depend on llvm-symbolizer after bc98034040
Fixes test failures when building just `check-lld` in a clean build dir.
2020-11-18 11:43:44 -05:00
Jan Svoboda
896eefbaeb [clang][cli] Remove NormalizerRetTy and use the decltype of the KeyPath instead
Depends on D83315

Reviewed By: Bigcheese

Original patch by Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D83406
2020-11-18 11:31:13 +01:00
Jan Svoboda
e8d6a91523 [clang][cli] Turn arcmt-* options into a single option
- The new option, -arcmt-action, is a simple enum based option.
- The driver is modified to translate the existing -ccc-acmt-* options accordingly
Depends on D83298

Reviewed By: Bigcheese

Original patch by Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D83315
2020-11-18 10:53:41 +01:00
LLVM GN Syncbot
78ab48c03d [gn build] Port 6a89cb8136f 2020-11-18 03:04:01 +00:00
LLVM GN Syncbot
715cfa103d [gn build] Port 41bcc05e2a4 2020-11-18 02:45:24 +00:00
Nick Desaulniers
b2b1b97849 Revert "[IR] add fn attr for no_stack_protector; prevent inlining on mismatch"
This reverts commit b7926ce6d7a83cdf70c68d82bc3389c04009b841.

Going with a simpler approach.
2020-11-17 17:27:14 -08:00
Arthur Eubanks
872429df99 [gn build] Use forward slashes for goma directory
gn generates improper compile_commands.json files by not escaping
backslashes.
2020-11-17 17:10:36 -08:00
LLVM GN Syncbot
38217e55e7 [gn build] Port f8f6d6455f9 2020-11-18 00:02:29 +00:00
LLVM GN Syncbot
8af8e38cdc [gn build] Port 8fb4417d82b 2020-11-17 21:45:53 +00:00
Amy Huang
4ffaa23e10 [llvm-symbolizer] Add inline stack traces for Windows.
This adds inline stack frames for symbolizing on Windows.

Differential Revision: https://reviews.llvm.org/D88988
2020-11-17 13:19:13 -08:00
Florian Hahn
db0b0dabe6 [AsmWriter] Factor out mnemonic generation to accessible getMnemonic.
This patch factors out the part of printInstruction that gets the
mnemonic string for a given MCInst. This is intended to be used
subsequently for the instruction-mix remarks to display the final
mnemonic (D90040).

Unfortunately making `getMnemonic` available to the AsmPrinter
seems to require making it virtual. Not sure if there's a way around
that with the current layering of the AsmPrinters.

Reviewed By: Paul-C-Anagnostopoulos

Differential Revision: https://reviews.llvm.org/D90039
2020-11-17 09:47:38 +00:00
LLVM GN Syncbot
0bc59c8f71 [gn build] Port 8dbe44cb293 2020-11-16 14:58:16 +00:00
Jan Svoboda
f2ea1a89f7 [clang][cli] Add support for options with two flags for controlling the same field.
This enables automatically parsing and generating CC1 arguments for options where two flags control the same field, e.g. -fexperimental-new-pass-manager and -fno-experimental new pass manager.

Reviewed By: Bigcheese, dexonsmith

Original patch by Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D83071
2020-11-16 10:21:54 +01:00
Wang, Pengfei
c275334e12 [CodeGen][X86] Remove unused trivial check-prefixes from all CodeGen/X86 directory.
I had manually removed unused prefixes from CodeGen/X86 directory for more than 100 tests.
I checked the change history for each of them at the beginning, and then I mainly focused on the format since I found all of the unused prefixes were result from either insensible copy or residuum after functional update.
I think it's OK to remove the remaining X86 tests by script now. I wrote a rough script which works for me in most tests. I put it in llvm/utils temporarily for review and hope it may help other components owners.
The tests in this patch are all generated by the tool and checked by update tool for the autogenerated tests. I skimmed them and checked about 30 tests and didn't find any unexpected changes.

Reviewed By: mtrofin, MaskRay

Differential Revision: https://reviews.llvm.org/D91496
2020-11-16 09:45:55 +08:00
Nico Weber
106408c120 [gn build] (manually) merge e51631ca4cf 2020-11-14 10:12:15 -05:00
Paul C. Anagnostopoulos
17cd31c30e [TableGen] Add frontend/backend phase timing capability.
Describe in the BackEnd Developer's Guide. Instrument a few backends.

Remove an old unused timing facility. Add a null backend for timing
the parser.

Differential Revision: https://reviews.llvm.org/D91388
2020-11-14 10:10:29 -05:00
Roman Lebedev
f948b65a66 Revert "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM"
See discussion in https://bugs.llvm.org/show_bug.cgi?id=45073 / https://reviews.llvm.org/D66324#2334485
the implementation is known-broken for certain inputs,
the bugreport was up for a significant amount of timer,
and there has been no activity to address it.
Therefore, just completely rip out all of misexpect handling.

I suspect, fixing it requires redesigning the internals of MD_misexpect.
Should anyone commit to fixing the implementation problem,
starting from clean slate may be better anyways.

This reverts commit 7bdad08429411e7d0ecd58cd696b1efe3cff309e,
and some of it's follow-ups, that don't stand on their own.
2020-11-14 13:12:38 +03:00
Matt Arsenault
846afa6d9e emacs: Add callbr to keyword list 2020-11-13 15:20:06 -05:00
Arthur Eubanks
27a2f57976 [gn build] Port 8741a76f 2020-11-13 09:17:52 -08:00
Nico Weber
79a7d81750 [gn build] (semi-manually) Port 6a8099e0f61 2020-11-13 11:20:23 -05:00
Nico Weber
351cccb545 [gn build] more hotfix after 17df195f70 to unbreak llvm-config tests 2020-11-13 10:03:05 -05:00
Nico Weber
5a29fda5e7 [gn build] Port 8bb6347939b 2020-11-13 09:55:24 -05:00
Nico Weber
bc1485d26a [gn build] (manually) merge 1d0676b54c4e3 2020-11-13 09:41:19 -05:00
Nico Weber
843410425e [gn build] Hotfix to unbreak build after 9218ff50f9308 2020-11-13 09:26:43 -05:00
Jan Svoboda
506cd0f5d7 Reland [clang][cli] Port ObjCMTAction to new option parsing system
Merge existing marhsalling info kinds and add some primitives to
express flag options that contribute to a bitfield.

Depends on D82574

Original patch by Daniel Grumberg.

Reviewed By: Bigcheese

Differential Revision: https://reviews.llvm.org/D82860
2020-11-13 13:42:54 +01:00
serge-sans-paille
82b6e6053d llvmbuildectomy - replace llvm-build by plain cmake
No longer rely on an external tool to build the llvm component layout.

Instead, leverage the existing `add_llvm_componentlibrary` cmake function and
introduce `add_llvm_component_group` to accurately describe component behavior.

These function store extra properties in the created targets. These properties
are processed once all components are defined to resolve library dependencies
and produce the header expected by llvm-config.

Differential Revision: https://reviews.llvm.org/D90848
2020-11-13 10:35:24 +01:00
serge-sans-paille
65ee119111 [nfc] Fix missing include 2020-11-13 10:35:23 +01:00
Nico Weber
0407c54a3f [gn build] (manually) port 410626c9b56 2020-11-12 18:21:22 -05:00
Nico Weber
d3ab6c543e Revert "[gn build] (semi-manually) port 173b51169b8"
This reverts commit 37a1336de722c6920a24e8cd4278e396402f1b2a.
173b51169b8 was reverted in 777ca48.
2020-11-12 13:54:24 -05:00
Nico Weber
8157d3d3d3 [gn build] (semi-manually) port 173b51169b8 2020-11-12 12:18:27 -05:00
Mehdi Amini
e9ac5bd316 Revert "[clang][cli] Port ObjCMTAction to new option parsing system"
This reverts commit 09248a5d25bb1c9f357247fa3da8fbe4470e9c67.

Some builds are broken. I suspect a `static constexpr` in a class missing a
definition out of class (required pre-c++17).
2020-11-11 20:01:03 +00:00
LLVM GN Syncbot
1270e4ba61 [gn build] Port 250de7388b3 2020-11-11 14:04:25 +00:00
Nico Weber
692744bd80 [gn build] (manually) port 98aa067109e 2020-11-11 08:40:13 -05:00
Nico Weber
bcdea69bd7 [gn build] (semi-manually) Port 454579e46a87 2020-11-11 08:40:13 -05:00
Nico Weber
6727bd6030 Revert "[gn build] (semi-manually) Port 98aa067109"
This reverts commit 04ce13e497be60f51d340e649c72138d49cb13e9.
The commit message was wrong. Will reland with fixed message.
2020-11-11 08:40:12 -05:00
Nico Weber
a8df49c390 [gn build] (semi-manually) Port 98aa067109 2020-11-11 07:37:15 -05:00
Jan Svoboda
75210ece0c [clang][cli] Port ObjCMTAction to new option parsing system
Merge existing marhsalling info kinds and add some primitives to
express flag options that contribute to a bitfield.

Depends on D82574

Reviewed By: Bigcheese

Differential Revision: https://reviews.llvm.org/D82860
2020-11-11 13:03:02 +01:00
Jan Svoboda
0eaf6b346b [NFC] First test commit 2020-11-11 10:20:11 +01:00
Peter Collingbourne
0a0956e1c0 gn build: (manually) Port ae032e27 and 21f83113.
__register_frame and __deregister_frame are associated with the
.eh_frame section, which I think is used on all of our platforms
except Windows and 32-bit ARM (which uses the ARM EHABI).

Also add a file that was added to lld/MachO.
2020-11-10 15:50:40 -08:00
Arthur Eubanks
68130813e8 [update_test_checks] Allow opt to have .exe file extension
Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D91091
2020-11-09 15:50:30 -08:00
LLVM GN Syncbot
9ac1d1b82f [gn build] Port dbfa69c5024 2020-11-09 23:03:42 +00:00
Jan Svoboda
4f20c5bff5 Port some floating point options to new option marshalling infrastructure
This ports a number of OpenCL and fast-math flags for floating point
over to the new marshalling infrastructure.

As part of this, `Opt{In,Out}FFlag` were enhanced to allow other flags to
imply them, via `DefaultAnyOf<>`. For example:
```
defm signed_zeros : OptOutFFlag<"signed-zeros", ...,
  "LangOpts->NoSignedZero",
  DefaultAnyOf<[cl_no_signed_zeros, menable_unsafe_fp_math]>>;
```
defines `-fsigned-zeros` (`false`) and `-fno-signed-zeros` (`true`)
linked to the keypath `LangOpts->NoSignedZero`, defaulting to `false`,
but set to `true` implicitly if one of `-cl-no-signed-zeros` or
`-menable-unsafe-fp-math` is on.

Note that the initial patch was written Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D82756
2020-11-09 18:00:10 -05:00
LLVM GN Syncbot
345ed810ca [gn build] Port 9ca6fc4e095 2020-11-09 14:31:09 +00:00
LLVM GN Syncbot
2f720b3a66 [gn build] Port d725f1ce531 2020-11-07 19:18:18 +00:00
Kazu Hirata
e786f8b19e [TableGen] Use llvm::is_contained (NFC) 2020-11-06 14:18:01 -08:00