<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/lib/Target/BPF/InstPrinter, 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>2019-05-11T01:13:21+00:00</updated>
<entry>
<title>[BPF] Move InstPrinter files to MCTargetDesc.  NFC</title>
<updated>2019-05-11T01:13:21+00:00</updated>
<author>
<name>Richard Trieu</name>
<email>rtrieu@google.com</email>
</author>
<published>2019-05-11T01:13:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=48803aa65c96857fb4245cd0d74a6b422d8f8ff6'/>
<id>urn:sha1:48803aa65c96857fb4245cd0d74a6b422d8f8ff6</id>
<content type='text'>
For some targets, there is a circular dependency between InstPrinter and
MCTargetDesc.  Merging them together will fix this.  For the other targets,
the merging is to maintain consistency so all targets will have the same
structure.

llvm-svn: 360494
</content>
</entry>
<entry>
<title>Update the file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T08:50:56+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T08:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2946cd701067404b99c39fb29dc9c74bd7193eb3'/>
<id>urn:sha1:2946cd701067404b99c39fb29dc9c74bd7193eb3</id>
<content type='text'>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</content>
</entry>
<entry>
<title>Remove some unused includes to fix layering.</title>
<updated>2018-03-29T00:29:45+00:00</updated>
<author>
<name>David Blaikie</name>
<email>dblaikie@gmail.com</email>
</author>
<published>2018-03-29T00:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b3f471a4bd9730b7377956d50104c7afb8ba09a4'/>
<id>urn:sha1:b3f471a4bd9730b7377956d50104c7afb8ba09a4</id>
<content type='text'>
llvm-svn: 328745
</content>
</entry>
<entry>
<title>bpf: add support for objdump -print-imm-hex</title>
<updated>2017-12-20T19:39:58+00:00</updated>
<author>
<name>Yonghong Song</name>
<email>yhs@fb.com</email>
</author>
<published>2017-12-20T19:39:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=25bf8259613dedc365965b9b76edf3aece2dbb47'/>
<id>urn:sha1:25bf8259613dedc365965b9b76edf3aece2dbb47</id>
<content type='text'>
Add support for 'objdump -print-imm-hex' for imm64, operand imm
and branch target. If user programs encode immediate values
as hex numbers, such an option will make it easy to correlate
asm insns with source code. This option also makes it easy
to correlate imm values with insn encoding.

There is one changed behavior in this patch. In old way, we
print the 64bit imm as u64:
  O &lt;&lt; (uint64_t)Op.getImm();
and the new way is:
  O &lt;&lt; formatImm(Op.getImm());

The formatImm is defined in llvm/MC/MCInstPrinter.h as
  format_object&lt;int64_t&gt; formatImm(int64_t Value)

So the new way to print 64bit imm is i64 type.
If a 64bit value has the highest bit set, the old way
will print the value as a positive value and the
new way will print as a negative value. The new way
is consistent with x86_64.
For the code (see the test program):
 ...
 if (a == 0xABCDABCDabcdabcdULL)
 ...
x86_64 objdump, with and without -print-imm-hex, looks like:
 48 b8 cd ab cd ab cd ab cd ab   movabsq $-6067004223159161907, %rax
 48 b8 cd ab cd ab cd ab cd ab   movabsq $-0x5432543254325433, %rax

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
llvm-svn: 321215
</content>
</entry>
<entry>
<title>bpf: print backward branch target properly</title>
<updated>2017-11-16T19:15:36+00:00</updated>
<author>
<name>Yonghong Song</name>
<email>yhs@fb.com</email>
</author>
<published>2017-11-16T19:15:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ce96738dee560a9a3ad08301860d1483df3356d4'/>
<id>urn:sha1:ce96738dee560a9a3ad08301860d1483df3356d4</id>
<content type='text'>
Currently, it prints the backward branch offset as unsigned value
like below:
       7:       7d 34 0b 00 00 00 00 00         if r4 s&gt;= r3 goto 11 &lt;LBB0_3&gt;
       8:       b7 00 00 00 00 00 00 00         r0 = 0
LBB0_2:
       9:       07 00 00 00 01 00 00 00         r0 += 1
      ......
      17:       bf 31 00 00 00 00 00 00         r1 = r3
      18:       6d 32 f6 ff 00 00 00 00         if r2 s&gt; r3 goto 65526 &lt;LBB0_3+0x7FFB0&gt;

The correct print insn 18 should be:
      18:       6d 32 f6 ff 00 00 00 00         if r2 s&gt; r3 goto -10 &lt;LBB0_2&gt;

To provide better clarity and be consistent with kernel verifier output,
the insn 7 output is changed to the following with "+" added to
non-negative branch offset:
       7:       7d 34 0b 00 00 00 00 00         if r4 s&gt;= r3 goto +11 &lt;LBB0_3&gt;

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
llvm-svn: 318442
</content>
</entry>
<entry>
<title>bpf: add " ll" in the LD_IMM64 asmstring</title>
<updated>2017-09-11T23:43:35+00:00</updated>
<author>
<name>Yonghong Song</name>
<email>yhs@fb.com</email>
</author>
<published>2017-09-11T23:43:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=be9c00347fa7dcfb78f9f3a6c6c61a00a9071d31'/>
<id>urn:sha1:be9c00347fa7dcfb78f9f3a6c6c61a00a9071d31</id>
<content type='text'>
This partially revert previous fix in commit f5858045aa0b
("bpf: proper print imm64 expression in inst printer").

