<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/ARM/inlineasm-switch-mode.ll, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[test] Add --show-all-symbols to some llvm-objdump -d commands</title>
<updated>2023-07-28T02:33:51+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2023-07-28T02:33:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=845d83d85fbcbcac09563c5c34b12a70a5cac465'/>
<id>845d83d85fbcbcac09563c5c34b12a70a5cac465</id>
<content type='text'>
llvm-objdump -d will be changed to not display mapping symbols by
default (D156190).
Add --show-all-symbols to make the intent clearer and prevent test
adjustment with the new behavior.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-objdump -d will be changed to not display mapping symbols by
default (D156190).
Add --show-all-symbols to make the intent clearer and prevent test
adjustment with the new behavior.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] Convert some tests to opaque pointers (NFC)</title>
<updated>2022-12-19T11:45:35+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-12-19T11:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bed1c7f061aa12417aa081e334afdba45767b938'/>
<id>bed1c7f061aa12417aa081e334afdba45767b938</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-objdump] Add --no-print-imm-hex to tests depending on it.</title>
<updated>2022-10-29T22:40:26+00:00</updated>
<author>
<name>Daniel Thornburgh</name>
<email>mysterymath@gmail.com</email>
</author>
<published>2022-10-29T03:04:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=75cdab6dc2453a508157a9c383b93373a93078d6'/>
<id>75cdab6dc2453a508157a9c383b93373a93078d6</id>
<content type='text'>
This prepares for an upcoming change to make --print-imm-hex the default
behavior of llvm-objdump. These tests were updated in a semi-automatic
fashion.

See D136972 for details.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This prepares for an upcoming change to make --print-imm-hex the default
behavior of llvm-objdump. These tests were updated in a semi-automatic
fashion.

See D136972 for details.
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-objdump,ARM] Fix further test failures.</title>
<updated>2022-07-26T10:35:16+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>simon.tatham@arm.com</email>
</author>
<published>2022-07-26T10:33:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5c396be5750e211866a1880d1ad3918175cf00b7'/>
<id>5c396be5750e211866a1880d1ad3918175cf00b7</id>
<content type='text'>
Further test-failure fallout from D130358. There were a handful of
uses of llvm-objdump in the CodeGen tests as well, which have taken me
longer to get to because more things had to be built.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Further test-failure fallout from D130358. There were a handful of
uses of llvm-objdump in the CodeGen tests as well, which have taken me
longer to get to because more things had to be built.
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-objdump] Switch between ARM/Thumb based on mapping symbols.</title>
<updated>2019-06-20T00:29:40+00:00</updated>
<author>
<name>Eli Friedman</name>
<email>efriedma@quicinc.com</email>
</author>
<published>2019-06-20T00:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d88e28d13e66dfd9bd9dc22e21d82793161c5391'/>
<id>d88e28d13e66dfd9bd9dc22e21d82793161c5391</id>
<content type='text'>
The ARMDisassembler changes allow changing between ARM and Thumb mode
based on the MCSubtargetInfo, rather than the Target, which simplifies
the other changes a bit.

I'm not really happy with adding more target-specific logic to
tools/llvm-objdump/, but there isn't any easy way around it: the logic
in question specifically applies to disassembling an object file, and
that code simply isn't located in lib/Target, at least at the moment.

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

llvm-svn: 363903
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ARMDisassembler changes allow changing between ARM and Thumb mode
based on the MCSubtargetInfo, rather than the Target, which simplifies
the other changes a bit.

I'm not really happy with adding more target-specific logic to
tools/llvm-objdump/, but there isn't any easy way around it: the logic
in question specifically applies to disassembling an object file, and
that code simply isn't located in lib/Target, at least at the moment.

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

llvm-svn: 363903
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert r265817</title>
<updated>2016-04-08T18:15:37+00:00</updated>
<author>
<name>Colin LeMahieu</name>
<email>colinl@codeaurora.org</email>
</author>
<published>2016-04-08T18:15:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=efe37328831b7184548e038f067e3dd8313ec42f'/>
<id>efe37328831b7184548e038f067e3dd8313ec42f</id>
<content type='text'>
lld tests need to be addressed.

llvm-svn: 265822
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
lld tests need to be addressed.

