lyh552506 / miniC-compiler

for gpt5.0 group
MIT License
4 stars 2 forks source link

Need Macro Function: LIST_INSERT_BEFORE & LIST_INSERT_AFTER #9

Closed NanQin555 closed 6 months ago

NanQin555 commented 6 months ago

LIST_INSERT_BEFORE(newly_inst, bb,it) LIST_INSERT_AFTER(newly_inst, bb,it)

lyh552506 commented 6 months ago

need solve (pred--> Block , newval-->User): XY8148 BT{PE1R0DKJJE81O get faulty information :

[build] In file included from /mnt/e/SB-compiler/lib/BaseCFG.hpp:4,
[build]                  from /mnt/e/SB-compiler/lib/SymbolTable.hpp:2,
[build]                  from /mnt/e/SB-compiler/lib/CFG.hpp:2,
[build]                  from /mnt/e/SB-compiler/ir/opt/dominant.hpp:2,
[build]                  from /mnt/e/SB-compiler/ir/opt/GVN.hpp:2,
[build]                  from /mnt/e/SB-compiler/ir/opt/SSAPRE.hpp:7,
[build]                  from /mnt/e/SB-compiler/ir/opt/SSAPRE.cpp:1:
[build] /mnt/e/SB-compiler/lib/List.hpp: In instantiation of ‘mylist<derived_mylist, derived_list_node>::iterator mylist<derived_mylist, derived_list_node>::iterator::insert_after(derived_list_node*) [with derived_mylist = BasicBlock; derived_list_node = User]’:
[build] /mnt/e/SB-compiler/ir/opt/SSAPRE.cpp:253:33:   required from here
[build] /mnt/e/SB-compiler/lib/List.hpp:88:21: error: invalid use of non-static data member ‘mylist<BasicBlock, User>::tail’
[build]    88 |             if(ptr==tail)
[build]       |                     ^~~~
[build] /mnt/e/SB-compiler/lib/List.hpp:58:24: note: declared here
[build]    58 |     derived_list_node* tail;
[build]       |                        ^~~~
[build] /mnt/e/SB-compiler/lib/List.hpp:89:26: error: cannot call member function ‘void mylist<derived_mylist, derived_list_node>::push_back(derived_list_node*) [with derived_mylist = BasicBlock; derived_list_node = User]’ without object
[build]    89 |                 push_back(data);
[build]       |                 ~~~~~~~~~^~~~~~
[build] /mnt/e/SB-compiler/ir/opt/SSAPRE.cpp: In member function ‘Value* PRE::Find_Leader(ValueNumberedSet&, Value*)’:
[build] /mnt/e/SB-compiler/ir/opt/SSAPRE.cpp:683:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   683 | }
[build]       | ^
[build] ninja: build stopped: subcommand failed.
RicoAfoat commented 6 months ago

@lyh552506 Try it again

lyh552506 commented 6 months ago

@lyh552506 Try it again

Done successfully!