khchen added a comment.

Hi @lenary 
This is normal behavior in current clang implementation, 
`-mcpu=?` flag does not interact with any flags, it just print out the all of 
ProcessorModel registered in backend.
https://github.com/llvm/llvm-project/blob/master/clang/tools/driver/cc1_main.cpp#L213-L215

You can reference this 
<https://github.com/llvm/llvm-project/blob/master/clang/tools/driver/cc1_main.cpp#L180>,
 so the `clang -mcpu=?` result is exactly equal to `./bin/llc -mattr=+cpuhelp`.

  ./bin/llc -mattr=+cpuhelp  foo.ll  --mtriple=riscv32
  Available CPUs for this target:
  
          generic-rv32
          generic-rv64
          rocket-rv32
          rocket-rv64
  
  Use -mcpu or -mtune to specify the target's processor.
  For example, clang --target=aarch64-unknown-linux-gui -mcpu=cortex-a35

You can try `clang -mcpu=? --target=mips64el` or other target too.

But you are right, this behavior is very confusing users.

In D71124#2150535 <https://reviews.llvm.org/D71124#2150535>, @lenary wrote:

> I've got one major issue (inline below), and I'm confused by some other 
> behaviour:
>
> When I run `clang --target=riscv64 -mcpu=?`, the list includes both 
> `generic-rv32` and `generic-rv64`. It doesn't show only the 64-bit cpus. This 
> is not changed by giving a full triple, or by additionally specifying 
> `-march=rv64gc`. Should it be?
>
> For instance, this output:
>
>   $ clang --target=riscv64-unknown-elf -mcpu=\? -march=rv64gc
>   clang version 11.0.0
>   Target: riscv64-unknown-unknown-elf
>   Thread model: posix
>   InstalledDir: /home/selliott/llvm-project/./build/llvm_clang/all/bin
>   Available CPUs for this target:
>  
>       generic-rv32
>       generic-rv64
>       rocket-rv32
>       rocket-rv64
>       sifive-e31
>       sifive-u54
>  
>   Use -mcpu or -mtune to specify the target's processor.
>   For example, clang --target=aarch64-unknown-linux-gui -mcpu=cortex-a35
>





Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71124/new/

https://reviews.llvm.org/D71124



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to