In that commit, the original suffix "ll" is removed from
LD_IMM64 asmstring. In the customer print method, the "ll"
suffix is printed if the rhs is an immediate. For example,
"r2 = 5ll" =&gt; "r2 = 5ll", and "r3 = varll" =&gt; "r3 = var".

This has an issue though for assembler. Since assembler
relies on asmstring to do pattern matching, it will not
be able to distiguish between "mov r2, 5" and
"ld_imm64 r2, 5" since both asmstring is "r2 = 5".
In such cases, the assembler uses 64bit load for all
"r = &lt;val&gt;" asm insts.

This patch adds back " ll" suffix for ld_imm64 with one
additional space for "#reg = #global_var" case.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
llvm-svn: 312978
</content>
</entry>
<entry>
<title>bpf: proper print imm64 expression in inst printer</title>
<updated>2017-09-08T23:32:38+00:00</updated>
<author>
<name>Yonghong Song</name>
<email>yhs@fb.com</email>
</author>
<published>2017-09-08T23:32:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=093420f929e015fcac39539167aa82af83520673'/>
<id>urn:sha1:093420f929e015fcac39539167aa82af83520673</id>
<content type='text'>
Fixed an issue in printImm64Operand where if the value is
an expression, print out the expression properly. Currently,
it will print
  r1 = &lt;MCOperand Expr:(tx_port)&gt;ll
With the patch, the printout will be
  r1 = tx_port

Suggested-by: Jiong Wang &lt;jiong.wang@netronome.com&gt;
Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
llvm-svn: 312833
</content>
</entry>
<entry>
<title>Sort the remaining #include lines in include/... and lib/....</title>
<updated>2017-06-06T11:49:48+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2017-06-06T11:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6bda14b3137a58c42220b209d18691ef87f0d845'/>
<id>urn:sha1:6bda14b3137a58c42220b209d18691ef87f0d845</id>
<content type='text'>
I did this a long time ago with a janky python script, but now
clang-format has built-in support for this. I fed clang-format every
line with a #include and let it re-sort things according to the precise
LLVM rules for include ordering baked into clang-format these days.

I've reverted a number of files where the results of sorting includes
isn't healthy. Either places where we have legacy code relying on
particular include ordering (where possible, I'll fix these separately)
or where we have particular formatting around #include lines that
I didn't want to disturb in this patch.

This patch is *entirely* mechanical. If you get merge conflicts or
anything, just ignore the changes in this patch and run clang-format
over your #include lines in the files.

Sorry for any noise here, but it is important to keep these things
stable. I was seeing an increasing number of patches with irrelevant
re-ordering of #include lines because clang-format was used. This patch
at least isolates that churn, makes it easy to skip when resolving
conflicts, and gets us to a clean baseline (again).

llvm-svn: 304787
</content>
</entry>
<entry>
<title>convert bpf assembler to look like kernel verifier output</title>
<updated>2016-11-18T02:32:35+00:00</updated>
<author>
<name>Alexei Starovoitov</name>
<email>alexei.starovoitov@gmail.com</email>
</author>
<published>2016-11-18T02:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8f9f8210c1f4846e70642595aab81e527dc5336c'/>
<id>urn:sha1:8f9f8210c1f4846e70642595aab81e527dc5336c</id>
<content type='text'>
since bpf instruction set was introduced people learned to
read and understand kernel verifier output whereas llvm asm
output stayed obscure and unknown. Convert llvm to emit
assembler text similar to kernel to avoid this discrepancy

Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
llvm-svn: 287300
</content>
</entry>
<entry>
<title>Remove autoconf support</title>
<updated>2016-01-26T21:29:08+00:00</updated>
<author>
<name>Chris Bieneman</name>
<email>beanz@apple.com</email>
</author>
<published>2016-01-26T21:29:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e49730d4baa8443ad56f59bd8066bf4c1e56ea72'/>
<id>urn:sha1:e49730d4baa8443ad56f59bd8066bf4c1e56ea72</id>
<content type='text'>
Summary:
This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html

"I felt a great disturbance in the [build system], as if millions of [makefiles] suddenly cried out in terror and were suddenly silenced. I fear something [amazing] has happened."
- Obi Wan Kenobi

Reviewers: chandlerc, grosbach, bob.wilson, tstellarAMD, echristo, whitequark

Subscribers: chfast, simoncook, emaste, jholewinski, tberghammer, jfb, danalbert, srhines, arsenm, dschuff, jyknight, dsanders, joker.eph, llvm-commits

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

llvm-svn: 258861
</content>
</entry>
</feed>
