Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
#
d3f4c05a |
| 12-Jun-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move instances of std::function.
Or replace with llvm::function_ref if it's never stored. NFC intended.
llvm-svn: 272513
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
cda908a0 |
| 16-May-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] EF_MIPS_MICROMIPS should iff microMIPS code was emitted.
Summary: This fixes PR27682. Additionally, '.set micromips' by itself is not sufficient to raise the EF_MIPS_MICROMIPS flag. It i
[mips][ias] EF_MIPS_MICROMIPS should iff microMIPS code was emitted.
Summary: This fixes PR27682. Additionally, '.set micromips' by itself is not sufficient to raise the EF_MIPS_MICROMIPS flag. It is also necessary to emit a microMIPS instruction. This has also been fixed.
Reviewers: sdardis, vkalintiris, rafael
Subscribers: rafael, dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D20214
llvm-svn: 269639
show more ...
|
#
241c6798 |
| 12-May-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset is in range.
Summary: This expands on r269179 to fix an additional case that was not covered by our tests. The assemb
[mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset is in range.
Summary: This expands on r269179 to fix an additional case that was not covered by our tests. The assembler temporary is not needed when the .cprestore offset fits inside a simm16 and it is not an error to use it inside a '.set noat' in this case.
Reviewers: emaste, seanbruno, sdardis
Subscribers: dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D20199
llvm-svn: 269295
show more ...
|
#
10e6cefd |
| 11-May-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Fix missing header that should have been in r269179
llvm-svn: 269180
|
#
df8510d4 |
| 11-May-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Fix N32 and N64 .cprestore directive when inside .set noat region.
Summary: r268058 unintentionally made the retrieval of the current assembler temporary unconditional. This was fine for
[mips][ias] Fix N32 and N64 .cprestore directive when inside .set noat region.
Summary: r268058 unintentionally made the retrieval of the current assembler temporary unconditional. This was fine for the existing tests but it broke the cases where the assembler temporary is not needed (N32/N64 or not PIC) and is unavailable due to a '.set noat' directive.
This fixes FreeBSD's libc.
Reviewers: emaste, sdardis, seanbruno
Subscribers: dsanders, emaste, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D20093
llvm-svn: 269179
show more ...
|
#
8de3d3ca |
| 06-May-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Fix inconsistent .cprestore behaviour between direct object emission and assembling.
Summary: Direct object emission has an initialization order problem where an InitMCObjectFile is called af
[mips] Fix inconsistent .cprestore behaviour between direct object emission and assembling.
Summary: Direct object emission has an initialization order problem where an InitMCObjectFile is called after MipsTargetELFStreamer determines whether PIC is enabled by default or not. There doesn't seem to be point that initializes all cases so split the responsibility between MipsTargetELFStreamer and MipsAsmPrinter.
Reviewers: sdardis
Subscribers: dsanders, llvm-commits, sdardis
Differential Revision: http://reviews.llvm.org/D19728
llvm-svn: 268737
show more ...
|
#
7225cd52 |
| 29-Apr-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Move createCpRestoreMemOp to MipsTargetStreamer. NFC.
Summary: This removes the temporary call to isIntegratedAssemblerRequired() which was added recently. It's effect is now acheived di
[mips][ias] Move createCpRestoreMemOp to MipsTargetStreamer. NFC.
Summary: This removes the temporary call to isIntegratedAssemblerRequired() which was added recently. It's effect is now acheived directly in the MipsTargetStreamer hierarchy.
Reviewers: sdardis
Subscribers: dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D19715
llvm-svn: 268058
show more ...
|
#
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 ...
|
#
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 ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, 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 ...
|
#
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 ...
|
#
4d45c768 |
| 14-Sep-2015 |
Simon Atanasyan <simon@atanasyan.com> |
[mips] Save a copy of MipsABIInfo in the MipsTargetStreamer to escape a dangling pointer
The MipsTargetELFStreamer can receive ABI info from many sources. For example, from the MipsAsmParser instanc
[mips] Save a copy of MipsABIInfo in the MipsTargetStreamer to escape a dangling pointer
The MipsTargetELFStreamer can receive ABI info from many sources. For example, from the MipsAsmParser instance. Lifetime of the MipsAsmParser can be shorter than MipsTargetELFStreamer's lifetime. In that case we get a dangling pointer to MipsABIInfo.
Differential Revision: http://reviews.llvm.org/D12805
llvm-svn: 247546
show more ...
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, 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 ...
|
#
f00654e3 |
| 23-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)
Apparently, the style needs to be agreed upon first.
llvm-svn: 240390
|
#
70bc5f13 |
| 19-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-c
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ llvm/lib/
Thanks to Eugene Kosov for the original patch!
llvm-svn: 240137
show more ...
|
#
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 ...
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
9ca5096f |
| 16-Apr-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Add support for the .insn directive.
Summary: This assembler directive marks the current label as an instruction label in microMIPS and MIPS16.
This initial implementation works only f
[mips] [IAS] Add support for the .insn directive.
Summary: This assembler directive marks the current label as an instruction label in microMIPS and MIPS16.
This initial implementation works only for microMIPS.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8006
llvm-svn: 235084
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
#
e95a4911 |
| 13-Mar-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Refactor MipsTargetStreamer::emitMipsAbiFlags(). NFC.
Summary: Make emitMipsAbiFlags a direct member of MipsTargetELFStreamer, as that's the only place where it's used, and remove the e
[mips] [IAS] Refactor MipsTargetStreamer::emitMipsAbiFlags(). NFC.
Summary: Make emitMipsAbiFlags a direct member of MipsTargetELFStreamer, as that's the only place where it's used, and remove the empty implementations from MipsTargetStreamer and MipsTargetAsmStreamer.
Reviewers: dsanders, rafael
Reviewed By: rafael
Subscribers: rafael, llvm-commits
Differential Revision: http://reviews.llvm.org/D8199
llvm-svn: 232161
show more ...
|
#
4e0cf8e2 |
| 06-Mar-2015 |
Toma Tabacu <toma.tabacu@imgtec.com> |
[mips] [IAS] Add missing constraints and improve testing for the .module directive.
Summary: None of the .set directives can be used before the .module directives. The .set mips0/pop/push were not t
[mips] [IAS] Add missing constraints and improve testing for the .module directive.
Summary: None of the .set directives can be used before the .module directives. The .set mips0/pop/push were not triggering this constraint. Also added testing for all the other implemented directives which are supposed to trigger this constraint.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7140
llvm-svn: 231465
show more ...
|
Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4 |
|
#
1779314e |
| 18-Feb-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Add backend support for Mips32r[35] and Mips64r[35].
Summary: These ISA's didn't add any instructions so they are almost identical to Mips32r2 and Mips64r2. Even the ELF e_flags are the same,
[mips] Add backend support for Mips32r[35] and Mips64r[35].
Summary: These ISA's didn't add any instructions so they are almost identical to Mips32r2 and Mips64r2. Even the ELF e_flags are the same, However the ISA revision in .MIPS.abiflags is 3 or 5 respectively instead of 2.
Reviewers: vmedic
Reviewed By: vmedic
Subscribers: tomatabacu, llvm-commits, atanasyan
Differential Revision: http://reviews.llvm.org/D7381
llvm-svn: 229695
show more ...
|