Commit Graph

7737 Commits

Author SHA1 Message Date
James Y Knight
8c76d8c252 Fix some minor coding-style issues in git-llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365918 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-12 16:41:28 +00:00
James Y Knight
c2227d994f Allow the 'git-llvm' tool to push to svn from the split repositories
for 'test-suite', 'lnt', 'zorg', and 'www'.

This is done by looking at the pathname of the git remote named
'origin', which is not 100% reliable, but should work in most cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365917 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-12 16:40:46 +00:00
Bryant Wong
0895359c13 [gn] Tag unneeded variable.
When only building targets without assembly parsers (e.g. `llvm_targets_to_build
= ["NVPTX"]`), `all_targets` is empty and causes GN to warn about an
assigned-but-unused variable.

Differential Revision: https://reviews.llvm.org/D31727

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365897 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-12 13:09:39 +00:00
Alexey Bader
dc76bdf5ab [LIT] Emit timeout error message only if timeout was reached
Summary:
This improves readability of LIT output: previously
error messages gets emitted that say that there was no error:

error: command reached timeout: False

Patch by Alexey Sachkov.

Reviewers: ddunbar, mgorny, modocache

Reviewed By: mgorny

Subscribers: delcypher, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64240

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365895 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-12 12:48:43 +00:00
Alex Lorenz
4621d012c8 NFC: lit: python3 compatibility for functions
usePlatformSdkOnDarwin/findPlatformSdkVersionOnMacOS

These functions should decode subprocess output

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365852 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-12 00:48:53 +00:00
David Bolvansky
d631e10026 [UpdateTestChecks] Emit warning when invalid test paths
Summary:
Recently I ran into the following issue:

./update_test_checks.py /path/not-existing-file.ll

The script was silent and I was suprised why the real test file hadn't been updated.

Solution:
Emit warning if we detect this problem.



Reviewers: lebedev.ri, spatel, jdoerfert, nikic

Reviewed By: lebedev.ri, spatel, jdoerfert, nikic

Subscribers: jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64572

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365818 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-11 20:14:22 +00:00
Nico Weber
60c758bd34 gn build: Merge r365792
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365795 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-11 17:09:35 +00:00
Nico Weber
fa0ca54d3d gn build: Merge r365773
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365787 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-11 15:01:50 +00:00
Nico Weber
b18e44c72e gn build: Merge r365687
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365689 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-10 19:20:17 +00:00
Nico Weber
ce20849352 gn build: Merge r365585
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365633 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-10 14:05:13 +00:00
Peter Collingbourne
2665cd3b77 gn build: Merge r365536.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365572 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 22:37:51 +00:00
Peter Collingbourne
1926b2a988 gn build: Merge r365532.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365571 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 22:37:41 +00:00
Peter Collingbourne
3f4a17db45 gn build: Merge r365541.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365570 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 22:37:25 +00:00
Peter Collingbourne
5879a32d07 gn build: Merge r365531.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365569 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 22:37:09 +00:00
Peter Collingbourne
1838c1b68f gn build: Merge r365503.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365530 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 18:30:38 +00:00
Nico Weber
4d94645b78 gn build: Merge r365453
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365481 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 13:58:18 +00:00
Vitaly Buka
a4157a3b66 Update gn files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365361 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-08 17:50:22 +00:00
Vitaly Buka
e273d20650 Update gn files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365354 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-08 17:15:57 +00:00
Joel E. Denny
31d19a7f8b [lit] Parse command-line options from LIT_OPTS
Similar to `FILECHECK_OPTS` for FileCheck, `LIT_OPTS` makes it easy to
adjust lit behavior when running the test suite via ninja.  For
example:

```
$ LIT_OPTS='--time-tests -vv --filter=threadprivate' \
  ninja check-clang-openmp
```

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D64135

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365313 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-08 12:18:40 +00:00
Alex Bradbury
9d88176dda [UpdateTestChecks] Skip over .Lfunc_begin for RISC-V
This mirrors the change made for X86 in rL336987. Without this patch,
update_llc_test_checks will completely skip functions with personality
functions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365297 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-08 08:34:16 +00:00
Nico Weber
690c681c9f gn build: Merge r355546
Found by inspection; the sync script doesn't sync .ipp files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365280 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-07 16:49:44 +00:00
Nico Weber
ac48ec7909 gn build: Merge r365273
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365279 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-07 16:44:07 +00:00
Nico Weber
57df2bbd08 gn build: Sort sync script output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365278 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-07 16:40:29 +00:00
Nico Weber
c24a089765 gn build: Sort cxx_sources in libcxx build file
Since these are in a custom list, `gn format` doesn't automatically sort
them.

