History log of /llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp (Results 151 – 175 of 183)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1
# d92a3fa2 01-May-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Move expansion of .cpsetup to target streamer.

Summary:
There are two functional changes:
1) The directive is not expanded for the ASM->ASM code path.
2) If PIC is not set, there's no expansi

[mips] Move expansion of .cpsetup to target streamer.

Summary:
There are two functional changes:
1) The directive is not expanded for the ASM->ASM code path.
2) If PIC is not set, there's no expansion for the ASM->OBJ code path (same behaviour as GAS).

Reviewers: dsanders

Reviewed By: dsanders

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

llvm-svn: 207741

show more ...


# 525bc4f7 30-Apr-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Add support for .cpload.

Summary:
This directive is used for setting up $gp in the beginning of a function.
It expands to three instructions if PIC is enabled:
lui $gp, %hi(_gp_disp)
addui

[mips] Add support for .cpload.

Summary:
This directive is used for setting up $gp in the beginning of a function.
It expands to three instructions if PIC is enabled:
lui $gp, %hi(_gp_disp)
addui $gp, $gp, %lo(_gp_disp)
addu $gp, $gp, $reg

_gp_disp is a special symbol that the linker sets to the distance between
the lui instruction and the context pointer (_gp).

Reviewers: dsanders

Reviewed By: dsanders

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

llvm-svn: 207637

show more ...


Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2
# 0051f2dc 16-Apr-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Add initial support for NaN2008 in the back-end.

This is so that EF_MIPS_NAN2008 is set if we are using IEEE 754-2008
NaN encoding (-mnan=2008). This patch also adds support for parsing
'.nan

[mips] Add initial support for NaN2008 in the back-end.

This is so that EF_MIPS_NAN2008 is set if we are using IEEE 754-2008
NaN encoding (-mnan=2008). This patch also adds support for parsing
'.nan legacy' and '.nan 2008' assembly directives. The handling of
these directives should match GAS' behaviour i.e., the last directive
in use sets the ELF header bit (EF_MIPS_NAN2008).

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

llvm-svn: 206396

show more ...


Revision tags: llvmorg-3.4.1-rc1
# f7b32291 03-Apr-2014 Daniel Sanders <daniel.sanders@imgtec.com>

[mips] Add initial (experimental) MIPS-IV support.

Summary:
Adds the 'mips4' processor and a simple test of the ELF e_flags.

Patch by David Chisnall
His work was sponsored by: DARPA, AFRL

I made o

[mips] Add initial (experimental) MIPS-IV support.

Summary:
Adds the 'mips4' processor and a simple test of the ELF e_flags.

Patch by David Chisnall
His work was sponsored by: DARPA, AFRL

I made one small change to the testcase so that it uses
mips64-unknown-linux instead of mips4-unknown-linux.

This patch indirectly adds FeatureCondMov to FeatureMips64. This is ok
because it's supposed to be there anyway and it turns out that
FeatureCondMov is not a predicate of any instructions at the moment
(this is a bug that hasn't been noticed because there are no targets
without the conditional move instructions yet).

CC: theraven

Differential Revision: http://llvm-reviews.chandlerc.com/D3244

llvm-svn: 205530

show more ...


# 3b9c63d2 26-Mar-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Add support to '.set mips64'.

The '.set mips64' directive enables the feature Mips:FeatureMips64
from assembly. Note that it doesn't modify the ELF header as opposed
to the use of -mips64 fro

[mips] Add support to '.set mips64'.

The '.set mips64' directive enables the feature Mips:FeatureMips64
from assembly. Note that it doesn't modify the ELF header as opposed
to the use of -mips64 from the command-line. The reason for this
is that we want to be as compatible as possible with existing assemblers
like GAS.

llvm-svn: 204817

show more ...


# a2cd009c 26-Mar-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Add support to '.set mips64r2'.

The '.set mips64r2' directive enables the feature Mips:FeatureMips64r2
from assembly. Note that it doesn't modify the ELF header as opposed
to the use of -mips

