<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/contrib/llvm/lib/Target/ARM, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2019-12-20T19:53:05Z</updated>
<entry>
<title>Move all sources from the llvm project into contrib/llvm-project.</title>
<updated>2019-12-20T19:53:05Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-12-20T19:53:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0b57cec536236d46e3dba9bd041533462f33dbb7'/>
<id>urn:sha1:0b57cec536236d46e3dba9bd041533462f33dbb7</id>
<content type='text'>
This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo".  That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.

Updating the vendor area to match this layout is next.
</content>
</entry>
<entry>
<title>Pull in r372186 from upstream llvm trunk (by Eli Friedman):</title>
<updated>2019-10-25T21:00:49Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-10-25T21:00:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1927000d52b9ec068c53d5fd95354826b3f55b33'/>
<id>urn:sha1:1927000d52b9ec068c53d5fd95354826b3f55b33</id>
<content type='text'>
  [ARM] VFPv2 only supports 16 D registers.

  r361845 changed the way we handle "D16" vs. "D32" targets; there used
  to be a negative "d16" which removed instructions from the
  instruction set, and now there's a "d32" feature which adds
  instructions to the instruction set.  This is good, but there was an
  oversight in the implementation: the behavior of VFPv2 was changed.
  In particular, the "vfp2" feature was changed to imply "d32". This is
  wrong: VFPv2 only supports 16 D registers.

  In practice, this means if you specify -mfpu=vfpv2, the compiler will
  generate illegal instructions.

  This patch gets rid of "vfp2d16" and "vfp2d16sp", and fixes "vfp2"
  and "vfp2sp" so they don't imply "d32".

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

Pull in r372187 from upstream clang trunk (by Eli Friedman):

  [ARM] Update clang for removal of vfp2d16 and vfp2d16sp

  Matching fix for https://reviews.llvm.org/D67375 (r372186).

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

This should fix clang generating invalid opcodes for floating point
operations on armv6.

Requested by:	mmel
MFC after:	3 days
</content>
</entry>
<entry>
<title>Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp</title>
<updated>2019-09-02T17:32:57Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-09-02T17:32:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=22f75ae73839a40863eed5879bd28ee473766e6d'/>
<id>urn:sha1:22f75ae73839a40863eed5879bd28ee473766e6d</id>
<content type='text'>
release_90 branch r369369, and update version numbers.
</content>
</entry>
<entry>
<title>Merge llvm trunk r366426, resolve conflicts, and update FREEBSD-Xlist.</title>
<updated>2019-08-21T18:13:02Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-08-21T18:13:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=54db30ce18663e6c2991958f3b5d18362e8e93c4'/>
<id>urn:sha1:54db30ce18663e6c2991958f3b5d18362e8e93c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pull in r360099 from upstream llvm trunk (by Eli Friedman):</title>
<updated>2019-05-08T05:45:00Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-05-08T05:45:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6889af8687386c296a24edfb48dd6cbcc90166c1'/>
<id>urn:sha1:6889af8687386c296a24edfb48dd6cbcc90166c1</id>
<content type='text'>
  [ARM] Glue register copies to tail calls.

  This generally follows what other targets do. I don't completely
  understand why the special case for tail calls existed in the first
  place; even when the code was committed in r105413, call lowering
  didn't work in the way described in the comments.

  Stack protector lowering breaks if the register copies are not glued
  to a tail call: we have to insert the stack protector check before
  the tail call, and we choose the location based on the assumption
  that all physical register dependencies of a tail call are adjacent
  to the tail call. (See FindSplitPointForStackProtector.) This is sort
  of fragile, but I don't see any reason to break that assumption.

  I'm guessing nobody has seen this before just because it's hard to
  convince the scheduler to actually schedule the code in a way that
  breaks; even without the glue, the only computation that could
  actually be scheduled after the register copies is the computation of
  the call address, and the scheduler usually prefers to schedule that
  before the copies anyway.

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

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

This should fix several instances of "Bad machine code: Using an
undefined physical register", when compiling ports such as
multimedia/vlc, audio/alsa-lib and devel/avro-c for armv6, with
-fstack-protector-strong.

Reported by:	jbeich
PR:		237074, 237783, 237784
MFC after:	3 days
</content>
</entry>
<entry>
<title>Pull in r356809 from upstream llvm trunk (by Eli Friedman):</title>
<updated>2019-03-23T14:10:05Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-03-23T14:10:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=94e9dcf224845239ae86495eccf79c28ad4fcfbf'/>
<id>urn:sha1:94e9dcf224845239ae86495eccf79c28ad4fcfbf</id>
<content type='text'>
  [ARM] Don't form "ands" when it isn't scheduled correctly.

  In r322972/r323136, the iteration here was changed to catch cases at
  the beginning of a basic block... but we accidentally deleted an
  important safety check.  Restore that check to the way it was.

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

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

This should fix "Assertion failed: (LiveCPSR &amp;&amp; "CPSR liveness tracking
is wrong!"), function UpdateCPSRUse" errors when building the devel/xwpe
port for armv7.

PR:		236062, 236568
MFC after:	1 month
X-MFC-With:	r344779
</content>
</entry>
<entry>
<title>Merge llvm trunk r351319, resolve conflicts, and update FREEBSD-Xlist.</title>
<updated>2019-01-20T11:41:25Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2019-01-20T11:41:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d9484dd61cc151c4f34c31e07f693fefa66316b5'/>
<id>urn:sha1:d9484dd61cc151c4f34c31e07f693fefa66316b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch</title>
<updated>2018-09-11T18:50:40Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2018-09-11T18:50:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=c826f0db60516231571da8c4097a9963077c4317'/>
<id>urn:sha1:c826f0db60516231571da8c4097a9963077c4317</id>
<content type='text'>
r341916, resolve conflicts, and bump version numbers.

PR:		230240, 230355
</content>
</entry>
<entry>
<title>Merge llvm trunk r338150 (just before the 7.0.0 branch point), and</title>
<updated>2018-08-02T17:42:12Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2018-08-02T17:42:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1c4688a8498fea1db507842ff8dedaacad8ef77b'/>
<id>urn:sha1:1c4688a8498fea1db507842ff8dedaacad8ef77b</id>
<content type='text'>
resolve conflicts.
</content>
</entry>
<entry>
<title>Merge llvm trunk r338150, and resolve conflicts.</title>
<updated>2018-07-30T16:33:32Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2018-07-30T16:33:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=51315c45ff5643a27f9c84b816db54ee870ba29b'/>
<id>urn:sha1:51315c45ff5643a27f9c84b816db54ee870ba29b</id>
<content type='text'>
</content>
</entry>
</feed>