Now their order matches the CMake build.

No additions or deletions, this just sorts the files that are there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365277 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-07 16:36:11 +00:00
Nico Weber
ebd83ad02f gn build: Merge r365258 and follow-ups r365263, r365264
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365276 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-07 15:43:32 +00:00
David Majnemer
cc239d2dd8 [CodeGen] Add larger vector types for i32 and f32
Some out of tree backend require larger vector type. Since maintaining the changes out of tree is difficult due to the many manual changes needed when adding a new type we are adding it even if no backend currently use it.

Differential Revision: https://reviews.llvm.org/D64141

Patch by Thomas Raoux!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365274 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-07 04:47:37 +00:00
Nico Weber
d86fa19335 gn build: Merge r365203
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365213 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-05 15:14:06 +00:00
Nico Weber
bcb6cad201 gn build: Merge r365179
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365185 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-05 11:34:48 +00:00
Peter Collingbourne
da367b59dc gn build: Merge r365130.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365167 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-05 01:11:20 +00:00
Peter Collingbourne
63917a0ace gn build: Merge r365103.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365166 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-05 01:11:18 +00:00
Peter Collingbourne
b142bdf436 gn build: Merge r365007.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365165 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-05 01:11:16 +00:00
Peter Collingbourne
5cb79c7a27 gn build: Merge r365091.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365164 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-05 01:11:14 +00:00
Simon Tatham
150ff17d20 [TableGen] Allow DAG isel patterns to override default operands.
When a Tablegen instruction description uses `OperandWithDefaultOps`,
isel patterns for that instruction don't have to fill in the default
value for the operand in question. But the flip side is that they
actually //can't// override the defaults even if they want to.

This will be very inconvenient for the Arm backend, when we start
wanting to write isel patterns that generate the many MVE predicated
vector instructions, in the form with predication actually enabled. So
this small Tablegen fix makes it possible to write an isel pattern
either with or without values for a defaulted operand, and have the
default values filled in only if they are not overridden.

If all the defaulted operands come at the end of the instruction's
operand list, there's a natural way to match them up to the arguments
supplied in the pattern: consume pattern arguments until you run out,
then fill in any missing instruction operands with their default
values. But if defaulted and non-defaulted operands are interleaved,
it's less clear what to do. This does happen in existing targets (the
first example I came across was KILLGT, in the AMDGPU/R600 backend),
and of course they expect the previous behaviour (that the default for
those operands is used and a pattern argument is not consumed), so for
backwards compatibility I've stuck with that.

Reviewers: nhaehnle, hfinkel, dmgreen

Subscribers: mehdi_amini, javed.absar, tpr, kristof.beyls, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63814

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365114 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-04 08:43:20 +00:00
Francis Visoiu Mistrih
742690b61b [Bitcode] Move Bitstream to a separate library
This moves Bitcode/Bitstream*, Bitcode/BitCodes.h to Bitstream/.

This is needed to avoid a circular dependency when using the bitstream
code for parsing optimization remarks.

Since Bitcode uses Core for the IR part:

libLLVMRemarks -> Bitcode -> Core

and Core uses libLLVMRemarks to generate remarks (see
IR/RemarkStreamer.cpp):

Core -> libLLVMRemarks

we need to separate the Bitstream and Bitcode part.

For clang-doc, it seems that it doesn't need the whole bitcode layer, so
I updated the CMake to only use the bitstream part.

Differential Revision: https://reviews.llvm.org/D63899

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365091 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-03 22:40:07 +00:00
Vitaly Buka
1504e49b5a Fix GN build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364942 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-02 16:08:10 +00:00
Nico Weber
3d796651b5 gn build: Merge r364866
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364908 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-02 11:20:40 +00:00
Jinsong Ji
da6a17a7a1 [UpdateTestChecks][PowerPC] Avoid empty string when scrubbing loop comments
Summary:
SCRUB_LOOP_COMMENT_RE was introduced in https://reviews.llvm.org/D31285
This works for some loops.

