Commit Graph

159 Commits

Author SHA1 Message Date
David Carlier
a8e3af5192 [docs] add various sanitisers support for FreeBSD/OpenBSD
since couple of months, supports had been enabled for FreeBSD and OpenBSD.

Reviewers: thakis, spatel, dim

Reviewed By: dim

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334207 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-07 16:33:48 +00:00
Amaury Sechet
7436bb683e Get rid of SETCCE
Summary: It has been deprecated in favor of SETCCCARRY for a year now and isn't used by any in tree backend.

Reviewers: efriedma, craig.topper, dblaikie, bkramer

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333939 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-04 18:36:22 +00:00
Nicola Zaghen
d74cc3fc39 [ReleaseNotes] Formatting fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333902 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-04 14:40:34 +00:00
Nicola Zaghen
fa47ca7777 [ReleaseNotes] Add release note for the new LLVM_DEBUG macro.
This is to provide a way to migrate from the old DEBUG macro to the new one.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333898 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-04 13:55:09 +00:00
Amaury Sechet
876db10e96 Set ADDE/ADDC/SUBE/SUBC to expand by default
Summary:
They've been deprecated in favor of UADDO/ADDCARRY or USUBO/SUBCARRY for a while.

Target that uses these opcodes are changed in order to ensure their behavior doesn't change.

Reviewers: efriedma, craig.topper, dblaikie, bkramer

Subscribers: jholewinski, arsenm, jyknight, sdardis, nemanjai, nhaehnle, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, jordy.potman.lists, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, mgrang, atanasyan, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333748 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-01 13:21:33 +00:00
Fangrui Song
2457cfc63a [LLVM-C] [OCaml] Remove LLVMAddBBVectorizePass
Summary: It was fully replaced back in 2014, and the implementation was removed 11 months ago by r306797.

Reviewers: hfinkel, chandlerc, whitequark, deadalnix

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333378 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-28 16:58:10 +00:00
Piotr Padlewski
6ebd054bb6 Dissallow non-empty metadata for invariant.group
Summary:
This feature is not needed, but it might be usefull in the future
to use metadata to mark what which function should support it
(and strip it when not).

Reviewers: rsmith, sanjoy, amharc, kuhar

Subscribers: hiraditya, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332787 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-18 23:53:46 +00:00
Piotr Padlewski
9648b46325 Rename invariant.group.barrier to launder.invariant.group
Summary:
This is one of the initial commit of "RFC: Devirtualization v2" proposal:
https://docs.google.com/document/d/16GVtCpzK8sIHNc2qZz6RN8amICNBtvjWUod2SujZVEo/edit?usp=sharing

Reviewers: rsmith, amharc, kuhar, sanjoy

Subscribers: arsenm, nhaehnle, javed.absar, hiraditya, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331448 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-03 11:03:01 +00:00
Nico Weber
4833be099d Stop setting LLVM_ON_WIN32 in config.h and llvm-config.h.
See thread "Replacing LLVM_ON_WIN32 with just _WIN32" on llvm-dev and cfe-dev.

I replaced all uses of LLVM_ON_WIN32 with _WIN32 in r331127 (llvm),
r331069 (clang), r329697 (lldb), r329696 (lld), r329696 (clang-tools-extra).

If your out-of-tree program used LLVM_ON_WIN32, just use _WIN32 instead, which
is set at exactly the same time to exactly the same value.

