[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG5509748f2ce5: [cfe][driver][M68k](8/8) Clang driver support (authored by myhsu). Changed prior to commit: https://reviews.llvm.org/D88394?vs=327029=329111#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,35 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// CHECK-M00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// CHECK-M10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// CHECK-M20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// CHECK-M30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// CHECK-M40: "-target-cpu" "M68040" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// RUN: %clang -### -target m68k-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// CHECK-M60: "-target-cpu" "M68060" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 327029. myhsu marked 4 inline comments as done. myhsu added a comment. [NFC] Update FileCheck prefix CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,35 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-M00 %s +// CHECK-M00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-M10 %s +// CHECK-M10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-M20 %s +// CHECK-M20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-M30 %s +// CHECK-M30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-M40 %s +// CHECK-M40: "-target-cpu" "M68040" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// RUN: %clang -### -target m68k-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-M60 %s +// CHECK-M60: "-target-cpu" "M68060" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +//
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
glaubitz added inline comments. Comment at: clang/test/Driver/m68k-sub-archs.cpp:1 +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s jrtc27 wrote: > glaubitz wrote: > > jrtc27 wrote: > > > jrtc27 wrote: > > > > Why MX00 etc? > > > I think you misunderstood my comment. Having CHECK-A, CHECK-B, CHECK-C > > > etc is fine. My issue was with the MX00/MX10/MX20 suffix that makes no > > > sense to me; it's M68000/M68010/etc, X normally stands for a variable, > > > but the 0 is always constant. M00/M10/etc, M000/M010/etc and > > > M68000/M68010/M68020 would seem like more sensible names (also without > > > the M would be fine), but MX00 looks like it's trying to match > > > M000/M100/M200/etc, which is not the case. > > From what I can see, I would say it's supposed to represent the "680" in > > "M68020", for example. > Yeah, I just don't think it's particularly intuitive, especially when the > backend was originally intended to be called M680x0, the use of an X to stand > in for different things in very similar situations is confusing. You're right, it's not very intuitive but I think it's not that important in my opinion. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
jrtc27 added inline comments. Comment at: clang/test/Driver/m68k-sub-archs.cpp:1 +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s glaubitz wrote: > jrtc27 wrote: > > jrtc27 wrote: > > > Why MX00 etc? > > I think you misunderstood my comment. Having CHECK-A, CHECK-B, CHECK-C etc > > is fine. My issue was with the MX00/MX10/MX20 suffix that makes no sense to > > me; it's M68000/M68010/etc, X normally stands for a variable, but the 0 is > > always constant. M00/M10/etc, M000/M010/etc and M68000/M68010/M68020 would > > seem like more sensible names (also without the M would be fine), but MX00 > > looks like it's trying to match M000/M100/M200/etc, which is not the case. > From what I can see, I would say it's supposed to represent the "680" in > "M68020", for example. Yeah, I just don't think it's particularly intuitive, especially when the backend was originally intended to be called M680x0, the use of an X to stand in for different things in very similar situations is confusing. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
glaubitz added inline comments. Comment at: clang/test/Driver/m68k-sub-archs.cpp:1 +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s jrtc27 wrote: > jrtc27 wrote: > > Why MX00 etc? > I think you misunderstood my comment. Having CHECK-A, CHECK-B, CHECK-C etc is > fine. My issue was with the MX00/MX10/MX20 suffix that makes no sense to me; > it's M68000/M68010/etc, X normally stands for a variable, but the 0 is always > constant. M00/M10/etc, M000/M010/etc and M68000/M68010/M68020 would seem like > more sensible names (also without the M would be fine), but MX00 looks like > it's trying to match M000/M100/M200/etc, which is not the case. From what I can see, I would say it's supposed to represent the "680" in "M68020", for example. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
jrtc27 added inline comments. Comment at: clang/test/Driver/m68k-sub-archs.cpp:1 +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s jrtc27 wrote: > Why MX00 etc? I think you misunderstood my comment. Having CHECK-A, CHECK-B, CHECK-C etc is fine. My issue was with the MX00/MX10/MX20 suffix that makes no sense to me; it's M68000/M68010/etc, X normally stands for a variable, but the 0 is always constant. M00/M10/etc, M000/M010/etc and M68000/M68010/M68020 would seem like more sensible names (also without the M would be fine), but MX00 looks like it's trying to match M000/M100/M200/etc, which is not the case. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu marked an inline comment as done. myhsu added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:380 ve::getVETargetFeatures(D, Args, Features); +break; } jrtc27 wrote: > jrtc27 wrote: > > Unrelated > I committed this as 22215e492338, should disappear if you rebase (or you can > just drop the diff if you don't plan to rebase) thanks, I'll drop the change for this line CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 326506. myhsu marked 3 inline comments as done. myhsu added a comment. - Addressed feedbacks CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,35 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck %s +// CHECK: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: "-target-cpu" "M68060" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30: #define mc68030 1 + +// RUN: %clang -target m68k-unknown-linux -m68040 -dM -E %s |
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
jrtc27 added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:380 ve::getVETargetFeatures(D, Args, Features); +break; } jrtc27 wrote: > Unrelated I committed this as 22215e492338, should disappear if you rebase (or you can just drop the diff if you don't plan to rebase) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
jrtc27 added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:380 ve::getVETargetFeatures(D, Args, Features); +break; } Unrelated Comment at: clang/test/Driver/m68k-sub-archs.cpp:1 +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s Why MX00 etc? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:2101 + static const char *const M68kLibDirs[] = {"/lib"}; + static const char *const M68kTriples[] = { MaskRay wrote: > The second `const ` is redundant I don't think so...first, `const char *const` means "a pointer points to const char, and you can't modify this pointer", which make sense in this context. Second, all the surrounding code here are using `const char *const`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 320586. myhsu marked 5 inline comments as done. myhsu added a comment. Herald added a reviewer: jansvoboda11. - Addressed feedbacks CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,35 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: "-target-cpu" "M68060" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30:
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
rengolin added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:2089 + static const char *const M68kTriples[] = { + "m68k-linux-gnu", "m68k-unknown-linux-gnu", "m68k-suse-linux"}; + jrtc27 wrote: > rengolin wrote: > > The front-end supports FreeBSD, too. > Aren't these arrays only used on multiarch systems so irrelevant for BSDs? > There aren't FreeBSD triples listed for X86/X86_64 for example. Makes sense. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
jrtc27 added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:2089 + static const char *const M68kTriples[] = { + "m68k-linux-gnu", "m68k-unknown-linux-gnu", "m68k-suse-linux"}; + rengolin wrote: > The front-end supports FreeBSD, too. Aren't these arrays only used on multiarch systems so irrelevant for BSDs? There aren't FreeBSD triples listed for X86/X86_64 for example. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
MaskRay accepted this revision. MaskRay added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/M68k.h:38 +} // end namespace m68k +} // namespace tools +} // end namespace driver mismatching `end` and no `end`? clang-format seems to drop `end`. I think that style can be picked if convenient. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:2101 + static const char *const M68kLibDirs[] = {"/lib"}; + static const char *const M68kTriples[] = { The second `const ` is redundant CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
rengolin accepted this revision. rengolin added a comment. LGTM too, thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
bruno accepted this revision. bruno added a comment. This revision is now accepted and ready to land. LGTM, it would be great if someone else stamps this too, in case I missed something. Comment at: clang/include/clang/Driver/Options.td:164 +def m_m68k_Features_Group: OptionGroup<"">, + Group, DocName<"M68k">; def m_mips_Features_Group : OptionGroup<"">, rengolin wrote: > craig.topper wrote: > > bruno wrote: > > > Looks like this is missing `clang-format`? > > I don't think clang-format really understands tablegen files. > It does not. Don't clang-format table-gen files, the end result is > horrendous. :) Thanks for pointing out, thinko for "please format" CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 310755. myhsu marked an inline comment as done. myhsu added a comment. - [NFC] Fix minor formatting CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,35 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: "-target-cpu" "M68060" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30:
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
rengolin added inline comments. Comment at: clang/include/clang/Driver/Options.td:164 +def m_m68k_Features_Group: OptionGroup<"">, + Group, DocName<"M68k">; def m_mips_Features_Group : OptionGroup<"">, craig.topper wrote: > bruno wrote: > > Looks like this is missing `clang-format`? > I don't think clang-format really understands tablegen files. It does not. Don't clang-format table-gen files, the end result is horrendous. :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
craig.topper added inline comments. Comment at: clang/include/clang/Driver/Options.td:164 +def m_m68k_Features_Group: OptionGroup<"">, + Group, DocName<"M68k">; def m_mips_Features_Group : OptionGroup<"">, bruno wrote: > Looks like this is missing `clang-format`? I don't think clang-format really understands tablegen files. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
bruno added a reviewer: bruno. bruno added inline comments. Comment at: clang/include/clang/Driver/Options.td:164 +def m_m68k_Features_Group: OptionGroup<"">, + Group, DocName<"M68k">; def m_mips_Features_Group : OptionGroup<"">, Looks like this is missing `clang-format`? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu marked 2 inline comments as done. myhsu added inline comments. Comment at: clang/include/clang/Driver/Options.td:3125 +foreach i = {0-4} in + def m680#i#0 : Flag<["-"], "m680"#i#"0">, Group; myhsu wrote: > bruno wrote: > > rengolin wrote: > > > Same question as @RKSimon had below: Shouldn't this cover all models the > > > back-end recognises? > > Unless you are planning to add 100 or more target variations I'd prefer to > > see these explicitly defined instead of a `foreach`. If I'm grepping for a > > specific CPU variation in the code base it's nice to get that information > > easily. > @rengolin I think the backend currently doesn't support M68060 either Update: I've just put the sub-target (skeleton) for M68060. So now you can specific M68060 :-) Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:44 + +llvm::Regex CPUPattern("m?680([01234]{1})0"); +llvm::SmallVector Matches; RKSimon wrote: > Why no 68060 ? @RKSimon Just added 060's support :-) Currently I don't see any major ISA difference between 060 and 040 (correct me if I'm wrong). So I just put a sub-target skeleton and clang support for 060, and fill in the details in the future CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 309462. myhsu added a comment. - Add support for M68060 sub-target CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,35 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m68k-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: "-target-cpu" "M68060" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30:
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu added inline comments. Comment at: clang/include/clang/Driver/Options.td:3125 +foreach i = {0-4} in + def m680#i#0 : Flag<["-"], "m680"#i#"0">, Group; bruno wrote: > rengolin wrote: > > Same question as @RKSimon had below: Shouldn't this cover all models the > > back-end recognises? > Unless you are planning to add 100 or more target variations I'd prefer to > see these explicitly defined instead of a `foreach`. If I'm grepping for a > specific CPU variation in the code base it's nice to get that information > easily. @rengolin I think the backend currently doesn't support M68060 either CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 308551. myhsu marked 11 inline comments as done. myhsu added a comment. - Rebased to latest changes - Addressed some of the feedbacks CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,29 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,37 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30: #define mc68030 1 + +// RUN: %clang -target m68k-unknown-linux -m68040 -dM -E %s | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: #define __mc68000 1 +// CHECK-MX40: #define __mc68000__ 1 +// CHECK-MX40: #define __mc68040 1 +// CHECK-MX40: #define __mc68040__ 1 +// CHECK-MX40: #define mc68000 1 +// CHECK-MX40: #define mc68040 1 Index: clang/lib/Driver/ToolChains/Linux.cpp
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
bruno added inline comments. Comment at: clang/include/clang/Driver/Options.td:3125 +foreach i = {0-4} in + def m680#i#0 : Flag<["-"], "m680"#i#"0">, Group; rengolin wrote: > Same question as @RKSimon had below: Shouldn't this cover all models the > back-end recognises? Unless you are planning to add 100 or more target variations I'd prefer to see these explicitly defined instead of a `foreach`. If I'm grepping for a specific CPU variation in the code base it's nice to get that information easily. Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:37 +return CPU; + else +return ""; No need for this `else` here. Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:51 +} +return CPUName.str(); + } RKSimon wrote: > Can't we just use StringSwitch here? +1 Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:64 +return "M68040"; + } + RKSimon wrote: > (style) remove unnecessary braces? and also the unnecessary `else`s. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
RKSimon added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:51 +} +return CPUName.str(); + } Can't we just use StringSwitch here? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
rengolin added inline comments. Comment at: clang/include/clang/Driver/Options.td:3125 +foreach i = {0-4} in + def m680#i#0 : Flag<["-"], "m680"#i#"0">, Group; Same question as @RKSimon had below: Shouldn't this cover all models the back-end recognises? Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:2089 + static const char *const M68kTriples[] = { + "m68k-linux-gnu", "m68k-unknown-linux-gnu", "m68k-suse-linux"}; + The front-end supports FreeBSD, too. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
RKSimon added a comment. Some very minor nits - the 68060 omission is the biggest one (apple might not have used it but commodore did!) Comment at: clang/include/clang/Driver/Options.td:155 +def m_m68k_Features_Group: OptionGroup<"">, + Group, DocName<"M68k">; def m_ppc_Features_Group : OptionGroup<"">, (sorting) put this before mips? Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:44 + +llvm::Regex CPUPattern("m?680([01234]{1})0"); +llvm::SmallVector Matches; Why no 68060 ? Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:64 +return "M68040"; + } + (style) remove unnecessary braces? Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:72 + const ArgList , + std::vector ) { + (clang-format) indentation? Comment at: clang/lib/Driver/ToolChains/Arch/M68k.cpp:94 +ABI = m68k::FloatABI::Hard; + } + remove braces Comment at: clang/lib/Driver/ToolChains/Arch/M68k.h:35 + const llvm::opt::ArgList , + std::vector ); + (clang-format) indentation? Comment at: clang/lib/Driver/ToolChains/Arch/M68k.h:38 +} // end namespace m68k +} // namespace tools +} // end namespace driver (clang-tidy) end namespace tools Comment at: clang/lib/Driver/ToolChains/Clang.cpp:380 +m68k::getM68kTargetFeatures(D, Triple, Args, Features); +break; } (sorting) move before msp430 ? Comment at: clang/lib/Driver/ToolChains/CommonArgs.cpp:297 + case llvm::Triple::m68k: +return m68k::getM68kTargetCPU(Args); + (sorting) move down to before mips ? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k
myhsu updated this revision to Diff 302188. myhsu retitled this revision from "[Driver][M68K] (Patch 8/8) Add driver support for M68K" to "[Driver][M68k] (Patch 8/8) Add driver support for M68k". myhsu edited the summary of this revision. myhsu added a comment. [NFC] Rename M680x0 to M68k CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M68k.cpp clang/lib/Driver/ToolChains/Arch/M68k.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m68k-features.cpp clang/test/Driver/m68k-sub-archs.cpp Index: clang/test/Driver/m68k-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m68k-sub-archs.cpp @@ -0,0 +1,29 @@ +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m68k-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m68k-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m68k-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m68k-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m68k-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m68k-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" Index: clang/test/Driver/m68k-features.cpp === --- /dev/null +++ clang/test/Driver/m68k-features.cpp @@ -0,0 +1,37 @@ +// Check macro definitions +// RUN: %clang -target m68k-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m68k-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m68k-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m68k-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30: #define mc68030 1 + +// RUN: %clang -target m68k-unknown-linux -m68040 -dM -E %s | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: #define __mc68000 1 +// CHECK-MX40: #define __mc68000__ 1 +// CHECK-MX40: #define __mc68040 1 +// CHECK-MX40: #define __mc68040__ 1 +// CHECK-MX40:
[PATCH] D88394: [Driver][M68K] (Patch 8/8) Add driver support for M68K
myhsu updated this revision to Diff 296065. myhsu added a comment. - Use the canonical CPU name (i.e. names started with upper case 'M') - Tell the driver to use integrated assembler (i.e. MC) by default CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M680x0.cpp clang/lib/Driver/ToolChains/Arch/M680x0.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m680x0-features.cpp clang/test/Driver/m680x0-sub-archs.cpp Index: clang/test/Driver/m680x0-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m680x0-sub-archs.cpp @@ -0,0 +1,29 @@ +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=M68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "M68000" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=M68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "M68010" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=M68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "M68020" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=M68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "M68030" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=M68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "M68040" Index: clang/test/Driver/m680x0-features.cpp === --- /dev/null +++ clang/test/Driver/m680x0-features.cpp @@ -0,0 +1,37 @@ +// Check macro definitions +// RUN: %clang -target m680x0-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m680x0-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m680x0-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m680x0-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30: #define mc68030 1 + +// RUN: %clang -target m680x0-unknown-linux -m68040 -dM -E %s | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: #define __mc68000 1 +// CHECK-MX40: #define __mc68000__ 1 +// CHECK-MX40: #define __mc68040 1 +// CHECK-MX40: #define __mc68040__ 1 +// CHECK-MX40: #define mc68000 1 +//
[PATCH] D88394: [Driver][M68K] (Patch 8/8) Add driver support for M68K
myhsu updated this revision to Diff 295469. myhsu added a reviewer: aaron.ballman. myhsu added a comment. Fix formatting issues CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88394/new/ https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M680x0.cpp clang/lib/Driver/ToolChains/Arch/M680x0.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m680x0-features.cpp clang/test/Driver/m680x0-sub-archs.cpp Index: clang/test/Driver/m680x0-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m680x0-sub-archs.cpp @@ -0,0 +1,23 @@ +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "68000" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "68010" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "68020" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "68030" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "68040" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: "-target-cpu" "68060" Index: clang/test/Driver/m680x0-features.cpp === --- /dev/null +++ clang/test/Driver/m680x0-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m680x0-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m680x0-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m680x0-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m680x0-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30: #define mc68030 1 + +// RUN: %clang -target m680x0-unknown-linux -m68040 -dM -E %s | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: #define __mc68000 1 +// CHECK-MX40: #define __mc68000__ 1 +// CHECK-MX40: #define __mc68040 1 +// CHECK-MX40: #define __mc68040__ 1 +// CHECK-MX40: #define mc68000 1 +// CHECK-MX40: #define mc68040 1 + +// RUN: %clang -target m680x0-unknown-linux -m68060 -dM -E %s | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: #define __mc68000 1 +// CHECK-MX60: #define __mc68000__ 1 +// CHECK-MX60: #define __mc68060 1 +// CHECK-MX60: #define __mc68060__ 1 +// CHECK-MX60: #define mc68000 1 +// CHECK-MX60: #define mc68060 1 Index: clang/lib/Driver/ToolChains/Linux.cpp === --- clang/lib/Driver/ToolChains/Linux.cpp +++ clang/lib/Driver/ToolChains/Linux.cpp @@ -102,6 +102,12 @@ if (D.getVFS().exists(SysRoot + "/lib/aarch64_be-linux-gnu")) return "aarch64_be-linux-gnu"; break; + + case llvm::Triple::m680x0: +if (D.getVFS().exists(SysRoot + "/lib/m68k-linux-gnu")) + return "m68k-linux-gnu"; +break; + case llvm::Triple::mips: { std::string MT = IsMipsR6 ? "mipsisa32r6-linux-gnu" : "mips-linux-gnu"; if
[PATCH] D88394: [Driver][M68K] (Patch 8/8) Add driver support for M68K
myhsu created this revision. Herald added subscribers: cfe-commits, dang, mgorny. Herald added a project: clang. myhsu requested review of this revision. Herald added a subscriber: ormris. Add new toolchain and driver options for the M680x0 target Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D88394 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/CMakeLists.txt clang/lib/Driver/ToolChains/Arch/M680x0.cpp clang/lib/Driver/ToolChains/Arch/M680x0.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/m680x0-features.cpp clang/test/Driver/m680x0-sub-archs.cpp Index: clang/test/Driver/m680x0-sub-archs.cpp === --- /dev/null +++ clang/test/Driver/m680x0-sub-archs.cpp @@ -0,0 +1,23 @@ +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68000 %s 2>&1 | FileCheck --check-prefix=CHECK-MX00 %s +// CHECK-MX00: "-target-cpu" "68000" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68010 %s 2>&1 | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: "-target-cpu" "68010" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68020 %s 2>&1 | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: "-target-cpu" "68020" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68030 %s 2>&1 | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: "-target-cpu" "68030" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68040 %s 2>&1 | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: "-target-cpu" "68040" + +// RUN: %clang -### -target m680x0-unknown-linux -mcpu=68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// RUN: %clang -### -target m680x0-unknown-linux -m68060 %s 2>&1 | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: "-target-cpu" "68060" Index: clang/test/Driver/m680x0-features.cpp === --- /dev/null +++ clang/test/Driver/m680x0-features.cpp @@ -0,0 +1,45 @@ +// Check macro definitions +// RUN: %clang -target m680x0-unknown-linux -m68000 -dM -E %s | FileCheck --check-prefix=CHECK-MX %s +// CHECK-MX: #define __mc68000 1 +// CHECK-MX: #define __mc68000__ 1 +// CHECK-MX: #define mc68000 1 + +// RUN: %clang -target m680x0-unknown-linux -m68010 -dM -E %s | FileCheck --check-prefix=CHECK-MX10 %s +// CHECK-MX10: #define __mc68000 1 +// CHECK-MX10: #define __mc68000__ 1 +// CHECK-MX10: #define __mc68010 1 +// CHECK-MX10: #define __mc68010__ 1 +// CHECK-MX10: #define mc68000 1 +// CHECK-MX10: #define mc68010 1 + +// RUN: %clang -target m680x0-unknown-linux -m68020 -dM -E %s | FileCheck --check-prefix=CHECK-MX20 %s +// CHECK-MX20: #define __mc68000 1 +// CHECK-MX20: #define __mc68000__ 1 +// CHECK-MX20: #define __mc68020 1 +// CHECK-MX20: #define __mc68020__ 1 +// CHECK-MX20: #define mc68000 1 +// CHECK-MX20: #define mc68020 1 + +// RUN: %clang -target m680x0-unknown-linux -m68030 -dM -E %s | FileCheck --check-prefix=CHECK-MX30 %s +// CHECK-MX30: #define __mc68000 1 +// CHECK-MX30: #define __mc68000__ 1 +// CHECK-MX30: #define __mc68030 1 +// CHECK-MX30: #define __mc68030__ 1 +// CHECK-MX30: #define mc68000 1 +// CHECK-MX30: #define mc68030 1 + +// RUN: %clang -target m680x0-unknown-linux -m68040 -dM -E %s | FileCheck --check-prefix=CHECK-MX40 %s +// CHECK-MX40: #define __mc68000 1 +// CHECK-MX40: #define __mc68000__ 1 +// CHECK-MX40: #define __mc68040 1 +// CHECK-MX40: #define __mc68040__ 1 +// CHECK-MX40: #define mc68000 1 +// CHECK-MX40: #define mc68040 1 + +// RUN: %clang -target m680x0-unknown-linux -m68060 -dM -E %s | FileCheck --check-prefix=CHECK-MX60 %s +// CHECK-MX60: #define __mc68000 1 +// CHECK-MX60: #define __mc68000__ 1 +// CHECK-MX60: #define __mc68060 1 +// CHECK-MX60: #define __mc68060__ 1 +// CHECK-MX60: #define mc68000 1 +// CHECK-MX60: #define mc68060 1 Index: clang/lib/Driver/ToolChains/Linux.cpp === --- clang/lib/Driver/ToolChains/Linux.cpp +++ clang/lib/Driver/ToolChains/Linux.cpp @@ -102,6 +102,12 @@ if (D.getVFS().exists(SysRoot + "/lib/aarch64_be-linux-gnu")) return "aarch64_be-linux-gnu"; break; + + case llvm::Triple::m680x0: +if (D.getVFS().exists(SysRoot + "/lib/m68k-linux-gnu")) + return "m68k-linux-gnu"; +break; + case