[llvm] r267397 - [Hexagon] Correctly set "Flags" in ELF header
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 25 11:15:55 PDT 2016
I don't need that. I just used the test line from Mingjie's email.
I switched to llvm-mc in r267434/5.
-Krzysztof
On 4/25/2016 1:00 PM, Rafael EspĂndola wrote:
> Why do you need to use "llc -filetype=obj" to test this? The flags
> must also be set by llvm-mc or there is something missing somewhere.
>
> Cheers,
> Rafael
>
>
> On 25 April 2016 at 08:49, Krzysztof Parzyszek via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> Author: kparzysz
>> Date: Mon Apr 25 07:49:47 2016
>> New Revision: 267397
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=267397&view=rev
>> Log:
>> [Hexagon] Correctly set "Flags" in ELF header
>>
>> Added:
>> llvm/trunk/test/MC/Hexagon/elf-flags.ll
>> Modified:
>> llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
>>
>> Modified: llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp?rev=267397&r1=267396&r2=267397&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp (original)
>> +++ llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp Mon Apr 25 07:49:47 2016
>> @@ -157,10 +157,14 @@ public:
>> HexagonTargetELFStreamer(MCStreamer &S, MCSubtargetInfo const &STI)
>> : HexagonTargetStreamer(S) {
>> auto Bits = STI.getFeatureBits();
>> - unsigned Flags;
>> - if (Bits.to_ullong() & llvm::Hexagon::ArchV5)
>> + unsigned Flags = 0;
>> + if (Bits[Hexagon::ArchV60])
>> + Flags = ELF::EF_HEXAGON_MACH_V60;
>> + else if (Bits[Hexagon::ArchV55])
>> + Flags = ELF::EF_HEXAGON_MACH_V55;
>> + else if (Bits[Hexagon::ArchV5])
>> Flags = ELF::EF_HEXAGON_MACH_V5;
>> - else
>> + else if (Bits[Hexagon::ArchV4])
>> Flags = ELF::EF_HEXAGON_MACH_V4;
>> getStreamer().getAssembler().setELFHeaderEFlags(Flags);
>> }
>>
>> Added: llvm/trunk/test/MC/Hexagon/elf-flags.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Hexagon/elf-flags.ll?rev=267397&view=auto
>> ==============================================================================
>> --- llvm/trunk/test/MC/Hexagon/elf-flags.ll (added)
>> +++ llvm/trunk/test/MC/Hexagon/elf-flags.ll Mon Apr 25 07:49:47 2016
>> @@ -0,0 +1,9 @@
>> +; RUN: llc -march=hexagon -mcpu=hexagonv4 --filetype=obj %s -o - | llvm-readobj -file-headers -elf-output-style=GNU | FileCheck --check-prefix=CHECK-V4 %s
>> +; RUN: llc -march=hexagon -mcpu=hexagonv5 --filetype=obj %s -o - | llvm-readobj -file-headers -elf-output-style=GNU | FileCheck --check-prefix=CHECK-V5 %s
>> +; RUN: llc -march=hexagon -mcpu=hexagonv55 --filetype=obj %s -o - | llvm-readobj -file-headers -elf-output-style=GNU | FileCheck --check-prefix=CHECK-V55 %s
>> +; RUN: llc -march=hexagon -mcpu=hexagonv60 --filetype=obj %s -o - | llvm-readobj -file-headers -elf-output-style=GNU | FileCheck --check-prefix=CHECK-V60 %s
>> +
>> +; CHECK-V4: Flags: 0x3
>> +; CHECK-V5: Flags: 0x4
>> +; CHECK-V55: Flags: 0x5
>> +; CHECK-V60: Flags: 0x60
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-commits
mailing list