https://reviews.llvm.org/D46264


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331224 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-30 20:19:48 +00:00
Sanjay Patel
f95322c9b7 [DAGCombiner] rename function attribute for disabling ftrunc transform
This is the matching name change for the Clang patch at:
D46236
rL331209

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331210 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-30 18:20:33 +00:00
Sanjay Patel
534e40103f [docs] add fp-cast-overflow-workaround options to release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331059 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-27 16:33:35 +00:00
Sanjay Patel
5fad6ea6c2 [docs] provide the specific sanitizer option to detect junk-in-the-ftrunc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330958 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-26 17:04:07 +00:00
Sanjay Patel
f02c6abfc7 [DAGCombine] (float)((int) f) --> ftrunc (PR36617)
This was originally committed at rL328921 and reverted at rL329920 to
investigate failures in Chrome. This time I've added to the ReleaseNotes
to warn users of the potential of exposing UB and let me repeat that
here for more exposure:

  Optimization of floating-point casts is improved. This may cause surprising
  results for code that is relying on undefined behavior. Code sanitizers can
  be used to detect affected patterns such as this:

    int main() {
      float x = 4294967296.0f;
      x = (float)((int)x);
      printf("junk in the ftrunc: %f\n", x);
      return 0;
    }

    $ clang -O1 ftrunc.c -fsanitize=undefined ; ./a.out
    ftrunc.c:5:15: runtime error: 4.29497e+09 is outside the range of 
                   representable values of type 'int'
    junk in the ftrunc: 0.000000


Original commit message:

fptosi / fptoui round towards zero, and that's the same behavior as ISD::FTRUNC,
so replace a pair of casts with the equivalent node. We don't have to account for
special cases (NaN, INF) because out-of-range casts are undefined.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330437 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-20 15:07:55 +00:00
Manoj Gupta
e37ea5686e [Release Notes] Add release note for "-fmerge-all-constants"
Summary:
Add note that "-fmerge-all-constants" is not applied as default
anymore.

Reviewers: rjmccall, rsmith, chandlerc

Subscribers: llvm-commits, thakis

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329457 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-06 21:11:09 +00:00
Clement Courbet
fd68be2418 Re-land r329156 "Add llvm-exegesis tool."
Fixed to depend on and initialize the native target instead of X86.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329169 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-04 11:37:06 +00:00
Clement Courbet
fb12c072df Revert r329156 "Add llvm-exegesis tool."
Breaks a bunch of bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329157 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-04 08:22:54 +00:00
Clement Courbet
780c045964 Add llvm-exegesis tool.
Summary:
[llvm-exegesis][RFC] Automatic Measurement of Instruction Latency/Uops

This is the code corresponding to the RFC "llvm-exegesis Automatic Measurement of Instruction Latency/Uops".

The RFC is available on the LLVM mailing lists as well as the following document
for easier reading:
https://docs.google.com/document/d/1QidaJMJUyQdRrFKD66vE1_N55whe0coQ3h1GpFzz27M/edit?usp=sharing

Subscribers: mgorny, gchatelet, orwant, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329156 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-04 08:13:32 +00:00
Sylvestre Ledru
2a6cf85828 Rename llvm library from libLLVM-X.Y to libLLVM-X
Summary:
As we are only doing X.0.Z releases (not using the minor version), there is no need to keep -X.Y in the version.

Like patch https://reviews.llvm.org/D41808, I propose that we rename libLLVM-7.0svn.so to libLLVM-7svn.so 
This patch will also rename downstream libraries like liblldb-7.0 to liblldb-7

Reviewers: axw, beanz, dim, hans

Reviewed By: dim, hans

Subscribers: mgorny, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328768 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-29 09:44:09 +00:00
Andrea Di Biagio
9d81521985 [Release Notes] Add release note for llvm-mca.
Differential Revision: https://reviews.llvm.org/D44636


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327965 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-20 10:25:36 +00:00
Reid Kleckner
025ee4f9cc [IR] Avoid the need to prefix MS C++ symbols with '\01'
Now the Windows mangling modes ('w' and 'x') do not do any mangling for
symbols starting with '?'. This means that clang can stop adding the
hideous '\01' leading escape. This means LLVM debug logs are less likely
to contain ASCII escape characters and it will be easier to copy and
paste MS symbol names from IR.

Finally.

