leidian977 wrote:

> Thanks! We are interested in this work!
> 
> There are some suggestions:
> 
>     1. Please add some tests for these driver changes.
> 
>     2. Can you describe what we are missing for the support of Propeller in 
> the middle/back ends? For example, I don't know the relationship between 
> Propeller and `insertNoop`.
> 
>     3. Can you show the current status and the state after your changes? Have 
> you tried it on real hardware and do we need anything else to make Propeller 
> work?
1.I've added the tests. Please take a look.

2.The Basic Block Sections feature requires inserting NOP instructions in 
certain cases to avoid zero-offset exception landing pads.When I compile 
510.parest_r from SPEC CPU2017 using the propeller feature, it triggers:
```bash
Target didn't implement insertNoop!
UNREACHABLE executed at llvm/lib/CodeGen/TargetInstrInfo.cpp:84!
......
Running pass 'Function Pass Manager' on module 'ld-temp.o'.
Running pass 'Basic Block Sections Analysis' on function 
'@_GLOBAL__sub_I_Compute.C' #0 0x00007ed74bafaefc 
llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
......
ErrorHandling.cpp:242:55 #11 0x00007ed7449f858c 
llvm::TargetInstrInfo::insertNoops(llvm::MachineBasicBlock&, 
llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, unsigned int) 
const llvm/lib/CodeGen/TargetInstrInfo.cpp:91:60 #12 0x0000
```

3. Successfully implemented and tested the Propeller feature on RISC-V Clang


https://github.com/llvm/llvm-project/pull/170992
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to