#
fba875f9 |
| 29-Apr-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Split expandMemInst between MipsAsmParser and MipsTargetStreamer. Almost NFC.
Summary: The portion in MipsAsmParser is responsible for figuring out which expansion to use, while the port
[mips][ias] Split expandMemInst between MipsAsmParser and MipsTargetStreamer. Almost NFC.
Summary: The portion in MipsAsmParser is responsible for figuring out which expansion to use, while the portion in MipsTargetStreamer is responsible for emitting it.
This allows us to remove the call to isIntegratedAssemblerRequired() which is currently ensuring the effect of .cprestore only occurs when writing objects.
The small functional change is that the memory offsets are now correctly printed as signed values.
Reviewers: sdardis
Subscribers: dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D19714
llvm-svn: 268042
show more ...
|
#
a736b37a |
| 29-Apr-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Moved most instruction emission helpers to MipsTargetStreamer. NFC.
Summary: * Moved all the emit*() helpers to MipsTargetStreamer. * Moved createNop() to MipsTargetStreamer as emitNop()
[mips][ias] Moved most instruction emission helpers to MipsTargetStreamer. NFC.
Summary: * Moved all the emit*() helpers to MipsTargetStreamer. * Moved createNop() to MipsTargetStreamer as emitNop() and emitEmptyDelaySlot(). This instruction has been split to distinguish between the 'nop' instruction and the nop used in delay slots which is sometimes a different nop to the 'nop' instruction (e.g. for short delay slots on microMIPS). * Moved createAddu() to MipsTargetStreamer as emitAddu(). * Moved createAppropriateDSLL() to MipsTargetStreamer as emitDSLL().
Reviewers: sdardis
Subscribers: dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D19712
llvm-svn: 268041
show more ...
|
#
9db710a1 |
| 29-Apr-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Make section sizes a multiple of the alignment.
Reviewers: sdardis
Subscribers: dsanders, llvm-commits, sdardis
Differential Revision: http://reviews.llvm.org/D19008
llvm-svn: 268036
|
#
c6924fa5 |
| 18-Apr-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Stream macro expansions to output instead of buffering them. NFC.
Summary: This will allows us to eliminate some magic numbers from the offset operand of branch instructions in favour of
[mips][ias] Stream macro expansions to output instead of buffering them. NFC.
Summary: This will allows us to eliminate some magic numbers from the offset operand of branch instructions in favour of symbols and makes it possible to avoid double-filling delay slots when clang is given -save-temps.
parseDirectiveCpRestore() is calling isIntegratedAssemblerRequired() for the moment since correctly pushing the generation of these instructions into the ELF target streamer is tricky enough to warrant a separate patch.
Reviewers: sdardis, vkalintiris
Subscribers: dsanders, llvm-commits, sdardis
Differential Revision: http://reviews.llvm.org/D19164
llvm-svn: 266602
show more ...
|
#
b550cb17 |
| 18-Apr-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
[NFC] Header cleanup
Removed some unused headers, replaced some headers with forward class declarations.
Found using simple scripts like this one: clear && ack --cpp -l '#include "llvm/ADT/IndexedM
[NFC] Header cleanup
Removed some unused headers, replaced some headers with forward class declarations.
Found using simple scripts like this one: clear && ack --cpp -l '#include "llvm/ADT/IndexedMap.h"' | xargs grep -L 'IndexedMap[<]' | xargs grep -n --color=auto 'IndexedMap'
Patch by Eugene Kosov <claprix@yandex.ru>
Differential Revision: http://reviews.llvm.org/D19219
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266595
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
#
219fae9e |
| 17-Feb-2016 |
Scott Egerton <Scott.Egerton@imgtec.com> |
[mips] Removed the SHF_ALLOC flag and the SHT_REL flag from the .pdr section.
This section is used for debug information and has no need to be in memory at runtime. This patch also fixes an error wh
[mips] Removed the SHF_ALLOC flag and the SHT_REL flag from the .pdr section.
This section is used for debug information and has no need to be in memory at runtime. This patch also fixes an error when compiling the Linux kernel. The error is that there are relocations within the .pdr section in a VDSO. SHT_REL was removed as it is a section type and not a section flag, therefore it does not make sense for it to be there. With this patch, LLVM now emits the same flags as the GNU assembler.
llvm-svn: 261083
show more ...
|
#
2c2a2f51 |
| 15-Feb-2016 |
Scott Egerton <Scott.Egerton@imgtec.com> |
Reverted r260879 as it caused test failures in lld.
llvm-svn: 260880
|
#
baec95a8 |
| 15-Feb-2016 |
Scott Egerton <Scott.Egerton@imgtec.com> |
[mips] Removed the SHF_ALLOC flag from the .pdr section.
Summary: This section is used for debug information and has no need to be in memory at runtime. With this patch, LLVM now emits the same flag
[mips] Removed the SHF_ALLOC flag from the .pdr section.
Summary: This section is used for debug information and has no need to be in memory at runtime. With this patch, LLVM now emits the same flags as the GNU assembler. This patch also fixes an error when compiling the Linux kernel, The error is that there are relocations within the .pdr section in a VDSO.
Reviewers: vkalintiris, dsanders
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D17199
llvm-svn: 260879
show more ...
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1 |
|
#
2b561336 |
| 23-Nov-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] .ent and .end should also set the type and size of the symbol respectively.
Reviewers: vkalintiris
Subscribers: llvm-commits, seanbruno, emaste, vkalintiris, dsanders
Differential Revision:
[mips] .ent and .end should also set the type and size of the symbol respectively.
Reviewers: vkalintiris
Subscribers: llvm-commits, seanbruno, emaste, vkalintiris, dsanders
Differential Revision: http://reviews.llvm.org/D14221
llvm-svn: 253875
show more ...
|
Revision tags: llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
f173dda0 |
| 22-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Implement .cpreturn directive.
Summary: Based on a patch by David Chisnall. I've modified the original patch as follows: * Moved the expansion to the TargetStreamers so that the directiv
[mips][ias] Implement .cpreturn directive.
Summary: Based on a patch by David Chisnall. I've modified the original patch as follows: * Moved the expansion to the TargetStreamers so that the directive isn't expanded when emitting assembly. * Fixed an operand order bug. * Changed the move instructions from DADDu to OR to match recent changes to GAS.
Reviewers: vkalintiris
Subscribers: llvm-commits, emaste, seanbruno, theraven
Differential Revision: http://reviews.llvm.org/D13017
llvm-svn: 248258
show more ...
|
#
5d796288 |
| 21-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Allow constant expressions in second argument of .cpsetup.
Summary: Also tightened up the test and made a trivial fix to prevent double-newline after emitting .cpsetup directives.
Reviewers:
[mips] Allow constant expressions in second argument of .cpsetup.
Summary: Also tightened up the test and made a trivial fix to prevent double-newline after emitting .cpsetup directives.
Reviewers: vkalintiris
Subscribers: seanbruno, emaste, llvm-commits
Differential Revision: http://reviews.llvm.org/D12956
llvm-svn: 248143
show more ...
|
#
e2982adc |
| 17-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Add assembler support for the .cprestore directive.
Summary: This assembler directive is used in O32 PIC to restore the current function's $gp after executing JAL's. The $gp is first stored o
[mips] Add assembler support for the .cprestore directive.
Summary: This assembler directive is used in O32 PIC to restore the current function's $gp after executing JAL's. The $gp is first stored on the stack at a user-specified offset. It has the following format: ".cprestore 8" (where 8 is the offset).
This fixes llvm.org/PR20967.
Patch by Toma Tabacu.
Reviewers: seanbruno, tomatabacu
Subscribers: brooks, seanbruno, emaste, llvm-commits
Differential Revision: http://reviews.llvm.org/D6267
llvm-svn: 247897
show more ...
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4 |
|
#
1c78ca6a |
| 11-Aug-2015 |
Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> |
[mips] Remap move as or.
Summary: This patch remaps the assembly idiom 'move' to 'or' instead of 'daddu' or 'addu'. The use of addu/daddu instead of or as move was highlighted as a performance issue
[mips] Remap move as or.
Summary: This patch remaps the assembly idiom 'move' to 'or' instead of 'daddu' or 'addu'. The use of addu/daddu instead of or as move was highlighted as a performance issue during the analysis of a recent 64bit design. Originally move was encoded as 'or' by binutils but was changed for the r10k cpu family due to their pipeline which had 2 arithmetic units and a single logical unit, and so could issue multiple (d)addu based moves at the same time but only 1 logical move.
This patch preserves the disassembly behaviour so that disassembling a old style (d)addu move still appears as move, but assembling move always gives an or
Patch by Simon Dardis.
Reviewers: vkalintiris
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11796
llvm-svn: 244579
show more ...
|
Revision tags: llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
#
0f093130 |
| 30-Jun-2015 |
Toma Tabacu <toma.tabacu@gmail.com> |
[mips] [IAS] Add support for the .module softfloat/hardfloat directives.
These directives are used to set the default value of the SoftFloat feature. They have the same effect as setting -m{soft, ha
[mips] [IAS] Add support for the .module softfloat/hardfloat directives.
These directives are used to set the default value of the SoftFloat feature. They have the same effect as setting -m{soft, hard}-float from the command line.
Differential Revision: http://reviews.llvm.org/D9073
llvm-svn: 241066
show more ...
|
#
32c72aa0 |
| 30-Jun-2015 |
Toma Tabacu <toma.tabacu@gmail.com> |
[mips] [IAS] Add support for the .set oddspreg/nooddspreg directives.
Differential Revision: http://reviews.llvm.org/D10657
llvm-svn: 241052
|
#
a64e5405 |
| 25-Jun-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Refactor the emitDirectiveModuleFP() functions. NFC.
Summary: Simplify emitDirectiveModuleFP() by having it just print the current information from MipsABIFlagsSection and doing an upda
[mips] [IAS] Refactor the emitDirectiveModuleFP() functions. NFC.
Summary: Simplify emitDirectiveModuleFP() by having it just print the current information from MipsABIFlagsSection and doing an updateABIInfo() before such calls.
This prevents us from forgetting to update the STI.FeatureBits, because updateABIInfo() uses those to update the MipsABIFlagsSection object, and also makes sure we use the update mechanism from MipsABIFlagsSection.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits, mpf
Differential Revision: http://reviews.llvm.org/D10642
llvm-svn: 240637
show more ...
|
#
3c499589 |
| 25-Jun-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Refactor the emitDirectiveModuleOddSPReg() functions. NFC.
Summary: We can simplify emitDirectiveModuleOddSPReg() by having it print the current OddSPReg information from MipsABIFlagsSe
[mips] [IAS] Refactor the emitDirectiveModuleOddSPReg() functions. NFC.
Summary: We can simplify emitDirectiveModuleOddSPReg() by having it print the current OddSPReg information from MipsABIFlagsSection and doing an updateABIInfo() before such calls.
This prevents us from forgetting to update the STI.FeatureBits, because updateABIInfo() uses those to update the MipsABIFlagsSection object, and also makes sure we use the update mechanism from MipsABIFlagsSection.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits, mpf
Differential Revision: http://reviews.llvm.org/D10641
llvm-svn: 240630
show more ...
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
bfcbfd56 |
| 23-Jun-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Move some function definitions to MipsTargetStreamer.cpp. NFC.
Summary: For the sake of consistency and to make some upcoming changes a little less noisy.
Reviewers: dsanders
Reviewed
[mips] [IAS] Move some function definitions to MipsTargetStreamer.cpp. NFC.
Summary: For the sake of consistency and to make some upcoming changes a little less noisy.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10639
llvm-svn: 240398
show more ...
|
#
8c006ee3 |
| 04-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Bring back r239006 with a fix.
The fix is just that getOther had not been updated for packing the st_other values in fewer bits and could return spurious values:
- unsigned Other = (getFlags() & (
Bring back r239006 with a fix.
The fix is just that getOther had not been updated for packing the st_other values in fewer bits and could return spurious values:
- unsigned Other = (getFlags() & (0x3f << ELF_STO_Shift)) >> ELF_STO_Shift; + unsigned Other = (getFlags() & (0x7 << ELF_STO_Shift)) >> ELF_STO_Shift;
Original message:
Pack the MCSymbolELF bit fields into MCSymbol's Flags.
This reduces MCSymolfELF from 64 bytes to 56 bytes on x86_64.
While at it, also make getOther/setOther easier to use by accepting unshifted STO_* values.
llvm-svn: 239012
show more ...
|
#
a86ecee5 |
| 04-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "Pack the MCSymbolELF bit fields into MCSymbol's Flags."
This reverts commit r239006.
I am debugging the powerpc failures.
llvm-svn: 239010
|
#
d31203ae |
| 04-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Pack the MCSymbolELF bit fields into MCSymbol's Flags.
This reduces MCSymolfELF from 64 bytes to 56 bytes on x86_64.
While at it, also make getOther/setOther easier to use by accepting unshifted ST
Pack the MCSymbolELF bit fields into MCSymbol's Flags.
This reduces MCSymolfELF from 64 bytes to 56 bytes on x86_64.
While at it, also make getOther/setOther easier to use by accepting unshifted STO_* values.
llvm-svn: 239006
show more ...
|
#
c73aed1c |
| 03-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove getOrCreateSymbolData. There is no MCSymbolData anymore.
llvm-svn: 238952
|
#
95fb9b93 |
| 02-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Merge MCELF.h into MCSymbolELF.h.
Now that we have a dedicated type for ELF symbol, these helper functions can become member function of MCSymbolELF.
llvm-svn: 238864
|
#
2969650e |
| 02-Jun-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Add support for the .set softfloat/hardfloat directives.
Summary: These directives are used to set the current value of the SoftFloat feature.
Reviewers: dsanders
Reviewed By: dsander
[mips] [IAS] Add support for the .set softfloat/hardfloat directives.
Summary: These directives are used to set the current value of the SoftFloat feature.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits, mpf
Differential Revision: http://reviews.llvm.org/D9074
llvm-svn: 238813
show more ...
|
#
13760bd1 |
| 30-May-2015 |
Jim Grosbach <grosbach@apple.com> |
MC: Clean up MCExpr naming. NFC.
llvm-svn: 238634
|