For non-Windows platforms, names starting with '?' still get IR
mangling, so once clang stops escaping MS C++ names, we will get extra
'_' prefixing on MachO. That's fine, since it is currently impossible to
construct a triple that uses the MS C++ ABI in clang and emits macho
object files.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327734 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-16 20:13:32 +00:00
Vedant Kumar
f7b39ab9df Remove the LoopInstSimplify pass (-loop-instsimplify)
LoopInstSimplify is unused and untested. Reading through the commit
history the pass also seems to have a high maintenance burden.

It would be best to retire the pass for now. It should be easy to
recover if we need something similar in the future.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327329 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-12 20:49:42 +00:00
Daniel Neilson
70622fa254 Add release note on change to memcpy/memmove/memset builtin signatures
Summary:
The signatures for the builtins @llvm.memcpy, @llvm.memmove, and @llvm.memset
where changed in rL322965. The number of arguments has decreased from five to
four with the removal of the alignment argument. Alignment is now conveyed
by supplying the align parameter attribute on the destination and/or source of
the cpy/move/set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324265 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-05 19:39:38 +00:00
Hans Wennborg
e3f54bd3f0 Clear release notes for 7.0.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321727 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-03 15:45:32 +00:00
Vedant Kumar
2cac108e97 [Debugify] Add a pass to test debug info preservation
The Debugify pass synthesizes debug info for IR. It's paired with a
CheckDebugify pass which determines how much of the original debug info
is preserved. These passes make it easier to create targeted tests for
debug info preservation.

Here is the Debugify algorithm:

  NextLine = 1
  for (Instruction &I : M)
    attach DebugLoc(NextLine++) to I

  NextVar = 1
  for (Instruction &I : M)
    if (canAttachDebugValue(I))
      attach dbg.value(NextVar++) to I

The CheckDebugify pass expects contiguous ranges of DILocations and
DILocalVariables. If it fails to find all of the expected debug info, it
prints a specific error to stderr which can be FileChecked.

This was discussed on llvm-dev in the thread:
"Passes to add/validate synthetic debug info"

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320202 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-08 21:57:28 +00:00
Daniel Sanders
6d9a2314a0 Add release note about TargetRegistry change from r318352
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319093 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-27 21:12:55 +00:00
Alexander Kornienko
1a8d4f9fc9 Add a ReleaseNotes blurb for Execute.*Wait API change
... in r313155, r313156.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313356 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-15 11:45:30 +00:00
Hans Wennborg
f1a2d4d9d7 Clear release notes for 6.0.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308474 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19 14:09:16 +00:00
Chandler Carruth
cebf3467bc Remove the BBVectorize pass.
It served us well, helped kick-start much of the vectorization efforts
in LLVM, etc. Its time has come and past. Back in 2014:
http://lists.llvm.org/pipermail/llvm-dev/2014-November/079091.html

Time to actually let go and move forward. =]

I've updated the release notes both about the removal and the
deprecation of the corresponding C API.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306797 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:09:08 +00:00
Eric Christopher
075dc44414 Add a C API section to the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306777 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 01:17:45 +00:00
Zachary Turner
cfb1356863 Rename llvm-pdbdump -> llvm-pdbutil.
This is to reflect the evolving nature of the tool as being
useful for more than just dumping PDBs, as it can do many other
things.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305106 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-09 20:46:17 +00:00
Zachary Turner
629f4edc0e Update release notes for BinaryFormat library.
Differential Revision: https://reviews.llvm.org/D34001

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304995 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-08 17:47:22 +00:00
Sanjoy Das
6bc9c98728 Add a blurb to the release notes about the WeakVH -> WeakTrackingVH transition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302456 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-08 19:15:06 +00:00
Hans Wennborg
07a58ad1e0 Don't try to link to the 4.0 release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294647 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-09 23:03:34 +00:00
Hans Wennborg
50082b152d Clear the release notes for 5.0.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291836 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-12 21:50:22 +00:00
Matthias Braun
9262f00f1a Timer: Track name and description.
The previously used "names" are rather descriptions (they use multiple
words and contain spaces), use short programming language identifier
like strings for the "names" which should be used when exporting to
machine parseable formats.

