<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/tools/bugpoint, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-06-17T23:57:30+00:00</updated>
<entry>
<title>Update compiler extension integration into the build system</title>
<updated>2020-06-17T23:57:30+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2020-04-20T10:39:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5f510e51dd4e6de5987a162f232c514a4dc8b0e3'/>
<id>urn:sha1:5f510e51dd4e6de5987a162f232c514a4dc8b0e3</id>
<content type='text'>
The approach here is to create a new (empty) component, `Extensions', where all
statically compiled extensions dynamically register their dependencies. That way
we're more natively compatible with LLVMBuild and llvm-config.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=44870

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

(cherry picked from commit 8f766e382b77eef3102798b49e087d1e4804b984)
</content>
</entry>
<entry>
<title>Generalize the pass registration mechanism used by Polly to any third-party tool</title>
<updated>2020-01-02T15:45:31+00:00</updated>
<author>
<name>serge_sans_paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2019-06-08T15:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=24ab9b537e61b3fe5e6a1019492ff6530d82a3ee'/>
<id>urn:sha1:24ab9b537e61b3fe5e6a1019492ff6530d82a3ee</id>
<content type='text'>
There's quite a lot of references to Polly in the LLVM CMake codebase. However
the registration pattern used by Polly could be useful to other external
projects: thanks to that mechanism it would be possible to develop LLVM
extension without touching the LLVM code base.

This patch has two effects:

1. Remove all code specific to Polly in the llvm/clang codebase, replaicing it
   with a generic mechanism

2. Provide a generic mechanism to register compiler extensions.

A compiler extension is similar to a pass plugin, with the notable difference
that the compiler extension can be configured to be built dynamically (like
plugins) or statically (like regular passes).

As a result, people willing to add extra passes to clang/opt can do it using a
separate code repo, but still have their pass be linked in clang/opt as built-in
passes.

Differential Revision: https://reviews.llvm.org/D61446
</content>
</entry>
<entry>
<title>[Bugpoint] Do not create illegal function attribute combos</title>
<updated>2019-12-16T16:32:35+00:00</updated>
<author>
<name>David Greene</name>
<email>dag@cray.com</email>
</author>
<published>2019-10-28T18:21:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=055aeb5275153ee61ccd59cab2987fdcaca73756'/>
<id>urn:sha1:055aeb5275153ee61ccd59cab2987fdcaca73756</id>
<content type='text'>
If a function requires optnone to trigger a crash, it must also have noline,
otherwise it will fail a verifier check.

Differential revision: https://reviews.llvm.org/D69522
</content>
</entry>
<entry>
<title>bugpoint: Add option to disable attribute removal</title>
<updated>2019-11-19T05:41:00+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2019-05-17T20:42:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6f06eda070eb574ad3ad6612f037e1fab7a1f0db'/>
<id>urn:sha1:6f06eda070eb574ad3ad6612f037e1fab7a1f0db</id>
<content type='text'>
This takes a long time and never reduces anything useful for me
(e.g. I've been waiting for 3 hours on a testcase and it hasn't found
any attributes to remove yet). This should probably start by assuming
no attributes matter, and adding back.
</content>
</entry>
<entry>
<title>Sink all InitializePasses.h includes</title>
<updated>2019-11-14T00:34:37+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2019-11-13T21:15:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=05da2fe52162c80dfa18aedf70cf73cb11201811'/>
<id>urn:sha1:05da2fe52162c80dfa18aedf70cf73cb11201811</id>
<content type='text'>
This file lists every pass in LLVM, and is included by Pass.h, which is
very popular. Every time we add, remove, or rename a pass in LLVM, it
caused lots of recompilation.

I found this fact by looking at this table, which is sorted by the
number of times a file was changed over the last 100,000 git commits
multiplied by the number of object files that depend on it in the
current checkout:
  recompiles    touches affected_files  header
  342380        95      3604    llvm/include/llvm/ADT/STLExtras.h
  314730        234     1345    llvm/include/llvm/InitializePasses.h
  307036        118     2602    llvm/include/llvm/ADT/APInt.h
  213049        59      3611    llvm/include/llvm/Support/MathExtras.h
  170422        47      3626    llvm/include/llvm/Support/Compiler.h
  162225        45      3605    llvm/include/llvm/ADT/Optional.h
  158319        63      2513    llvm/include/llvm/ADT/Triple.h
  140322        39      3598    llvm/include/llvm/ADT/StringRef.h
  137647        59      2333    llvm/include/llvm/Support/Error.h
  131619        73      1803    llvm/include/llvm/Support/FileSystem.h

Before this change, touching InitializePasses.h would cause 1345 files
to recompile. After this change, touching it only causes 550 compiles in
an incremental rebuild.

Reviewers: bkramer, asbirlea, bollu, jdoerfert

Differential Revision: https://reviews.llvm.org/D70211
</content>
</entry>
<entry>
<title>[NFC] Add SUPPORT_PLUGINS to add_llvm_executable()</title>
<updated>2019-11-06T19:32:35+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2019-11-06T18:05:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6740a88dc18d0be14926a5e709bd5062e31ee81c'/>
<id>urn:sha1:6740a88dc18d0be14926a5e709bd5062e31ee81c</id>
<content type='text'>
Summary:
this allows us to move logic about when it is appropriate set
LLVM_NO_DEAD_STRIP out of each tool and into add_llvm_executable,
which will enable future platform specific handling.

This is a follow on to the reverted D69356

Reviewers: hubert.reinterpretcast, beanz, lhames

Reviewed By: beanz

Subscribers: mgorny, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D69638
</content>
</entry>
<entry>
<title>Revert "[NFC] Rename LLVM_NO_DEAD_STRIP"</title>
<updated>2019-10-30T18:56:20+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2019-10-30T18:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=23df0c783c7053ddcdf665ebc8ddda350abd5bf2'/>
<id>urn:sha1:23df0c783c7053ddcdf665ebc8ddda350abd5bf2</id>
<content type='text'>
This reverts commit 11c2a85db8849db1a5907e80d9966592248ef825.
</content>
</entry>
<entry>
<title>[bugpoint] Reduce metadata that does not contribute to crash.</title>
<updated>2019-10-30T15:11:56+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2019-10-30T14:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=29e8b8ce6697414759f9314255d0165edbb3e454'/>
<id>urn:sha1:29e8b8ce6697414759f9314255d0165edbb3e454</id>
<content type='text'>
Add a new reducer that drops metadata that does not contribute to the
crash from instructions.

It adjusts the metadata.ll test case, as now also the instruction level
metadata will get dropped.

Reviewers: davide, reames, modocache

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D69234
</content>
</entry>
<entry>
<title>[bugpoint] Try to reduce passes after reducing everything.</title>
<updated>2019-10-29T14:24:05+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2019-10-29T13:41:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=43a46f1c09380f65bf18d39c16c5145bfe48af45'/>
<id>urn:sha1:43a46f1c09380f65bf18d39c16c5145bfe48af45</id>
<content type='text'>
In some cases, we fail to reduce the pass list earlier because of
complex pass dependencies, but we can reduce it after we simplified the
reproducer.

An example of that is PR43474, which can limit the crash to
-loop-interchange. Adding a test case would require at least 2
interacting Loop passes I think.

Reviewers: davide, reames, modocache

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D69236
</content>
</entry>
<entry>
<title>[NFC] Rename LLVM_NO_DEAD_STRIP</title>
<updated>2019-10-25T13:32:00+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2019-10-24T20:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=11c2a85db8849db1a5907e80d9966592248ef825'/>
<id>urn:sha1:11c2a85db8849db1a5907e80d9966592248ef825</id>
<content type='text'>
Summary:
The variable LLVM_NO_DEAD_STRIP is set in LLVM cmake files when building executables that might make use of plugins .The name of the variable does not convey the actual intended usage (i.e. for use with tools that have plugins), just what the eventual effect of setting in on some (i.e. not garbage collecting unused symbols).

This patch renames it to LLVM_SUPPORT_PLUGINS to convey the intended usage, which will allow subsequent patches to add behavior to support that in different ways without confusion about whether it will do on, for example, non-gnu platforms.

Reviewers: hubert.reinterpretcast, stevewan

Reviewed By: stevewan

Subscribers: cfe-commits, mgorny, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D69356
</content>
</entry>
</feed>
