Commit Graph

112 Commits

Author SHA1 Message Date
Clement Courbet cc5e6a72de [llvm-mca] Move llvm-mca library to llvm/lib/MCA.
Summary: See PR38731.

Reviewers: andreadb

Subscribers: mgorny, javed.absar, tschuett, gbedwell, andreadb, RKSimon, llvm-commits

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

llvm-svn: 349332
2018-12-17 08:08:31 +00:00
Martin Storsjo c9a23ccd9b [CODE_OWNERS] Add myself as code owner for MinGW
llvm-svn: 347847
2018-11-29 10:58:15 +00:00
Jake Ehrlich 941095100f Add owner for llvm-objcopy
llvm-svn: 339394
2018-08-09 22:05:19 +00:00
Simon Atanasyan f38e631343 CODE_OWNERS: Take ownership of the MIPS backend
As agreed with Simon Dardis, I'm taking over as a code owner
for the MIPS backend.

llvm-svn: 335213
2018-06-21 09:59:44 +00:00
Quentin Colombet e6c12abd15 [CODE_OWNERS] Update my email address.
NFC

llvm-svn: 330631
2018-04-23 19:09:49 +00:00
Andrea Di Biagio 4d79c580ce CODE_OWNERS: Take code ownership of llvm-mca.
llvm-svn: 330410
2018-04-20 10:16:31 +00:00
whitequark 10664fc5d3 CODE_OWNERS: Take ownership of C API.
llvm-svn: 330171
2018-04-17 01:09:12 +00:00
Simon Dardis 56a02ce91a Update my email addresses, NFC.
llvm-svn: 316651
2017-10-26 10:16:54 +00:00
Pete Couperus 2d1f6d67c5 [ARC] Add ARC backend.
Add the ARC backend as an experimental target to lib/Target.
Reviewed at: https://reviews.llvm.org/D36331

llvm-svn: 311667
2017-08-24 15:40:33 +00:00
Greg Clayton 27bfabaf82 Updated my email address.
llvm-svn: 311581
2017-08-23 18:00:07 +00:00
Chandler Carruth 3545a9e1f9 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.

llvm-svn: 306797
2017-06-30 07:09:08 +00:00
Craig Topper 9122b2195f [CODE_OWNERS] Add my other email address since my commits are now using my work email.
llvm-svn: 306197
2017-06-24 03:26:01 +00:00
Matthias Braun a063a41ed0 CODE_OWNERS: Take code ownership of instruction scheduling.
llvm-svn: 297490
2017-03-10 18:34:37 +00:00
Matthias Braun 46fe14679c CODE_OWNERS: Sort names
llvm-svn: 297489
2017-03-10 18:34:33 +00:00
Teresa Johnson 3963ba3e48 Collapse my two entries in CODE_OWNERS.txt
llvm-svn: 295259
2017-02-15 23:45:21 +00:00
Tom Stellard 34fc95bb6f CODE_OWNERS: Update email address
Also clean up description.

llvm-svn: 294624
2017-02-09 21:29:12 +00:00
Peter Collingbourne 40540a43b2 Take code ownership of LLVM bitcode.
llvm-svn: 294516
2017-02-08 21:16:27 +00:00
Dylan McKay 47e38d6449 Update CODE_OWNERS with my new email address
llvm-svn: 294436
2017-02-08 10:38:06 +00:00
Teresa Johnson 17fc326d9a CODE_OWNERS: Take ownership of IR Linker as discussed on llvm-dev
llvm-svn: 288500
2016-12-02 14:06:53 +00:00
Quentin Colombet 09cefacf9f CODE_OWNERS: Take ownership of Loop Strenght Reduce.
llvm-svn: 288268
2016-11-30 19:55:49 +00:00
Craig Topper b0f480c380 CODE_OWNERS: Take ownership of the X86 backend.
llvm-svn: 286710
2016-11-12 05:16:06 +00:00
Michael Kuperstein a73a754adf CODE_OWNERS: Take ownership of the loop vectorizer.
llvm-svn: 286269
2016-11-08 18:44:40 +00:00
Alex Bradbury b2e5472d85 [RISCV] Add stub backend
This contains just enough for lib/Target/RISCV to compile. Notably a basic 
RISCVTargetMachine and RISCVTargetInfo. At this point you can attempt llc 
-march=riscv32 myinput.ll and will find it fails due to the lack of 
MCAsmInfo.