llvm-svn: 265822
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-objdump] Printing hex instead of dec by default</title>
<updated>2016-04-08T17:55:03+00:00</updated>
<author>
<name>Colin LeMahieu</name>
<email>colinl@codeaurora.org</email>
</author>
<published>2016-04-08T17:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4a1975ba8ead36eac539359fbb6dde8f7b54d631'/>
<id>4a1975ba8ead36eac539359fbb6dde8f7b54d631</id>
<content type='text'>
Differential Revision: http://reviews.llvm.org/D18770

llvm-svn: 265817
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: http://reviews.llvm.org/D18770

llvm-svn: 265817
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-objdump] Use the COFF export table for additional symbols</title>
<updated>2015-11-18T02:49:19+00:00</updated>
<author>
<name>David Majnemer</name>
<email>david.majnemer@gmail.com</email>
</author>
<published>2015-11-18T02:49:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fbb1c3a70b9cd81840f591611c2ef65f588f9097'/>
<id>fbb1c3a70b9cd81840f591611c2ef65f588f9097</id>
<content type='text'>
Most linked executables do not have a symbol table in COFF.
However, it is pretty typical to have some export entries.  Use those
entries to inform the disassembler about potential function definitions
and call targets.

llvm-svn: 253429
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most linked executables do not have a symbol table in COFF.
However, it is pretty typical to have some export entries.  Use those
entries to inform the disassembler about potential function definitions
and call targets.

llvm-svn: 253429
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't use "llc -filetype=obj" now that the codepath is the same.</title>
<updated>2014-01-24T15:59:50+00:00</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2014-01-24T15:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f8f15bf670a2de5c128f5ce8099c28beed0e312a'/>
<id>f8f15bf670a2de5c128f5ce8099c28beed0e312a</id>
<content type='text'>
r200011 remove the special codepaths in MC for inline asm, so we can now test
all the logic with just llc + llvm-mc.

llvm-svn: 200013
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
r200011 remove the special codepaths in MC for inline asm, so we can now test
all the logic with just llc + llvm-mc.

llvm-svn: 200013
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix inline assembly that switches between ARM and Thumb modes</title>
<updated>2014-01-22T18:32:35+00:00</updated>
<author>
<name>Greg Fitzgerald</name>
<email>gregf@codeaurora.org</email>
</author>
<published>2014-01-22T18:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1f6a6086aedbb08e6cd788de5ee85c7ac99c7175'/>
<id>1f6a6086aedbb08e6cd788de5ee85c7ac99c7175</id>
<content type='text'>
This patch restores the ARM mode if the user's inline assembly
does not.  In the object streamer, it ensures that instructions
following the inline assembly are encoded correctly and that
correct mapping symbols are emitted.  For the asm streamer, it
emits a .arm or .thumb directive.

This patch does not ensure that the inline assembly contains
the ADR instruction to switch modes at runtime.

The problem we need to solve is code like this:

  int foo(int a, int b) {
    int r = a + b;
    asm volatile(
        ".align 2     \n"
        ".arm         \n"
        "add r0,r0,r0 \n"
    : : "r"(r));
    return r+1;
  }

If we compile this function in thumb mode then the inline assembly
will switch to arm mode. We need to make sure that we switch back to
thumb mode after emitting the inline assembly or we will incorrectly
encode the instructions that follow (i.e. the assembly instructions
for return r+1).

Based on patch by David Peixotto

Change-Id: Ib57f6d2d78a22afad5de8693fba6230ff56ba48b
llvm-svn: 199818
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch restores the ARM mode if the user's inline assembly
does not.  In the object streamer, it ensures that instructions
following the inline assembly are encoded correctly and that
correct mapping symbols are emitted.  For the asm streamer, it
emits a .arm or .thumb directive.

This patch does not ensure that the inline assembly contains
the ADR instruction to switch modes at runtime.

The problem we need to solve is code like this:

  int foo(int a, int b) {
    int r = a + b;
    asm volatile(
        ".align 2     \n"
        ".arm         \n"
        "add r0,r0,r0 \n"
    : : "r"(r));
    return r+1;
  }

If we compile this function in thumb mode then the inline assembly
will switch to arm mode. We need to make sure that we switch back to
thumb mode after emitting the inline assembly or we will incorrectly
encode the instructions that follow (i.e. the assembly instructions
for return r+1).

Based on patch by David Peixotto

Change-Id: Ib57f6d2d78a22afad5de8693fba6230ff56ba48b
llvm-svn: 199818
</pre>
</div>
</content>
</entry>
</feed>