However, we may generate lines with loop comments only.
And since we don't scrub leading white spaces, this will leave an empty
line there, and FileCheck will complain it.

eg: llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll:27:15:
error: found empty check string with prefix 'CHECK:'
; CHECK-NEXT:

This prevented us from using the `update_llc_test_checks.py` for quite some cases.

We should still keep the comment token there, so that we can safely
scrub the loop comment without breaking FileCheck.

Reviewers: timshen, hfinkel, lebedev.ri, RKSimon

Subscribers: nemanjai, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63957

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364775 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-01 14:37:48 +00:00
Andrew Ng
6a2f57ae8b [benchmark] Disable CMake get_git_version
Disabled CMake get_git_version as it is meaningless for this in-tree
build, and hardcoded a null version.

Not using get_git_version avoids a refresh of the git index that is
executed by get_git_version. Refreshing the index can take a
considerable amount of time if the index needs to be refreshed
(particularly with the mono repo). This situation can arise when
building shared source on a host in VMs.

Differential Revision: https://reviews.llvm.org/D63925

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364742 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-01 10:58:20 +00:00
Mike Spertus
40cf40220c Clean up MSVC visualization of LLVM pointer types
Create separate natvis ptr and int views for PointerIntPair.
These are convenient in watch Windows and will be used by 
Clang visualizers to be checked in shortly

Also, removed deref views as the MSVC na format has
done the same thing natively since MSVC2013.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364723 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-30 21:54:34 +00:00
Jinsong Ji
e09833c6e9 [UpdateChecks] Add support for armv7-apple-darwin
armv7-apple-darwin was not supported well, the script can't generate
checks.

https://reviews.llvm.org/D60601/new/#inline-568671

Differential Revision: https://reviews.llvm.org/D63939

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364668 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-28 18:07:19 +00:00
Reid Kleckner
6452ae9617 [compiler-rt] Rename lit.*.cfg.* -> lit.*.cfg.py.*
These lit configuration files are really Python source code. Using the
.py file extension helps editors and tools use the correct language
mode. LLVM and Clang already use this convention for lit configuration,
this change simply applies it to all of compiler-rt.

Reviewers: vitalybuka, dberris

Differential Revision: https://reviews.llvm.org/D63658

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364591 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 20:56:04 +00:00
Vitaly Buka
7687273d4e [GN] Update build file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364583 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 19:55:22 +00:00
Vitaly Buka
6dfbf1efb2 [GN] Set exit code to 1 if changes are needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364582 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 19:55:21 +00:00
Nico Weber
83d25842b0 gn build: Follow-up to r364491 "[GN] Update build files"
- Merge r364427 (GSYM lib) more: It was missing the new unit test
  (as pointed out by llvm/utils/gn/build/sync_source_lists_from_cmake.py),
  and it had some superfluous deps not present in the cmake build.

- Merge r364474 (clang DependencyScanning lib) more: The deps didn't
  quite match cmake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364501 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 06:08:57 +00:00
Vitaly Buka
2f93dab1ae [GN] Fix check-llvm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364493 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 01:35:47 +00:00
Vitaly Buka
fd46f2294b [GN] Update build files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364491 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 01:34:19 +00:00
Jinsong Ji
8d8d121460 [UpdateTestChecks][NFC] Remove entries with same prefix
Matching is 'lossy', triples with same prefix can be dropped.

Differential Revision: https://reviews.llvm.org/D63732

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364471 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-26 20:35:19 +00:00
Clement Courbet
6f6d98e186 Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline."
Breaks sanitizers:
    libFuzzer :: cxxstring.test
    libFuzzer :: memcmp.test
    libFuzzer :: recommended-dictionary.test
    libFuzzer :: strcmp.test
    libFuzzer :: value-profile-mem.test
    libFuzzer :: value-profile-strcmp.test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364416 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-26 12:13:13 +00:00
Clement Courbet
e0fc543f4c [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline.
This allows later passes (in particular InstCombine) to optimize more
cases.

One that's important to us is `memcmp(p, q, constant) < 0` and memcmp(p, q, constant) > 0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364412 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-26 11:50:18 +00:00
Nico Weber
04f6b4ef8c gn build: Merge r364387
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364411 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-26 11:44:54 +00:00