See http://lists.llvm.org/pipermail/llvm-dev/2016-August/103748.html for 
further discussion

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

llvm-svn: 285712
2016-11-01 17:27:54 +00:00
Peter Collingbourne b385f2a16f Take ownership of libLTO as discussed on llvm-dev.
llvm-svn: 281628
2016-09-15 17:42:39 +00:00
whitequark 9bd34f9751 CODE_OWNERS: bring my entry up to date
llvm-svn: 280667
2016-09-05 17:42:46 +00:00
Albert Gutowski 3a9f2a5a8d test commit
llvm-svn: 277503
2016-08-02 19:25:17 +00:00
Simon Dardis dd32f433dd CODE_OWNERS: Take ownership of the MIPS backend
As agreed with Daniel Sanders, I'm taking over as code owner
for the MIPS backend.

llvm-svn: 276529
2016-07-23 17:40:48 +00:00
Richard Osborne 15e5c88620 Transfer ownership of the XCore backend.
llvm-svn: 276321
2016-07-21 19:20:57 +00:00
Rafael Espindola aaa0191be6 Transfer ownership of the gold plugin.
llvm-svn: 274574
2016-07-05 20:49:50 +00:00
Hans Wennborg 27bf850a4e Sort my entry in CODE_OWNERS.TXT
llvm-svn: 270936
2016-05-26 23:10:37 +00:00
Sanjoy Das 2fa1c61618 Add myself as the code owner for SCEV and IndVarSimplify
llvm-svn: 270915
2016-05-26 21:12:44 +00:00
Justin Bogner d8ed65dda0 CODE_OWNERS: Take ownership of SelectionDAG
Owen no longer has time to tend to the yaks in SelectionDAG.

llvm-svn: 270253
2016-05-20 19:14:04 +00:00
Nadav Rotem 5bd91526ea Update my email address.
llvm-svn: 269073
2016-05-10 16:23:54 +00:00
David Blaikie 66b1bb45b5 Update owners to reflect recent changes
llvm-svn: 265182
2016-04-01 20:40:49 +00:00
Jacques Pienaar fcef3e4617 [lanai] Add Lanai backend.
Add the Lanai backend to lib/Target.

General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html).

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

llvm-svn: 264578
2016-03-28 13:09:54 +00:00
Hans Wennborg af845d79ad Add self to CODE_OWNERS
Apparently this makes my email address easier to find.

llvm-svn: 262951
2016-03-08 19:01:15 +00:00
Alexey Samsonov f18fba6d96 [docs] Remove references to autotools build.
llvm-svn: 259280
2016-01-30 01:10:15 +00:00
Paul Robinson 5f2a8c18ff The PS4 baton passes.
llvm-svn: 256106
2015-12-19 20:04:03 +00:00
Krzysztof Parzyszek 0881914723 Friendly takeover of the Hexagon backend
llvm-svn: 254620
2015-12-03 17:07:12 +00:00
Dylan McKay a3eda371ec Add myself as the the code owner for the AVR backend
Summary:
As I maintain the AVR backend and am currently in the process of migrating it in tree, it makes sense to add myself as the code owner.

Thoughts welcome!

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

llvm-svn: 251471
2015-10-28 00:24:54 +00:00
Tim Northover 45a9b282c2 Switch ownership of miscellaneous ARM target to myself.
llvm-svn: 251367
2015-10-26 23:33:13 +00:00
David Majnemer 907abf799d CODE_OWNERS.TXT is supposed to be sorted by surname
llvm-svn: 246954
2015-09-07 00:41:40 +00:00
David Majnemer f49de4814c Add myself as the InstCombine owner.
llvm-svn: 244823
2015-08-12 22:30:45 +00:00
Dan Gohman 10e730a263 [WebAssembly] Initial WebAssembly backend
This WebAssembly backend is just a skeleton at this time and is not yet
functional.