[mips] Add support to '.set mips64r2'.

The '.set mips64r2' directive enables the feature Mips:FeatureMips64r2
from assembly. Note that it doesn't modify the ELF header as opposed
to the use of -mips64r2 from the command-line. The reason for this
is that we want to be as compatible as possible with existing assemblers
like GAS.

llvm-svn: 204815

show more ...


# f79b2814 26-Mar-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Add support for '.option pic2'.

The directive '.option pic2' enables PIC from assembly source.
At the moment none of the macros/directives check the PIC bit
but that's going to be fixed relat

[mips] Add support for '.option pic2'.

The directive '.option pic2' enables PIC from assembly source.
At the moment none of the macros/directives check the PIC bit
but that's going to be fixed relatively soon. For example, the
expansion of macros like 'la' depend on the relocation model.

llvm-svn: 204803

show more ...


# 28221d8b 20-Mar-2014 Zoran Jovanovic <zoran.jovanovic@imgtec.com>

Mark alias symbols as microMIPS if necessary. Differential Revision: http://llvm-reviews.chandlerc.com/D3080

llvm-svn: 204323


# 27c398e3 05-Mar-2014 Vladimir Medic <Vladimir.Medic@imgtec.com>

This patch implements .set dsp directive and sets appropriate feature bits.This directive is a counterpart of -mattr=dsp command line option with the exception that it does not influence elf header f

This patch implements .set dsp directive and sets appropriate feature bits.This directive is a counterpart of -mattr=dsp command line option with the exception that it does not influence elf header flags. The usage example is gives in test file.

llvm-svn: 202966

show more ...


# 442f7848 04-Mar-2014 Chandler Carruth <chandlerc@gmail.com>

[cleanup] Re-sort all the includes with utils/sort_includes.py.

llvm-svn: 202811


# 615b26e1 04-Mar-2014 Vladimir Medic <Vladimir.Medic@imgtec.com>

This patch implements .set mips32r2 directive and sets appropriate feature bits. It also introduces helper functions that are used to set and clear feature bits as necessary. This directive is a coun

This patch implements .set mips32r2 directive and sets appropriate feature bits. It also introduces helper functions that are used to set and clear feature bits as necessary. This directive is a counterpart of -mips32r2 command line options with the exception that it does not influence elf header flags. The usage example is gives in test file.

llvm-svn: 202807

show more ...


# 972e71ab 31-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Remove another hasRawTextSupport.

To remove this one simply move the end of file logic from the asm printer to
the target mc streamer.

This removes the last call to hasRawTextSupport from lib/Targe

Remove another hasRawTextSupport.

To remove this one simply move the end of file logic from the asm printer to
the target mc streamer.

This removes the last call to hasRawTextSupport from lib/Target.

llvm-svn: 200590

show more ...


# 2e03f243 28-Jan-2014 Matheus Almeida <matheus.almeida@imgtec.com>

[mips] Fix ELF header flags.

As opposed to GCC/GAS the default ABI for Mips64 is n64.
Compatibility bit should be set if o32 ABI is used when targeting Mips64.

llvm-svn: 200332


# 25fa291f 27-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Print .mask and .fmask with the target streamer.

Testing this also found the missing '\n' after .frame that this patch also
fixes.

llvm-svn: 200192


# 054234fa 27-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Print .frame via the target streamer.

llvm-svn: 200186


# cb1953f6 26-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Implement the missing bits corresponding to .mips_hack_elf_flags.

These were:
* noreorder handling on the target object streamer and asm parser.
* setting the initial flag bits based on the enabled

Implement the missing bits corresponding to .mips_hack_elf_flags.

These were:
* noreorder handling on the target object streamer and asm parser.
* setting the initial flag bits based on the enabled features.
* setting the elf header flag for micromips

It is *really* depressing I am the one doing this instead of someone at
mips actually taking the time to understand the infrastructure.

llvm-svn: 200138

show more ...


# 24ea09ef 26-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Construct the MCStreamer before constructing the MCTargetStreamer.