Also removed a unused TimerGroup from Hexxagon.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287369 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-18 19:43:18 +00:00
Dylan McKay
b28b8f21ef [ReleaseNotes] Mention the completion of the upstreaming of the AVR backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287273 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-17 22:26:09 +00:00
Sylvestre Ledru
8a6ccbeaaa As we released 3.9, from the 4.0 release notes, points to version 3.9 instead of 3.8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286719 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 10:39:09 +00:00
whitequark
18c0ee2638 [OCaml] Adapt to the new attribute C API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286705 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 03:38:30 +00:00
Amaury Sechet
4a6fc8bacf Kill deprecated attribute API
Summary:
This kill various depreacated API related to attribute :
 - The deprecated C API attribute based on LLVMAttribute enum.
 - The Raw attribute set format (planned to be removed in 4.0).

Reviewers: bkramer, echristo, mehdi_amini, void

Subscribers: mehdi_amini, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286062 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-06 07:48:46 +00:00
Hans Wennborg
e8d483041d ReleaseNotes: mention new compiler requirements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284994 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-24 17:29:52 +00:00
Justin Bogner
0ebe9c2f81 Support: Drop LLVM_ATTRIBUTE_UNUSED_RESULT
Uses of this have all been updated to use LLVM_NODISCARD, which
matches the C++17 [[nodiscard]] semantics rather than those of GCC's
__attribute__((warn_unused_result)).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284367 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-17 07:37:11 +00:00
Hans Wennborg
e046459aa5 Trunk release notes now refer to 4.0.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275842 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-18 18:02:23 +00:00
Amaury Sechet
71423ee3dd Fix list of deprecated C API attribute functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272727 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-14 22:23:29 +00:00
Amaury Sechet
ca669104bf Make sure we have a Add/Remove/Has function for various thing that can have attribute.
Summary: This also deprecated the get attribute function familly.

Reviewers: Wallbraker, whitequark, joker.eph, echristo, rafael, jyknight

Subscribers: axw, joker.eph, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272504 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-12 06:17:24 +00:00
Chris Bieneman
800064b2ac Updating release notes for CMake version bump
CMake 3.4.3 is now required for building LLVM-based projects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271945 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06 22:02:16 +00:00
Mehdi Amini
965030fd40 Add a FIXME note in the release notes about documenting ThinLTO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271742 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-03 21:45:34 +00:00
Amaury Sechet
000b227286 Extract renaming from D19181
Summary: This needs to get in before anything is released concerning attribute. If the old name gets in the wild, then we are stuck with it forever. Putting it in its own diff should getting that part at least in fast.

Reviewers: Wallbraker, whitequark, joker.eph, echristo, rafael, jyknight

Subscribers: llvm-commits, joker.eph

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270452 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23 16:38:25 +00:00
Justin Bogner
9ed38db20e SDAG: Rename Select->SelectImpl and repurpose Select as returning void
This is a step towards removing the rampant undefined behaviour in
SelectionDAG, which is a part of llvm.org/PR26808.

We rename SelectionDAGISel::Select to SelectImpl and update targets to
match, and then change Select to return void and consolidate the
sketchy behaviour we're trying to get away from there.

Next, we'll update backends to implement `void Select(...)` instead of
SelectImpl and eventually drop the base Select implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268693 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 23:19:08 +00:00
Chuang-Yu Cheng
9585d8910f [ppc64] Reenable sibling call optimization on ppc64 since fixed tsan library tail-call issue
print-stack-trace.cc test failure of compiler-rt has been fixed by
r266869 (http://reviews.llvm.org/D19148), so reenable sibling call
optimization on ppc64

Reviewers: nemanjai kbarton

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267527 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-26 07:38:24 +00:00
Sanjoy Das
9ef1010484 Add some release notes about the fix for PR26774
As suggested by Chandler on the review thread for D18634.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267239 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-22 22:45:23 +00:00