llvm-svn: 241022
2015-06-29 23:51:55 +00:00
Andrey Churbanov 7ecb0714be Added Andrey Churbanov as the owner of the OpenMP runtime library code
llvm-svn: 236540
2015-05-05 20:17:53 +00:00
David Majnemer b3cae3068d Add myself as the Constant Folder owner.
llvm-svn: 235360
2015-04-20 23:19:10 +00:00
Joerg Sonnenberger 2e7596a27f Tom is also responsible for the 3.6 branch.
llvm-svn: 232395
2015-03-16 18:15:27 +00:00
Quentin Colombet 2cd9d0b783 [CODE_OWNERS] Change the ownership of register allocators.
llvm-svn: 231412
2015-03-05 22:15:17 +00:00
Alex Rosenberg d558ffaf69 Assume code ownership for the PS4 to ensure patches get reviewed, per the Developer Policy.
llvm-svn: 227340
2015-01-28 18:33:39 +00:00
Alexei Starovoitov e4c8c807bb BPF backend
Summary:
V8->V9:
- cleanup tests

V7->V8:
- addressed feedback from David:
- switched to range-based 'for' loops
- fixed formatting of tests

V6->V7:
- rebased and adjusted AsmPrinter args
- CamelCased .td, fixed formatting, cleaned up names, removed unused patterns
- diffstat: 3 files changed, 203 insertions(+), 227 deletions(-)

V5->V6:
- addressed feedback from Chandler:
- reinstated full verbose standard banner in all files
- fixed variables that were not in CamelCase
- fixed names of #ifdef in header files
- removed redundant braces in if/else chains with single statements
- fixed comments
- removed trailing empty line
- dropped debug annotations from tests
- diffstat of these changes:
  46 files changed, 456 insertions(+), 469 deletions(-)

V4->V5:
- fix setLoadExtAction() interface
- clang-formated all where it made sense

V3->V4:
- added CODE_OWNERS entry for BPF backend

V2->V3:
- fix metadata in tests

V1->V2:
- addressed feedback from Tom and Matt
- removed top level change to configure (now everything via 'experimental-backend')
- reworked error reporting via DiagnosticInfo (similar to R600)
- added few more tests
- added cmake build
- added Triple::bpf
- tested on linux and darwin

V1 cover letter:
---------------------
recently linux gained "universal in-kernel virtual machine" which is called
eBPF or extended BPF. The name comes from "Berkeley Packet Filter", since
new instruction set is based on it.
This patch adds a new backend that emits extended BPF instruction set.

The concept and development are covered by the following articles:
http://lwn.net/Articles/599755/
http://lwn.net/Articles/575531/
http://lwn.net/Articles/603983/
http://lwn.net/Articles/606089/
http://lwn.net/Articles/612878/

One of use cases: dtrace/systemtap alternative.

bpf syscall manpage:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b4fc1a460f3017e958e6a8ea560ea0afd91bf6fe

instruction set description and differences vs classic BPF:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/filter.txt

Short summary of instruction set:
- 64-bit registers
  R0      - return value from in-kernel function, and exit value for BPF program
  R1 - R5 - arguments from BPF program to in-kernel function
  R6 - R9 - callee saved registers that in-kernel function will preserve
  R10     - read-only frame pointer to access stack
- two-operand instructions like +, -, *, mov, load/store
- implicit prologue/epilogue (invisible stack pointer)
- no floating point, no simd

Short history of extended BPF in kernel:
interpreter in 3.15, x64 JIT in 3.16, arm64 JIT, verifier, bpf syscall in 3.18, more to come in the future.

It's a very small and simple backend.
There is no support for global variables, arbitrary function calls, floating point, varargs,
exceptions, indirect jumps, arbitrary pointer arithmetic, alloca, etc.
From C front-end point of view it's very restricted. It's done on purpose, since kernel
rejects all programs that it cannot prove safe. It rejects programs with loops
and with memory accesses via arbitrary pointers. When kernel accepts the program it is
guaranteed that program will terminate and will not crash the kernel.

This patch implements all 'must have' bits. There are several things on TODO list,
so this is not the end of development.
Most of the code is a boiler plate code, copy-pasted from other backends.
Only odd things are lack or < and <= instructions, specialized load_byte intrinsics
and 'compare and goto' as single instruction.
Current instruction set is fixed, but more instructions can be added in the future.

Signed-off-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>

Subscribers: majnemer, chandlerc, echristo, joerg, pete, rengolin, kristof.beyls, arsenm, t.p.northover, tstellarAMD, aemerson, llvm-commits

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

llvm-svn: 227008
2015-01-24 17:51:26 +00:00