History log of /llvm-project/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp (Results 101 – 118 of 118)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ecef1d9c 16-Feb-2016 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Adding relocation for code size, cold path optimization allowing a 23-bit 4-byte aligned relocation to be a valid instruction encoding.

The usual way to get a 32-bit relocation is to use a

[Hexagon] Adding relocation for code size, cold path optimization allowing a 23-bit 4-byte aligned relocation to be a valid instruction encoding.

The usual way to get a 32-bit relocation is to use a constant extender which doubles the size of the instruction, 4 bytes to 8 bytes.

Another way is to put a .word32 and mix code and data within a function. The disadvantage is it's not a valid instruction encoding and jumping over it causes prefetch stalls inside the hardware.

This relocation packs a 23-bit value in to an "r0 = add(rX, #a)" instruction by overwriting the source register bits. Since r0 is the return value register, if this instruction is placed after a function call which return void, r0 will be filled with an undefined value, the prefetch won't be confused, and the callee can access the constant value by way of the link register.

llvm-svn: 261006

show more ...


# 986a49b0 16-Feb-2016 Benjamin Kramer <benny.kra@googlemail.com>

[Hexagon] Hoist nonnull assert up.

Once a pointer is turned into a reference it cannot be nullptr, clang
rightfully warns about this assert being a tautology. Put the assert
before the reference is

[Hexagon] Hoist nonnull assert up.

Once a pointer is turned into a reference it cannot be nullptr, clang
rightfully warns about this assert being a tautology. Put the assert
before the reference is created.

llvm-svn: 260949

show more ...


# c7b2124d 15-Feb-2016 Colin LeMahieu <colinl@codeaurora.org>

[NFC] Fixing naming convention, lowercase start of function name.

llvm-svn: 260903


# 98c8e070 15-Feb-2016 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Wrapping all MCExprs inside MCOperands within HexagonMCExpr to simplify handling and allow flags on the expression.

llvm-svn: 260902


Revision tags: llvmorg-3.8.0-rc2
# 3ef74f59 31-Jan-2016 Craig Topper <craig.topper@gmail.com>

Replace usages of llvm::utostr_32 with just llvm::utostr. While this is less efficient, its unclear the few places that were using the _32 version were doing so for efficiency.

llvm-svn: 259330


# b3e8a6d2 27-Jan-2016 Benjamin Kramer <benny.kra@googlemail.com>

Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs.

llvm-svn: 258917


Revision tags: llvmorg-3.8.0-rc1
# e4b9f507 07-Dec-2015 Sanjay Patel <spatel@rotateright.com>

fix 'the the '; NFC

llvm-svn: 254928


# 4c606e66 04-Dec-2015 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Using multiply instead of shift on signed number which can be UB

llvm-svn: 254719


# 44ff204f 02-Dec-2015 Alexey Samsonov <vonosmas@gmail.com>

Fixup for r254547: use format_hex() to simplify code.

llvm-svn: 254560


# bcfabaa0 02-Dec-2015 Alexey Samsonov <vonosmas@gmail.com>

[Hexagon] Remove std::hex in favor of format().

std::hex is not used anywhere in LLVM code base except for this place,
and it has a known undefined behavior (at least in libstdc++ 4.9.3):
https://ll

[Hexagon] Remove std::hex in favor of format().

std::hex is not used anywhere in LLVM code base except for this place,
and it has a known undefined behavior (at least in libstdc++ 4.9.3):
https://llvm.org/bugs/show_bug.cgi?id=18156, which fires in UBSan
bootstrap of LLVM.

llvm-svn: 254547

show more ...


Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1
# b11ef089 14-Nov-2015 Akira Hatanaka <ahatanaka@apple.com>

Reduce the size of MCRelaxableFragment.

MCRelaxableFragment previously kept a copy of MCSubtargetInfo and
MCInst to enable re-encoding the MCInst later during relaxation. A copy
of MCSubtargetInfo (

Reduce the size of MCRelaxableFragment.

MCRelaxableFragment previously kept a copy of MCSubtargetInfo and
MCInst to enable re-encoding the MCInst later during relaxation. A copy
of MCSubtargetInfo (instead of a reference or pointer) was needed
because the feature bits could be modified by the parser.

This commit replaces the MCSubtargetInfo copy in MCRelaxableFragment
with a constant reference to MCSubtargetInfo. The copies of
MCSubtargetInfo are kept in MCContext, and the target parsers are now
responsible for asking MCContext to provide a copy whenever the feature
bits of MCSubtargetInfo have to be toggled.

With this patch, I saw a 4% reduction in peak memory usage when I
compiled verify-uselistorder.lto.bc using llc.

rdar://problem/21736951

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

llvm-svn: 253127

show more ...


# bd9fc284 14-Nov-2015 Akira Hatanaka <ahatanaka@apple.com>

[MCTargetAsmParser] Move the member varialbes that reference
MCSubtargetInfo in the subclasses into MCTargetAsmParser and define a
member function getSTI.

This is done in preparation for making chan

[MCTargetAsmParser] Move the member varialbes that reference
MCSubtargetInfo in the subclasses into MCTargetAsmParser and define a
member function getSTI.

This is done in preparation for making changes to shrink the size of
MCRelaxableFragment. (see http://reviews.llvm.org/D14346).

llvm-svn: 253124

show more ...


# f0af6e52 13-Nov-2015 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Factoring bundle creation in to a utility function.

llvm-svn: 253056


# 7c576d8b 12-Nov-2015 Benjamin Kramer <benny.kra@googlemail.com>

[Hexagon] Allocate MCInst in the MCContext to avoid leaking it.

Found by leaksanitizer.

llvm-svn: 252931


# 9d851f04 09-Nov-2015 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Separating statement to match what clang-format would do.

llvm-svn: 252513


# 9ea507ed 09-Nov-2015 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Adding override to methods.

llvm-svn: 252453


# 775d7ad6 09-Nov-2015 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Fixing warnings.

llvm-svn: 252448


# 7cd08927 09-Nov-2015 Colin LeMahieu <colinl@codeaurora.org>

[Hexagon] Enabling ASM parsing on Hexagon backend and adding instruction parsing tests. General updating of the code emission.

llvm-svn: 252443


12345