This has a few advantages:
* Only targets that use a MCTargetStreamer have to worry about it.
* There is never a MCTargetStreamer w

Construct the MCStreamer before constructing the MCTargetStreamer.

This has a few advantages:
* Only targets that use a MCTargetStreamer have to worry about it.
* There is never a MCTargetStreamer without a MCStreamer, so we can use a
reference.
* A MCTargetStreamer can talk to the MCStreamer in its constructor.

llvm-svn: 200129

show more ...


# eb0a8af6 26-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Convert some easy uses of EmitRawText to TargetStreamer methods.

llvm-svn: 200122


# 14d02fe5 25-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

This reverts commit r200064 and r200051.

r200064 depends on r200051.

r200051 is broken: I tries to replace .mips_hack_elf_flags, which is a good
thing, but what it replaces it with is even worse.

This reverts commit r200064 and r200051.

r200064 depends on r200051.

r200051 is broken: I tries to replace .mips_hack_elf_flags, which is a good
thing, but what it replaces it with is even worse.

The new emitMipsELFFlags it adds corresponds to no assembly directive, is not
marked as a hack and is not even printed to the .s file.

The patch also introduces more uses of hasRawTextSupport.

The correct way to remove .mips_hack_elf_flags is to have the mips target
streamer handle the default flags (and command line options). That way the
same code path is used for asm and obj. The streamer interface should *really*
correspond to what is printed in the .s file.

llvm-svn: 200078

show more ...


# ca2ae49d 25-Jan-2014 Jack Carter <jack.carter@imgtec.com>

[Mips] TargetStreamer ELF flag Support for default and commandline options.

This patch uses a common MipsTargetSteamer interface for both
MipsAsmPrinter and MipsAsmParser for recording default and

[Mips] TargetStreamer ELF flag Support for default and commandline options.

This patch uses a common MipsTargetSteamer interface for both
MipsAsmPrinter and MipsAsmParser for recording default and commandline
driven directives that affect ELF header flags.

It has been noted that the .ll tests affected by this patch belong in
test/Codegen/Mips. I will move them in a separate patch.

Also, a number of directives do not get expressed by AsmPrinter in the
resultant .s assembly such as setting the correct ASI. I have noted this
in the tests and they will be addressed in later patches.

llvm-svn: 200051

show more ...


# e7583756 24-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Unify duplicated functions.

llvm-svn: 200014


# 39536724 22-Jan-2014 Jack Carter <jack.carter@imgtec.com>

[Mips] TargetStreamer Support for .set mips16.

This patch updates .set mips16 support which
affects the ELF ABI and its flags. In addition the patch uses
a common interface for both the MipsTargetSt

[Mips] TargetStreamer Support for .set mips16.

This patch updates .set mips16 support which
affects the ELF ABI and its flags. In addition the patch uses
a common interface for both the MipsTargetSteamer and
MipsObjectStreamer that the assembler uses for
both ELF and ASCII output for these directives.

llvm-svn: 199851

show more ...


# 9d795cae 15-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Fix uninitialized variable.

llvm-svn: 199288


# 26e917cd 15-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Only mark functions as micromips.

The GNU as behavior is a bit different and very strange. It will mark any
label that contains an instruction. We can implement that, but using the
type looks more n

Only mark functions as micromips.

The GNU as behavior is a bit different and very strange. It will mark any
label that contains an instruction. We can implement that, but using the
type looks more natural since gas will not mark a function if a .word is
used to output the instructions!

llvm-svn: 199287

show more ...


# 6633d57a 14-Jan-2014 Rafael Espindola <rafael.espindola@gmail.com>

Fix a low hanging use of hasRawTextSupport.

This also fixes the placement of the function label comment. It was being
placed next to the mips16 directive instead of next to the label.

llvm-svn: 199

Fix a low hanging use of hasRawTextSupport.

This also fixes the placement of the function label comment. It was being
placed next to the mips16 directive instead of next to the label.

llvm-svn: 199245

show more ...


12345678