Commit f337ba6f by Yijun Tan

add legalization & terminal assignment

parent fec93bd3
images/*
.vscode/*
.build/*
.data/*
build/*
data/*
test.cpp
a.exe
\ No newline at end of file
test*
FFT*
a.exe
......@@ -28,18 +28,18 @@ The CXX compiler identification is GNU, found in "E:/iccad2023/ppp/build/CMakeFi
Detecting C compiler ABI info compiled with the following output:
Change Dir: E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp
Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_45a73/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_45a73.dir\build.make CMakeFiles/cmTC_45a73.dir/build
Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_433cd/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_433cd.dir\build.make CMakeFiles/cmTC_433cd.dir/build
mingw32-make.exe[1]: Entering directory 'E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_45a73.dir/CMakeCCompilerABI.c.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -o CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c"
Building C object CMakeFiles/cmTC_433cd.dir/CMakeCCompilerABI.c.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -o CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c"
Using built-in specs.
COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\ccZvctXY.s
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\ccm2vusb.s
GNU C17 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) version 8.1.0 (x86_64-w64-mingw32)
compiled by GNU C version 8.1.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.18-GMP
......@@ -60,17 +60,17 @@ GNU C17 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) version 8.1.0 (x86_6
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 985ce7ae6dd3a696cd146ca9896b0035
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj C:\Users\YIJUNT~1\AppData\Local\Temp\ccZvctXY.s
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj C:\Users\YIJUNT~1\AppData\Local\Temp\ccm2vusb.s
GNU assembler version 2.30 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.30
COMPILER_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona'
Linking C executable cmTC_45a73.exe
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_45a73.dir\link.txt --verbose=1
"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_45a73.dir/objects.a
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_45a73.dir/objects.a @CMakeFiles\cmTC_45a73.dir\objects1.rsp
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -Wl,--whole-archive CMakeFiles\cmTC_45a73.dir/objects.a -Wl,--no-whole-archive -o cmTC_45a73.exe -Wl,--out-implib,libcmTC_45a73.dll.a -Wl,--major-image-version,0,--minor-image-version,0
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona'
Linking C executable cmTC_433cd.exe
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_433cd.dir\link.txt --verbose=1
"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_433cd.dir/objects.a
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_433cd.dir/objects.a @CMakeFiles\cmTC_433cd.dir\objects1.rsp
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -Wl,--whole-archive CMakeFiles\cmTC_433cd.dir/objects.a -Wl,--no-whole-archive -o cmTC_433cd.exe -Wl,--out-implib,libcmTC_433cd.dll.a -Wl,--major-image-version,0,--minor-image-version,0
Using built-in specs.
COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe
COLLECT_LTO_WRAPPER=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
......@@ -80,9 +80,9 @@ Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
COMPILER_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_45a73.exe' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccF7p8Fj.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_45a73.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_45a73.dir/objects.a --no-whole-archive --out-implib libcmTC_45a73.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_45a73.exe' '-mtune=core2' '-march=nocona'
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_433cd.exe' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccqAPPiq.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_433cd.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_433cd.dir/objects.a --no-whole-archive --out-implib libcmTC_433cd.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_433cd.exe' '-mtune=core2' '-march=nocona'
mingw32-make.exe[1]: Leaving directory 'E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp'
......@@ -104,18 +104,18 @@ Parsed C implicit link information from above output:
link line regex: [^( *|.*[/\])(ld\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_45a73/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_45a73.dir\build.make CMakeFiles/cmTC_45a73.dir/build]
ignore line: [Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_433cd/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_433cd.dir\build.make CMakeFiles/cmTC_433cd.dir/build]
ignore line: [mingw32-make.exe[1]: Entering directory 'E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp']
ignore line: [Building C object CMakeFiles/cmTC_45a73.dir/CMakeCCompilerABI.c.obj]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -o CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c"]
ignore line: [Building C object CMakeFiles/cmTC_433cd.dir/CMakeCCompilerABI.c.obj]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -o CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c"]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe]
ignore line: [Target: x86_64-w64-mingw32]
ignore line: [Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib ']
ignore line: [Thread model: posix]
ignore line: [gcc version 8.1.0 (x86_64-posix-seh-rev0 Built by MinGW-W64 project) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\ccZvctXY.s]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\ccm2vusb.s]
ignore line: [GNU C17 (x86_64-posix-seh-rev0 Built by MinGW-W64 project) version 8.1.0 (x86_64-w64-mingw32)]
ignore line: [ compiled by GNU C version 8.1.0 GMP version 6.1.2 MPFR version 4.0.1 MPC version 1.1.0 isl version isl-0.18-GMP]
ignore line: []
......@@ -136,8 +136,8 @@ Parsed C implicit link information from above output:
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: 985ce7ae6dd3a696cd146ca9896b0035]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj C:\Users\YIJUNT~1\AppData\Local\Temp\ccZvctXY.s]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj C:\Users\YIJUNT~1\AppData\Local\Temp\ccm2vusb.s]
ignore line: [GNU assembler version 2.30 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.30]
ignore line: [COMPILER_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/]
......@@ -148,12 +148,12 @@ Parsed C implicit link information from above output:
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_45a73.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona']
ignore line: [Linking C executable cmTC_45a73.exe]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_45a73.dir\link.txt --verbose=1]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_45a73.dir/objects.a]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_45a73.dir/objects.a @CMakeFiles\cmTC_45a73.dir\objects1.rsp]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -Wl --whole-archive CMakeFiles\cmTC_45a73.dir/objects.a -Wl --no-whole-archive -o cmTC_45a73.exe -Wl --out-implib libcmTC_45a73.dll.a -Wl --major-image-version 0 --minor-image-version 0 ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_433cd.dir\CMakeCCompilerABI.c.obj' '-c' '-mtune=core2' '-march=nocona']
ignore line: [Linking C executable cmTC_433cd.exe]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_433cd.dir\link.txt --verbose=1]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_433cd.dir/objects.a]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_433cd.dir/objects.a @CMakeFiles\cmTC_433cd.dir\objects1.rsp]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -v -Wl --whole-archive CMakeFiles\cmTC_433cd.dir/objects.a -Wl --no-whole-archive -o cmTC_433cd.exe -Wl --out-implib libcmTC_433cd.dll.a -Wl --major-image-version 0 --minor-image-version 0 ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe]
ignore line: [COLLECT_LTO_WRAPPER=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe]
......@@ -170,13 +170,13 @@ Parsed C implicit link information from above output:
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_45a73.exe' '-mtune=core2' '-march=nocona']
link line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccF7p8Fj.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_45a73.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_45a73.dir/objects.a --no-whole-archive --out-implib libcmTC_45a73.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_433cd.exe' '-mtune=core2' '-march=nocona']
link line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccqAPPiq.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_433cd.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_433cd.dir/objects.a --no-whole-archive --out-implib libcmTC_433cd.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o]
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe] ==> ignore
arg [-plugin] ==> ignore
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll] ==> ignore
arg [-plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe] ==> ignore
arg [-plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccF7p8Fj.res] ==> ignore
arg [-plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccqAPPiq.res] ==> ignore
arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_eh] ==> ignore
......@@ -200,7 +200,7 @@ Parsed C implicit link information from above output:
arg [i386pep] ==> ignore
arg [-Bdynamic] ==> search dynamic
arg [-o] ==> ignore
arg [cmTC_45a73.exe] ==> ignore
arg [cmTC_433cd.exe] ==> ignore
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o] ==> obj [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o]
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o] ==> obj [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o]
arg [-LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0] ==> dir [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0]
......@@ -210,10 +210,10 @@ Parsed C implicit link information from above output:
arg [-LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib] ==> dir [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib]
arg [-LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../..] ==> dir [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../..]
arg [--whole-archive] ==> ignore
arg [CMakeFiles\cmTC_45a73.dir/objects.a] ==> ignore
arg [CMakeFiles\cmTC_433cd.dir/objects.a] ==> ignore
arg [--no-whole-archive] ==> ignore
arg [--out-implib] ==> ignore
arg [libcmTC_45a73.dll.a] ==> ignore
arg [libcmTC_433cd.dll.a] ==> ignore
arg [--major-image-version] ==> ignore
arg [0] ==> ignore
arg [--minor-image-version] ==> ignore
......@@ -259,18 +259,18 @@ Parsed C implicit link information from above output:
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp
Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_5f2d4/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_5f2d4.dir\build.make CMakeFiles/cmTC_5f2d4.dir/build
Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_d6015/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_d6015.dir\build.make CMakeFiles/cmTC_d6015.dir/build
mingw32-make.exe[1]: Entering directory 'E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_5f2d4.dir/CMakeCXXCompilerABI.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -o CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp"
Building CXX object CMakeFiles/cmTC_d6015.dir/CMakeCXXCompilerABI.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -o CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp"
Using built-in specs.
COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1plus.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\cc4ZWIGD.s
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1plus.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\ccKIoKuU.s
GNU C++14 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) version 8.1.0 (x86_64-w64-mingw32)
compiled by GNU C version 8.1.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.18-GMP
......@@ -297,17 +297,17 @@ GNU C++14 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) version 8.1.0 (x86
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 82f0c9785fd37a38ba7b7f8357369a82
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj C:\Users\YIJUNT~1\AppData\Local\Temp\cc4ZWIGD.s
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj C:\Users\YIJUNT~1\AppData\Local\Temp\ccKIoKuU.s
GNU assembler version 2.30 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.30
COMPILER_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona'
Linking CXX executable cmTC_5f2d4.exe
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_5f2d4.dir\link.txt --verbose=1
"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_5f2d4.dir/objects.a
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_5f2d4.dir/objects.a @CMakeFiles\cmTC_5f2d4.dir\objects1.rsp
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -Wl,--whole-archive CMakeFiles\cmTC_5f2d4.dir/objects.a -Wl,--no-whole-archive -o cmTC_5f2d4.exe -Wl,--out-implib,libcmTC_5f2d4.dll.a -Wl,--major-image-version,0,--minor-image-version,0
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona'
Linking CXX executable cmTC_d6015.exe
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_d6015.dir\link.txt --verbose=1
"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_d6015.dir/objects.a
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_d6015.dir/objects.a @CMakeFiles\cmTC_d6015.dir\objects1.rsp
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -Wl,--whole-archive CMakeFiles\cmTC_d6015.dir/objects.a -Wl,--no-whole-archive -o cmTC_d6015.exe -Wl,--out-implib,libcmTC_d6015.dll.a -Wl,--major-image-version,0,--minor-image-version,0
Using built-in specs.
COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE
COLLECT_LTO_WRAPPER=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
......@@ -317,9 +317,9 @@ Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
COMPILER_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/;C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5f2d4.exe' '-shared-libgcc' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccilqsuP.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_5f2d4.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_5f2d4.dir/objects.a --no-whole-archive --out-implib libcmTC_5f2d4.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5f2d4.exe' '-shared-libgcc' '-mtune=core2' '-march=nocona'
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d6015.exe' '-shared-libgcc' '-mtune=core2' '-march=nocona'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\cc2ngPi5.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_d6015.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_d6015.dir/objects.a --no-whole-archive --out-implib libcmTC_d6015.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d6015.exe' '-shared-libgcc' '-mtune=core2' '-march=nocona'
mingw32-make.exe[1]: Leaving directory 'E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp'
......@@ -347,18 +347,18 @@ Parsed CXX implicit link information from above output:
link line regex: [^( *|.*[/\])(ld\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_5f2d4/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_5f2d4.dir\build.make CMakeFiles/cmTC_5f2d4.dir/build]
ignore line: [Run Build Command(s):C:/MinGW/bin/mingw32-make.exe -f Makefile cmTC_d6015/fast && C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_d6015.dir\build.make CMakeFiles/cmTC_d6015.dir/build]
ignore line: [mingw32-make.exe[1]: Entering directory 'E:/iccad2023/ppp/build/CMakeFiles/CMakeTmp']
ignore line: [Building CXX object CMakeFiles/cmTC_5f2d4.dir/CMakeCXXCompilerABI.cpp.obj]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -o CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp"]
ignore line: [Building CXX object CMakeFiles/cmTC_d6015.dir/CMakeCXXCompilerABI.cpp.obj]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -o CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp"]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE]
ignore line: [Target: x86_64-w64-mingw32]
ignore line: [Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib ']
ignore line: [Thread model: posix]
ignore line: [gcc version 8.1.0 (x86_64-posix-seh-rev0 Built by MinGW-W64 project) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1plus.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\cc4ZWIGD.s]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1plus.exe -quiet -v -iprefix C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=core2 -march=nocona -auxbase-strip CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj -version -o C:\Users\YIJUNT~1\AppData\Local\Temp\ccKIoKuU.s]
ignore line: [GNU C++14 (x86_64-posix-seh-rev0 Built by MinGW-W64 project) version 8.1.0 (x86_64-w64-mingw32)]
ignore line: [ compiled by GNU C version 8.1.0 GMP version 6.1.2 MPFR version 4.0.1 MPC version 1.1.0 isl version isl-0.18-GMP]
ignore line: []
......@@ -385,8 +385,8 @@ Parsed CXX implicit link information from above output:
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: 82f0c9785fd37a38ba7b7f8357369a82]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj C:\Users\YIJUNT~1\AppData\Local\Temp\cc4ZWIGD.s]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona']
ignore line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj C:\Users\YIJUNT~1\AppData\Local\Temp\ccKIoKuU.s]
ignore line: [GNU assembler version 2.30 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.30]
ignore line: [COMPILER_PATH=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/]
......@@ -397,12 +397,12 @@ Parsed CXX implicit link information from above output:
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_5f2d4.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona']
ignore line: [Linking CXX executable cmTC_5f2d4.exe]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_5f2d4.dir\link.txt --verbose=1]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_5f2d4.dir/objects.a]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_5f2d4.dir/objects.a @CMakeFiles\cmTC_5f2d4.dir\objects1.rsp]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -Wl --whole-archive CMakeFiles\cmTC_5f2d4.dir/objects.a -Wl --no-whole-archive -o cmTC_5f2d4.exe -Wl --out-implib libcmTC_5f2d4.dll.a -Wl --major-image-version 0 --minor-image-version 0 ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles\cmTC_d6015.dir\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=core2' '-march=nocona']
ignore line: [Linking CXX executable cmTC_d6015.exe]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_d6015.dir\link.txt --verbose=1]
ignore line: ["C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\cmTC_d6015.dir/objects.a]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\ar.exe qc CMakeFiles\cmTC_d6015.dir/objects.a @CMakeFiles\cmTC_d6015.dir\objects1.rsp]
ignore line: [C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE -v -Wl --whole-archive CMakeFiles\cmTC_d6015.dir/objects.a -Wl --no-whole-archive -o cmTC_d6015.exe -Wl --out-implib libcmTC_d6015.dll.a -Wl --major-image-version 0 --minor-image-version 0 ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE]
ignore line: [COLLECT_LTO_WRAPPER=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe]
......@@ -419,13 +419,13 @@ Parsed CXX implicit link information from above output:
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/]
ignore line: [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5f2d4.exe' '-shared-libgcc' '-mtune=core2' '-march=nocona']
link line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccilqsuP.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_5f2d4.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_5f2d4.dir/objects.a --no-whole-archive --out-implib libcmTC_5f2d4.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d6015.exe' '-shared-libgcc' '-mtune=core2' '-march=nocona']
link line: [ C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe -plugin C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll -plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\cc2ngPi5.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 -m i386pep -Bdynamic -o cmTC_d6015.exe C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0 -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib -LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../.. --whole-archive CMakeFiles\cmTC_d6015.dir/objects.a --no-whole-archive --out-implib libcmTC_d6015.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o]
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/collect2.exe] ==> ignore
arg [-plugin] ==> ignore
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/liblto_plugin-0.dll] ==> ignore
arg [-plugin-opt=C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe] ==> ignore
arg [-plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\ccilqsuP.res] ==> ignore
arg [-plugin-opt=-fresolution=C:\Users\YIJUNT~1\AppData\Local\Temp\cc2ngPi5.res] ==> ignore
arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
......@@ -449,7 +449,7 @@ Parsed CXX implicit link information from above output:
arg [i386pep] ==> ignore
arg [-Bdynamic] ==> search dynamic
arg [-o] ==> ignore
arg [cmTC_5f2d4.exe] ==> ignore
arg [cmTC_d6015.exe] ==> ignore
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o] ==> obj [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o]
arg [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o] ==> obj [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtbegin.o]
arg [-LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0] ==> dir [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0]
......@@ -459,10 +459,10 @@ Parsed CXX implicit link information from above output:
arg [-LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib] ==> dir [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib]
arg [-LC:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../..] ==> dir [C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../..]
arg [--whole-archive] ==> ignore
arg [CMakeFiles\cmTC_5f2d4.dir/objects.a] ==> ignore
arg [CMakeFiles\cmTC_d6015.dir/objects.a] ==> ignore
arg [--no-whole-archive] ==> ignore
arg [--out-implib] ==> ignore
arg [libcmTC_5f2d4.dll.a] ==> ignore
arg [libcmTC_d6015.dll.a] ==> ignore
arg [--major-image-version] ==> ignore
arg [0] ==> ignore
arg [--minor-image-version] ==> ignore
......
......@@ -7,19 +7,92 @@ set(CMAKE_DEPENDS_GENERATOR "MinGW Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCCompilerABI.c"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCInformation.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCXXInformation.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineRCCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeGenericSystem.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeMinGWFindMake.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeRCCompiler.cmake.in"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeRCInformation.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeSystem.cmake.in"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeTestRCCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GNU-C.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GNU-FindBinUtils.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/GNU.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Platform/Windows-Determine-CXX.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Platform/Windows-GNU-C-ABI.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Platform/Windows-GNU-C.cmake"
"C:/Program Files/CMake/share/cmake-3.22/Modules/Platform/Windows-GNU-CXX-ABI.cmake"
......@@ -43,6 +116,12 @@ set(CMAKE_MAKEFILE_OUTPUTS
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/3.22.0-rc2/CMakeSystem.cmake"
"CMakeFiles/3.22.0-rc2/CMakeCCompiler.cmake"
"CMakeFiles/3.22.0-rc2/CMakeCXXCompiler.cmake"
"CMakeFiles/3.22.0-rc2/CMakeRCCompiler.cmake"
"CMakeFiles/3.22.0-rc2/CMakeCCompiler.cmake"
"CMakeFiles/3.22.0-rc2/CMakeCXXCompiler.cmake"
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
......
......@@ -80,12 +80,12 @@ clean: CMakeFiles/ppPlace.dir/clean
CMakeFiles/ppPlace.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles\ppPlace.dir\build.make CMakeFiles/ppPlace.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles\ppPlace.dir\build.make CMakeFiles/ppPlace.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=E:\iccad2023\ppp\build\CMakeFiles --progress-num=1,2,3,4,5,6 "Built target ppPlace"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=E:\iccad2023\ppp\build\CMakeFiles --progress-num=1,2,3,4,5,6,7 "Built target ppPlace"
.PHONY : CMakeFiles/ppPlace.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/ppPlace.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start E:\iccad2023\ppp\build\CMakeFiles 6
$(CMAKE_COMMAND) -E cmake_progress_start E:\iccad2023\ppp\build\CMakeFiles 7
$(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 CMakeFiles/ppPlace.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start E:\iccad2023\ppp\build\CMakeFiles 0
.PHONY : CMakeFiles/ppPlace.dir/rule
......
......@@ -13,6 +13,7 @@ set(CMAKE_DEPENDS_DEPENDENCY_FILES
"E:/iccad2023/ppp/src/Database.cpp" "CMakeFiles/ppPlace.dir/src/Database.cpp.obj" "gcc" "CMakeFiles/ppPlace.dir/src/Database.cpp.obj.d"
"E:/iccad2023/ppp/src/FFTBin.cpp" "CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj" "gcc" "CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj.d"
"E:/iccad2023/ppp/src/FFT_calculator.cpp" "CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj" "gcc" "CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj.d"
"E:/iccad2023/ppp/src/Legalizer.cpp" "CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj" "gcc" "CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj.d"
)
# Targets to which this target links.
......
......@@ -143,13 +143,29 @@ CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.s"
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S E:\iccad2023\ppp\src\FFT_calculator.cpp -o CMakeFiles\ppPlace.dir\src\FFT_calculator.cpp.s
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj: CMakeFiles/ppPlace.dir/flags.make
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj: CMakeFiles/ppPlace.dir/includes_CXX.rsp
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj: ../src/Legalizer.cpp
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj: CMakeFiles/ppPlace.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=E:\iccad2023\ppp\build\CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj"
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj -MF CMakeFiles\ppPlace.dir\src\Legalizer.cpp.obj.d -o CMakeFiles\ppPlace.dir\src\Legalizer.cpp.obj -c E:\iccad2023\ppp\src\Legalizer.cpp
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ppPlace.dir/src/Legalizer.cpp.i"
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E E:\iccad2023\ppp\src\Legalizer.cpp > CMakeFiles\ppPlace.dir\src\Legalizer.cpp.i
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ppPlace.dir/src/Legalizer.cpp.s"
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S E:\iccad2023\ppp\src\Legalizer.cpp -o CMakeFiles\ppPlace.dir\src\Legalizer.cpp.s
# Object files for target ppPlace
ppPlace_OBJECTS = \
"CMakeFiles/ppPlace.dir/main.cpp.obj" \
"CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj" \
"CMakeFiles/ppPlace.dir/src/Database.cpp.obj" \
"CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj" \
"CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj"
"CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj" \
"CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj"
# External object files for target ppPlace
ppPlace_EXTERNAL_OBJECTS =
......@@ -159,11 +175,12 @@ ppPlace.exe: CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj
ppPlace.exe: CMakeFiles/ppPlace.dir/src/Database.cpp.obj
ppPlace.exe: CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj
ppPlace.exe: CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj
ppPlace.exe: CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj
ppPlace.exe: CMakeFiles/ppPlace.dir/build.make
ppPlace.exe: CMakeFiles/ppPlace.dir/linklibs.rsp
ppPlace.exe: CMakeFiles/ppPlace.dir/objects1.rsp
ppPlace.exe: CMakeFiles/ppPlace.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=E:\iccad2023\ppp\build\CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Linking CXX executable ppPlace.exe"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=E:\iccad2023\ppp\build\CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Linking CXX executable ppPlace.exe"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles\ppPlace.dir\link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
......
......@@ -9,6 +9,8 @@ file(REMOVE_RECURSE
"CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj.d"
"CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj"
"CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj.d"
"CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj"
"CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj.d"
"libppPlace.dll.a"
"ppPlace.exe"
"ppPlace.exe.manifest"
......
......@@ -390,6 +390,12 @@ CMakeFiles/ppPlace.dir/main.cpp.obj
E:/iccad2023/ppp/include/FFTBin.h
E:/iccad2023/ppp/include/Param.h
E:/iccad2023/ppp/include/FFT_calculator.h
E:/iccad2023/ppp/include/Legalizer.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc
E:/iccad2023/ppp/include/Terminal.h
CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj
E:/iccad2023/ppp/src/Circuit.cpp
......@@ -780,6 +786,12 @@ CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj
E:/iccad2023/ppp/include/FFTBin.h
E:/iccad2023/ppp/include/Param.h
E:/iccad2023/ppp/include/FFT_calculator.h
E:/iccad2023/ppp/include/Legalizer.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc
E:/iccad2023/ppp/include/Terminal.h
CMakeFiles/ppPlace.dir/src/Database.cpp.obj
E:/iccad2023/ppp/src/Database.cpp
......@@ -1587,3 +1599,154 @@ CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdlib
E:/iccad2023/ppp/include/FFT_calculator.h
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj
E:/iccad2023/ppp/src/Legalizer.cpp
E:/iccad2023/ppp/include/Legalizer.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iostream
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ostream
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ios
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iosfwd
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stringfwd.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/memoryfwd.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/postypes.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cwchar
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/crtdefs.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/vadefs.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_directx.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_print_push.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_stat64.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/swprintf.inl
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_print_pop.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/exception
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/exception.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/exception_ptr.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/exception_defines.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cxxabi_init_exception.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/stddef.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stddef.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/typeinfo
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/hash_bytes.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/new
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/nested_exception.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/move.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/concept_check.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/type_traits
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/char_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algobase.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/functexcept.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cpp_type_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/type_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/numeric_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_pair.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator_base_types.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator_base_funcs.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/debug/assertions.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ptr_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/debug/debug.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/predefined_ops.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdint
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/stdint.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stdint.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/localefwd.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/clocale
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/locale.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cctype
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ios_base.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/atomicity.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/errno.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sys/types.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/process.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/corecrt_startup.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed/limits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed/syslimits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/limits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/signal.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_signal.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_compat.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_unistd.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocator.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ostream_insert.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cxxabi_forced.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_function.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward/binders.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/range_access.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/initializer_list
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/alloc_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/alloc_traits.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdlib
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdlib_s.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdlib.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/std_abs.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdio
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cerrno
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/functional_hash.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/streambuf
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/streambuf.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_ios.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_facets.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cwctype
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wctype.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/streambuf_iterator.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_facets.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_ios.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ostream.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/istream
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/istream.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/vector
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_construct.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_uninitialized.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_bvector.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/aligned_buffer.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_relops.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algo.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/algorithmfwd.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_heap.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tempbuf.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/uniform_int_dist.h
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/limits
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/climits
......@@ -388,7 +388,13 @@ CMakeFiles/ppPlace.dir/main.cpp.obj: ../main.cpp \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/io.h \
../include/FFTBin.h \
../include/Param.h \
../include/FFT_calculator.h
../include/FFT_calculator.h \
../include/Legalizer.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc \
../include/Terminal.h
CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj: ../src/Circuit.cpp \
../include/Circuit.h \
......@@ -777,7 +783,13 @@ CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj: ../src/Circuit.cpp \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/io.h \
../include/FFTBin.h \
../include/Param.h \
../include/FFT_calculator.h
../include/FFT_calculator.h \
../include/Legalizer.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc \
../include/Terminal.h
CMakeFiles/ppPlace.dir/src/Database.cpp.obj: ../src/Database.cpp \
../include/Database.h \
......@@ -1582,6 +1594,156 @@ CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj: ../src/FFT_calculator.cpp \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdlib \
../include/FFT_calculator.h
CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj: ../src/Legalizer.cpp \
../include/Legalizer.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iostream \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ostream \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ios \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iosfwd \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stringfwd.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/memoryfwd.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/postypes.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cwchar \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/crtdefs.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/vadefs.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_directx.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_print_push.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_stat64.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/swprintf.inl \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_print_pop.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/exception \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/exception.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/exception_ptr.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/exception_defines.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cxxabi_init_exception.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/stddef.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stddef.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/typeinfo \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/hash_bytes.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/new \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/nested_exception.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/move.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/concept_check.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/type_traits \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/char_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algobase.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/functexcept.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cpp_type_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/type_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/numeric_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_pair.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator_base_types.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator_base_funcs.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/debug/assertions.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ptr_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/debug/debug.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/predefined_ops.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdint \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/stdint.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stdint.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/localefwd.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/clocale \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/locale.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cctype \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ios_base.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/atomicity.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/errno.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sys/types.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/process.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/corecrt_startup.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed/limits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed/syslimits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/limits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/signal.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_signal.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_compat.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_unistd.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocator.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ostream_insert.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cxxabi_forced.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_function.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward/binders.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/range_access.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/initializer_list \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/alloc_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/alloc_traits.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdlib \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdlib.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/std_abs.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cstdio \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cerrno \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/functional_hash.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/streambuf \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/streambuf.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_ios.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_facets.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/cwctype \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wctype.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/streambuf_iterator.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_facets.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_ios.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ostream.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/istream \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/istream.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/vector \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_construct.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_uninitialized.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_bvector.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/aligned_buffer.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_relops.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algo.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/algorithmfwd.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_heap.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tempbuf.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/uniform_int_dist.h \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/limits \
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/climits
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/cpp_type_traits.h:
......@@ -1815,6 +1977,8 @@ C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/limits.h:
../include/Terminal.h:
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/signal.h:
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/pthread_signal.h:
......@@ -2353,6 +2517,18 @@ C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64
../include/FFTBin.h:
../include/Legalizer.h:
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list:
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h:
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h:
C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc:
../src/Circuit.cpp:
../src/FFT_calculator.cpp:
../src/Legalizer.cpp:
......@@ -383,4 +383,10 @@ CMakeFiles/ppPlace.dir/main.cpp.obj: E:\iccad2023\ppp\main.cpp \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/x86_64-w64-mingw32/include/sherrors.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/x86_64-w64-mingw32/include/io.h \
E:/iccad2023/ppp/include/FFTBin.h E:/iccad2023/ppp/include/param.h \
E:/iccad2023/ppp/include/FFT_calculator.h
E:/iccad2023/ppp/include/FFT_calculator.h \
E:/iccad2023/ppp/include/Legalizer.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc \
E:/iccad2023/ppp/include/Terminal.h
CMakeFiles/ppPlace.dir/main.cpp.obj CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj CMakeFiles/ppPlace.dir/src/Database.cpp.obj CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj
CMakeFiles/ppPlace.dir/main.cpp.obj CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj CMakeFiles/ppPlace.dir/src/Database.cpp.obj CMakeFiles/ppPlace.dir/src/FFTBin.cpp.obj CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.obj CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj
......@@ -4,4 +4,5 @@ CMAKE_PROGRESS_3 = 3
CMAKE_PROGRESS_4 = 4
CMAKE_PROGRESS_5 = 5
CMAKE_PROGRESS_6 = 6
CMAKE_PROGRESS_7 = 7
......@@ -383,4 +383,10 @@ CMakeFiles/ppPlace.dir/src/Circuit.cpp.obj: \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/x86_64-w64-mingw32/include/sherrors.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/x86_64-w64-mingw32/include/io.h \
E:/iccad2023/ppp/include/FFTBin.h E:/iccad2023/ppp/include/param.h \
E:/iccad2023/ppp/include/FFT_calculator.h
E:/iccad2023/ppp/include/FFT_calculator.h \
E:/iccad2023/ppp/include/Legalizer.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/list \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_list.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocated_ptr.h \
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/list.tcc \
E:/iccad2023/ppp/include/Terminal.h
......@@ -248,6 +248,30 @@ src/FFT_calculator.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles\ppPlace.dir\build.make CMakeFiles/ppPlace.dir/src/FFT_calculator.cpp.s
.PHONY : src/FFT_calculator.cpp.s
src/Legalizer.obj: src/Legalizer.cpp.obj
.PHONY : src/Legalizer.obj
# target to build an object file
src/Legalizer.cpp.obj:
$(MAKE) $(MAKESILENT) -f CMakeFiles\ppPlace.dir\build.make CMakeFiles/ppPlace.dir/src/Legalizer.cpp.obj
.PHONY : src/Legalizer.cpp.obj
src/Legalizer.i: src/Legalizer.cpp.i
.PHONY : src/Legalizer.i
# target to preprocess a source file
src/Legalizer.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles\ppPlace.dir\build.make CMakeFiles/ppPlace.dir/src/Legalizer.cpp.i
.PHONY : src/Legalizer.cpp.i
src/Legalizer.s: src/Legalizer.cpp.s
.PHONY : src/Legalizer.s
# target to generate assembly for a file
src/Legalizer.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles\ppPlace.dir\build.make CMakeFiles/ppPlace.dir/src/Legalizer.cpp.s
.PHONY : src/Legalizer.cpp.s
# Help Target
help:
@echo The following are some of the valid targets for this Makefile:
......@@ -272,6 +296,9 @@ help:
@echo ... src/FFT_calculator.obj
@echo ... src/FFT_calculator.i
@echo ... src/FFT_calculator.s
@echo ... src/Legalizer.obj
@echo ... src/Legalizer.i
@echo ... src/Legalizer.s
.PHONY : help
......
No preview for this file type
......@@ -1274,7 +1274,7 @@ Pin P60 4298 0
LibCell N MC221 50 33 1
Pin P1 25 16
DieSize 0 0 23000 38000
DieSize 0 0 23000 19000
TopDieMaxUtil 80
BottomDieMaxUtil 80
......@@ -79207,4 +79207,4 @@ Pin C13845/P3
Pin C13846/P1
Net N19547 2
Pin C13846/P3
Pin C13847/P1
Pin C13847/P1
\ No newline at end of file
NumTechnologies 2
Tech TA 3
LibCell N MC1 400 300 1
LibCell N MC1 7 10 1
Pin P1 2 7
LibCell N MC2 14 10 2
Pin P1 10 4
......@@ -20,7 +20,7 @@ Pin P1 2 12
Pin P2 3 3
Pin P3 15 7
DieSize 0 0 800 600
DieSize 0 0 40 30
TopDieMaxUtil 80
BottomDieMaxUtil 90
......@@ -35,7 +35,36 @@ TerminalSize 6 6
TerminalSpacing 5
TerminalCost 10
NumInstances 1
NumInstances 8
Inst C1 MC1
Inst C2 MC3
Inst C3 MC3
Inst C4 MC2
Inst C5 MC2
Inst C6 MC3
Inst C7 MC2
Inst C8 MC1
NumNets 0
\ No newline at end of file
NumNets 6
Net N1 2
Pin C1/P1
Pin C2/P2
Net N2 3
Pin C2/P1
Pin C3/P1
Pin C7/P2
Net N3 2
Pin C2/P3
Pin C8/P1
Net N4 3
Pin C3/P3
Pin C6/P2
Pin C7/P1
Net N5 3
Pin C4/P2
Pin C6/P1
Pin C5/P1
Net N6 2
Pin C4/P1
Pin C5/P2
todo:
filler cell NumInstances
local smoothing
cur a pre a coeff
cellcenter
\ No newline at end of file
cellcenter
multithread
replace diff
macro
iccad2022
东南大学
1.partition
dual-objective partition model
2.global placement
eplace
3.legalization
overlap of cells +overlap of terminals
4.detailed placement
linyibo
鹏程实验室
1.wirelength & area-aware initial assignment
2. iterative improvement
die placement
terminal legalization
local search re-assignment
3.3d ligalization & detailed placement
#ifndef PPP_CIRCUIT_H
#define PPP_CIRCUIT_H
#include "Database.h"
#include "FFTBin.h"
#include "Legalizer.h"
#include "Terminal.h"
#include "Param.h"
class Circuit : public Database{
public:
int filler_num, allcell_num;
long long movecell_num[2];
long long stdcell_num[2];
long long filler_num[2];
long long allcell_num[2];
long long all;
//std::vector<std::vector<Bin>> bins;
fftBin* fftbin;
Terminal* term;
int binsize_x;
......@@ -17,6 +30,8 @@ public:
public:
void init(int);
void finish();
void makeCellList();
void setCellTechs();
void makeInstList();
......@@ -33,6 +48,10 @@ public:
void doFFT();
void updateDensity();
void legalize();
void terminalAssignment();
float calHPWL();
......@@ -44,8 +63,8 @@ public:
//cimg
#if VISUAL
void draw(std::string, int Scale=1);
void plotDensity(cimg_library::CImg<unsigned char>&);
void plotCells(cimg_library::CImg<unsigned char>&);
void plotDensity(cimg_library::CImg<unsigned char>&, int);
void plotCells(cimg_library::CImg<unsigned char>&, int);
void plotNets(cimg_library::CImg<unsigned char>&);
void drawLine(cimg_library::CImg<unsigned char>&, const int, const int, const int, const int, const unsigned int, const unsigned char[]);
//void drawBinDensity(cimg_library::CImg<unsigned char>& image, float opacity);
......@@ -55,4 +74,6 @@ public:
~Circuit() {delete fftbin;};
};
\ No newline at end of file
};
#endif //PPP_CIRCUIT_H
\ No newline at end of file
......@@ -12,17 +12,6 @@ class Net
};
*/
class Inst
{
public:
int w, h;
long area;
public:
Inst() = default;
Inst(int W, int H): w(W), h(H), area(W*H) {}
};
class Cell
{
......@@ -41,6 +30,21 @@ public:
Cell(int W, int H, bool IM): w(W), h(H), is_macro(IM), is_filler(false), area(W*H) {}
};
/*
class Inst
{
public:
int w, h;
long area;
int layer;
std::vector<std::pair<int, int>> pins;
public:
Inst() = default;
Inst(int W, int H): w(W), h(H), area(W*H), layer(0) {}
Inst(int W, int H, std::pair<int, int>* b, std::pair<int, int>* e): w(W), h(H), area(W*H), layer(0), pins(b, e) {}
};
*/
......@@ -58,17 +62,17 @@ public:
class Database
{
public:
std::vector<std::vector<Cell>> techs;
std::vector<std::vector<Cell*>> techs;
int h, w;
Die_infro die_infro[2];
int th, tw, tspaceing, tcost; //terminal information
int tech_num, cell_num, net_num;
std::vector<int> cells;
std::vector<int> layer;
std::vector<int> cell_die;
//std::vector<int> cell_die;
std::vector<int> mass;
std::vector<Inst> insts;
std::vector<Cell*> insts;
std::vector<std::vector<std::pair<int, int>>> nets;
std::vector<std::vector<std::pair<int, int>>> node_net;
......@@ -80,6 +84,8 @@ public:
std::vector<std::pair<float, float>> net_center;
std::vector<std::pair<int, int>> term_pos;
public:
void readcase(std::string);
......
......@@ -14,19 +14,32 @@ public:
//std::vector<std::vector<float>> llx, lly, urx, ury;
std::vector<float> coordx, coordy;
std::vector<float*> electricDensity;
std::vector<float*> electricPotential;
std::vector<float*> electricField_x;
std::vector<float*> electricField_y;
std::vector<float*> electricDensity_top;
std::vector<float*> electricPotential_top;
std::vector<float*> electricField_x_top;
std::vector<float*> electricField_y_top;
std::vector<std::vector<float>> stdArea, fillerArea;
std::vector<std::vector<std::vector<int>>> correspondCells;
std::vector<float*> electricDensity_bottom;
std::vector<float*> electricPotential_bottom;
std::vector<float*> electricField_x_bottom;
std::vector<float*> electricField_y_bottom;
std::vector<std::vector<float>> stdArea_top, fillerArea_top;
std::vector<std::vector<std::vector<int>>> correspondCells_top;
std::vector<std::vector<float>> stdArea_bottom, fillerArea_bottom;
std::vector<std::vector<std::vector<int>>> correspondCells_bottom;
//fft parts
std::vector<float> wx, wy;
std::vector<float> wx_sq, wy_sq;
std::vector<float> wx_top, wy_top;
std::vector<float> wx_sq_top, wy_sq_top;
std::vector<float> wx_bottom, wy_bottom;
std::vector<float> wx_sq_bottom, wy_sq_bottom;
std::vector<float> cosTable;
......
#ifndef ABACUS_HPP
#define ABACUS_HPP
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
#include <utility>
#include <climits>
struct node{
node(int x,int y,int w = -1,int h = -1 )
:origin_y{y},origin_x{x},width{w},height{h}{}
node(std::string n,int x,int y,int w ,int h )
:name{n},origin_y{y},origin_x{x},width{w},height{h}{}
void setShape(int w,int h){
width = w;
height = h;
}
int origin_x,origin_y;//global placement result
int width;
int height;
int weight = 1;
int x,y;
std::string name;
};
// abacus datastructure.
struct cluster{
int xc; // start x-position
// abacus dp
int ec; // ec <- ec + e(i)
int qc; // qc <- qc +e(i)[x'(i) -wc ]
int wc; // wc <- wc + w(i)
cluster(int x)
:xc{x},ec{0},qc{0},wc{0}{}
// if overlap with predecessor cluster, then do cluster.
// nodes for caculate each position x
std::list<node*>nodes;
void AddCell(node*n){
nodes.push_back(n);
ec += n->weight;
qc += n->weight * (n->origin_x - wc);
wc += n->width;
}
void AddCluster(cluster*other)
{
for(auto n:other->nodes)nodes.push_back(n);
ec += other->ec;
qc += (other->qc - other->ec * wc);
wc += other->wc;
}
};
struct subrow{
subrow(int startx,int width,int coordinate)
: x1{startx},x2{startx + width},y{coordinate}
{
remainSpace = x2-x1;
cost = 0;
clusterNum = BackupNum=0;
}
cluster& last(){
if(empty()){
std::cerr<<"error in cluster&last(),Clusters is empty\n";
exit(1);
}
return Clusters.at(clusterNum-1);
}
bool empty(){return clusterNum==0;}
void AppendCluster(int);
void Collapse();//Collapse start from last Cluster in Clusters, and update ClusterIdx.
void place(node*);//Place node to last Cluster in Clusters .
int getPos();//return the total Cost in Clusters.
std::vector<cluster>Clusters;
int x1,x2;
int remainSpace;
int y;
int cost;
int clusterNum;// point to last Cluster in Clusters.
void Backup()
{
if(clusterNum > ClustersBackup.size())//need allocate
ClustersBackup.push_back(Clusters.back());
if(clusterNum > ClustersBackup.size()){
std::cerr<<"Back up error,clusterNum > clusterBack.size()\n";
exit(1);
}
BackupNum = clusterNum;
ClustersBackup.at(BackupNum-1) = Clusters.at(clusterNum-1);
}
//each time after calling subrow::place(node*) , need recover .
void RecvoerClusters(){
if(clusterNum==BackupNum)//only need recover last cluster.
Clusters.at(clusterNum-1) = ClustersBackup.at(clusterNum-1);
else if(clusterNum < BackupNum) // clusters call collapse during place(node*)
{
if(Clusters.size() < BackupNum)
{
std::cerr<<"Clusters.size() not enough!\n";
exit(1);
}
for(int idx = clusterNum-1;idx < BackupNum;idx++)
Clusters.at(idx) = ClustersBackup.at(idx);
}
clusterNum = BackupNum;
}
private:
int BackupNum;// point to last Cluster in Backup
std::vector<cluster>ClustersBackup;
};
using fixed_node = node;
struct row{
row(int x,int coordinate,int w,int h)
:y{coordinate},height{h}{
subrows.push_back({x,w,coordinate});
}
int y;
int height;
std::vector<subrow> subrows;
//need sorted by x.
void block(fixed_node&terminal);
std::pair<subrow*,int> placeRow(node* n);
int getCost();
int getRemain();
std::vector<node*> RipUp(int threshold);//RipUp the width <= threshold
};
void placeTerminal(std::vector<fixed_node>&terminals,std::vector<row>&rows);
int abacus(std::vector<node*>nodes,std::vector<row>&rows);
#endif
......@@ -39,6 +39,11 @@ namespace Color {
}
const static int inf=0x7fffffff;
const static int mid_width = 10;
const static float densityScale = 1e-1; //1e-4; // variable for preventing the overflow of binDensity
const static float time_step = 0.02;
const static float wireLengthCoefficient = 10; //1e-1;
......
#ifndef PPP_TERMINAL_H
#define PPP_TERMINAL_H
#include "Param.h"
class Terminal{
public:
//const int maxn=10005;
const int inf=0x7fffffff;
int n, m;
std::vector<int> wx, wy, cx, cy, slack;
std::vector<bool> visx, visy;
//int Map[maxn][maxn];
//int minz;
std::vector<std::vector<int>> index;
std::vector<std::vector<int>> value;
Terminal(int x, int y): n(x), m(y) {
index.resize(n);
value.resize(m);
}
void add(int i, int x, int y) {
index[i].push_back(x);
value[i].push_back(y);
}
int BinarySearch(std::vector<int> array, int key)
{
int aSize = array.size();
if ( array.empty() || aSize == 0 )
return -1;
int low = 0;
int high = aSize - 1;
int mid = 0;
while ( low <= high )
{
mid = (low + high )/2;
if ( array[mid] < key)
low = mid + 1;
else if ( array[mid] > key )
high = mid - 1;
else
return mid;
}
return -1;
}
bool find(int u)
{
visx[u]=1;
int l = index[u].size();
for(int j = 0; j < l; ++j)
{
int v = index[u][j];
if(visy[v]) continue;
int t = wx[u] + wy[v] - value[u][j];
if(t == 0)
{
visy[v]=1;
if(cy[v]==-1||find(cy[v]))
{
cx[u]=v;
cy[v]=u;
return 1;
}
}
else if(t<0)
{
slack[v]=std::max(slack[v],t);
}
}
return false;
}
int run()
{
slack.resize(m, 0);
cx.resize(n, -1);
cy.resize(m, -1);
wx.resize(n, 0);
wy.resize(m, 0);
visx.resize(n);
visy.resize(m);
for(int i = 0; i < n; ++i)
{
int l = index[i].size();
for(int j = 0; j < l; ++j)
{
wx[i]=std::min(wx[i],value[i][j]);
}
std::cout << wx[i] << std::endl;
}
for(int i = 0; i < n; ++i)
{
for(;;)
{
//minz=-inf;
std::fill(slack.begin(), slack.end(), -inf);
std::fill(visx.begin(), visx.end(), 0);
std::fill(visy.begin(), visy.end(), 0);
if(find(i)) break;
int d = -inf;
for (int j = 0; j < m; ++j)
if (!visy[j]) d = std::max(d, slack[j]);
for(int j = 0; j < m; ++j)
{
if(visx[j]) wx[j]-=d;
if(visy[j]) wy[j]+=d;
else slack[j] -= d;
}
}
//for (int j = 0; j < cntx; ++j)
// std::cout << cx[j] << " " << cy[j] << " " << wx[j] << " " << wy[j] << " " << slack[j] << std::endl;
//return 1;
}
int ans=0;
for(int i = 0; i < n; ++i)
{
if(cx[i]!=-1)
{
int ind = BinarySearch(index[i], cx[i]);
ans+=value[i][ind];
}
}
return ans;
}
};
#endif //PPP_TERMINAL_H
\ No newline at end of file
......@@ -9,11 +9,15 @@ int main() {
Circuit* circuit = new Circuit();
circuit->readcase("../data/toy.txt");
circuit->readcase("../data/ProblemB_case2.txt");
std::cout << "Reading case..." << std::endl;
std::string picname;
circuit->init(0);
std::cout << "Initializing process..." << std::endl;
circuit->init(10);
std::cout << "Initialplacement done" << std::endl;
picname = "initial.bmp";
circuit->draw(picname);
......@@ -24,17 +28,19 @@ int main() {
std::cout << "Electric potential apply." << std::endl;
for (int i = 0; i < 1; ++i) {
for (int i = 0; i < 10; ++i) {
circuit->Iteration(i);
std::cout << "HPWL:" << circuit->calHPWL() << std::endl;
if ((i+1) % 1 == 0) {
if ((i+1) % 10 == 0) {
picname = "iter" + std::to_string(i) + ".bmp";
circuit->draw(picname);
}
}
circuit->finish();
picname = "after.bmp";
circuit->draw(picname);
......
#include "Circuit.h"
void Circuit::init(int init_iter) {
std::cout << "seting layers..." << std::endl;
setCellTechs();
std::cout << "making cell list..." << std::endl;
makeCellList();
std::cout << "making instances..." << std::endl;
//makePinList();
//makeNetList();
setCellTechs();
makeInstList();
std::cout << "finish instances generation" << std::endl;
std::cout << "HPWL: " << calHPWL() << std::endl;
......@@ -31,50 +37,194 @@ void Circuit::init(int init_iter) {
}
void Circuit::setCellTechs() {
layer.resize(cell_num, 0);
//if (die_infro[0].tech == die_infro[1].tech) {
// return;
//}
std::vector<std::pair<int, float>> s;
std::vector<std::pair<float, float>> area_compa;
s.resize(cell_num);
area_compa.resize(cell_num);
int tch0 = die_infro[0].tech;
int tch1 = die_infro[1].tech;
for (int i = 0; i < cell_num; ++i) {
int cell_id = cells[i];
area_compa[i] = std::make_pair(techs[tch0][cell_id]->area, techs[tch1][cell_id]->area);
s[i] = std::make_pair(i, techs[tch0][cell_id]->area - techs[tch1][cell_id]->area);
}
std::sort(s.begin(), s.end(), [](std::pair<int, float> a, std::pair<int, float> b){return a.second < b.second;});
std::cout << "sorting layer difference: " << std::endl;
//for (int i = 0; i < cell_num; ++i){
// std::cout << s[i].first << " " << s[i].second << std::endl;
//}
float util_top, util_bottom;
std::cout << h << w << die_infro[0].MaxUtil << std::endl;
util_top = static_cast<float>(h) * w * die_infro[0].MaxUtil / 100;
util_bottom = static_cast<float>(h) * w * die_infro[1].MaxUtil / 100;
std::cout << util_top << std::endl;
int nl = nets.size();
std::vector<int> nets_use;
std::vector<int> nets_state; //0: all in layer 1, 1: has one terminal, 2: all in layer 0
std::vector<int> nets_maxusage;
nets_use.resize(nl, 0);
nets_state.resize(nl, 0);
nets_maxusage.resize(nl);
for (int i = 0; i < nl; ++i) {
nets_maxusage[i] = nets[i].size();
}
int state = 0;
int terminal_count = 0;
long long terminal_min = 1e30;
int best_division = 0;
long long areasum_top = 0, areasum_bottom = 0;
for (int j = 0; j < cell_num; ++j) {
Cell* c = techs[tch1][cells[j]];
areasum_bottom += c->area;
//std::cout << "averageArea: " << averageArea << std::endl;
}
std::cout << areasum_top << " " << areasum_bottom << " " << util_top << " " << util_bottom << std::endl;
for (int i = 0; i < cell_num; ++i) {
int inst_id = s[i].first;
areasum_top += area_compa[inst_id].first;
areasum_bottom -= area_compa[inst_id].second;
if (state == 0) {
if (areasum_bottom <= util_bottom) {
std::cout << cell_num << " " << i << std::endl;
state = 1;
}
}
if (state == 1) {
if (areasum_top >= util_top) {
std::cout << cell_num << " " << i << std::endl;
state = 2;
break;
}
}
for (int j = 0; j < node_net[inst_id].size(); ++j) {
int net_id = node_net[inst_id][j].first;
if (nets_use[j] == 0) {
terminal_count ++;
nets_use[j]++;
}
else if (nets_use[j] == nets_maxusage[j] - 1) {
nets_use[j]++;
terminal_count--;
}
else {
nets_use[j]++;
}
}
if (state == 1 && terminal_count <= terminal_min) {
terminal_min = terminal_count;
best_division = i;
}
//best_division -= 1;
movecell_num[0] = best_division + 1;
movecell_num[1] = cell_num - movecell_num[0];
//std::cout << "setting layer: " << i << " " << areasum_top << ":" << util_top << " " << areasum_bottom << ":" << util_bottom << " " << state << " " << terminal_count << " " << std::endl;
}
std::cout << "segmenting: " << best_division << " " << terminal_min << " " << areasum_top << " " << areasum_bottom << std::endl;
for (int i = best_division + 1; i < cell_num; ++i) {
layer[s[i].first] = 1;
}
//for (int i = 0; i < cell_num; ++i) {
// std::cout << layer[i] << " ";
//}
//std::cout << std::endl;
}
void Circuit::makeCellList() {
//issue 0 two die average area
//compute filler cell size
float totalArea[2] = {0, 0};
int filler_num[2] = {0, 0};
int stdcell_num = 0;
for (int i = 0; i < tech_num; ++i) {
float averageArea = 0;
for (int j = 0; j < cell_num; ++j) {
Cell c = techs[i][cells[j]];
if (!c.is_macro) {
++stdcell_num;
averageArea += c.area;
float averageArea[2] = {0, 0};
//int filler_num[2] = {0, 0};
//int stdcell_num[2] = {0, 0};
float fillerArea[2] = {0, 0};
}
totalArea[i] += c.area;
//std::cout << "averageArea: " << averageArea << std::endl;
for (int i = 0; i < cell_num; ++i) {
int lay = layer[i];
int tch = die_infro[layer[i]].tech;
Cell* c = techs[tch][cells[i]];
totalArea[lay] += c->area;
if (!c->is_macro) {
++stdcell_num[lay];
averageArea[lay] += c->area;
}
averageArea /= static_cast<float>(stdcell_num);
std::cout << "averageArea: " << averageArea << std::endl;
float averageWidth = sqrt(averageArea);
}
//std::cout << "here cell 0" << stdcell_num[0] << " " << stdcell_num[1] << " " << totalArea[0] << " " << totalArea[1] << std::endl;
//std::cout << "here cell 1" << averageArea[1] << std::endl;
//std::cout << "here cell 1" << " " << averageArea[0] << " " << averageArea[1] << std::endl;
techs[i][0] = Cell(averageWidth, averageWidth);
techs[i][0].is_filler = true;
float averageWidth[2] = {0, 0};
for (int j = 0; j < techs[i].size(); ++j) {
//std::cout << techs[i][j].h << " " << techs[i][j].w << std::endl;
}
if (stdcell_num[0] > 0) {
averageArea[0] /= static_cast<float>(stdcell_num[0] + 1);
averageWidth[0] = sqrt(averageArea[0]);
techs[0][0] = new Cell(averageWidth[0], averageWidth[0]);
techs[0][0]->is_filler = true;
fillerArea[0] = static_cast<float>(h)*w * die_infro[0].MaxUtil / 100 - totalArea[0];
//std::cout << h << " " << w << " " << die_infro[0].MaxUtil << " " << h * w << std::endl;
float moveableArea = static_cast<float>(h)*w*die_infro[0].MaxUtil/100;
float fillerArea = moveableArea - totalArea[i];
filler_num[i] = std::floor(fillerArea / averageArea);
//std::cout << " moveable area: "<< moveableArea << " total area: " << totalArea[i] << std::endl;
filler_num[0] = std::floor(fillerArea[0] / averageArea[0]);
}
if (stdcell_num[1] > 0) {
averageArea[1] /= static_cast<float>(stdcell_num[1] + 1);
averageWidth[1] = sqrt(averageArea[1]);
techs[1][0] = new Cell(averageWidth[1], averageWidth[1]);
techs[1][0]->is_filler = true;
fillerArea[1] = static_cast<float>(h)*w * die_infro[1].MaxUtil / 100 - totalArea[1];
filler_num[1] = std::floor(fillerArea[1] / averageArea[1]);
}
//std::cout << "here cell 4" << std::endl;
all = cell_num + filler_num[0] + filler_num[1];
std::cout << "filler num 0: " << filler_num[0] << std::endl;
std::cout << "filler num 1: " << filler_num[1] << std::endl;
std::cout << all << " cells in total!" << std::endl;
cells.resize(all);
layer.resize(all);
for (int i = cell_num; i < cell_num + filler_num[0]; ++i) {
cells[i] = 0;
layer[i] = 0;
}
for (int i = cell_num + filler_num[0]; i < all; ++i) {
cells[i] = 0;
layer[i] = 1;
}
std::cout << "total area: " << totalArea[0] << " " << totalArea[1] << std::endl;
//float moveable_space = die_infro
filler_num[0] = 0;//cell_num / 2;
std::cout << "filler num: " << filler_num[0] <<std::endl;
allcell_num = cell_num + filler_num[0];
//filler_num[0] = 0;//cell_num / 2;
allcell_num[0] = movecell_num[0] + filler_num[0];
allcell_num[1] = movecell_num[1] + filler_num[1];
//addstdcell
std::mt19937 genX(10);
......@@ -82,11 +232,11 @@ void Circuit::makeCellList() {
std::uniform_real_distribution<float> disX(0, h);
std::uniform_real_distribution<float> disY(0, w);
cells.resize(allcell_num);
cell_pos.resize(allcell_num);
cell_die.resize(allcell_num);
force.resize(allcell_num);
velocity.resize(allcell_num);
cell_pos.resize(all);
//cell_die.resize(all);
force.resize(all);
velocity.resize(all);
for (int i = 0; i < cell_num; ++i) {
//cell_pos[i] = std::make_pair(floor(disX(genX)), floor(disY(genY)));
......@@ -95,8 +245,8 @@ void Circuit::makeCellList() {
//add filler cell
std::cout << "filler cell: " << std::endl;
for (int i = cell_num; i < allcell_num; ++i) {
//std::cout << "filler cell: " << std::endl;
for (int i = cell_num; i < all; ++i) {
cell_pos[i] = std::make_pair(floor(disX(genX)), floor(disY(genX)));
//std::cout << cell_pos[i].first << " " << cell_pos[i].second << std::endl;
}
......@@ -110,17 +260,31 @@ void Circuit::makeCellList() {
}
void Circuit::setCellTechs() {
layer.resize(allcell_num, 0);
}
void Circuit::makeInstList() {
insts.reserve(allcell_num);
for (int i = 0; i < allcell_num; ++i) {
insts.reserve(all);
//std cell
std::cout << "making std cell instances." << std::endl;
for (int i = 0; i < cell_num; ++i) {
int cell_id = cells[i];
Cell c = techs[layer[i]][cell_id];
insts.push_back(Inst(c.h, c.w));
//std::cout << cell_id << std::endl;
//if (i > 10) break;
int tch = die_infro[layer[i]].tech;
//Cell c = techs[tch][cell_id];
insts.push_back(techs[tch][cell_id]);
//insts.push_back(Inst(c.h, c.w, c.pins.begin(), c.pins.end()));
//insts[i].layer = layer[i];
}
//std::cout << insts[0]->area << std::endl;
//std::cout << insts[0]->pins[0].first << std::endl;
//filler cell
std::cout << "making filler cell instances." << std::endl;
for (int i = cell_num; i < all; ++i) {
int cell_id = cells[i];
//std::cout << cell_id << techs[1][0].area << std::endl;
//Cell c = techs[layer[i]][cell_id];
insts.push_back(techs[layer[i]][cell_id]);
//insts[i].layer = layer[i];
}
}
......@@ -146,9 +310,10 @@ void Circuit::preCalWL() {
//if (i > 18600)
// std::cout << "pre caling: " << inst_id << " " << pin_id << std::endl;
int cell_id = cells[inst_id];
std::pair<int, int> pin_pos = insts[inst_id]->pins[pin_id];
//int cell_id = cells[inst_id];
//std::pair<float, float> pin_pos = techs[layer[inst_id]][cell_id].pins[pin_id];
std::pair<float, float> pin_pos = techs[layer[inst_id]][cell_id].pins[pin_id];
//if (i > 18600)
// std::cout << "cell_pos: " << cell_pos[inst_id].first << " " << cell_pos[inst_id].second << std::endl;
......@@ -169,8 +334,10 @@ std::pair<float, float> Circuit::calWLf(int inst_id) {
for (int i = 0; i < node_net[inst_id].size(); ++i) {
int net_id = node_net[inst_id][i].first;
int pin_id = node_net[inst_id][i].second;
int cell_id = cells[inst_id];
std::pair<float, float> pin_pos = techs[0][cell_id].pins[pin_id];
std::pair<float, float> pin_pos = insts[inst_id]->pins[pin_id];
//int cell_id = cells[inst_id];
//std::pair<float, float> pin_pos = techs[0][cell_id].pins[pin_id];
int netsize = nets[net_id].size();
forcex += net_center[net_id].first - (posx + pin_pos.first)* netsize;
......@@ -189,7 +356,7 @@ void Circuit::initialPlacement(int iteration=30) {
float centerx = h / 2;
float centery = w / 2;
for (int i = 0; i < cell_num; ++i) {
cell_pos[i] = std::make_pair(centerx - static_cast<float>(insts[i].h)/2, centery - static_cast<float>(insts[i].w)/2);
cell_pos[i] = std::make_pair(centerx - static_cast<float>(insts[i]->h)/2, centery - static_cast<float>(insts[i]->w)/2);
}
// place considering only wire length force
......@@ -255,7 +422,7 @@ void Circuit::moveCellCoordinates() {
std::cout << "moving force: " << force[i].first << " " << force[i].second << std::endl;
}*/
for (int i = 0; i < allcell_num; ++i) {
for (int i = 0; i < all; ++i) {
const float posX = cell_pos[i].first;
const float posY = cell_pos[i].second;
const float velX = velocity[i].first;
......@@ -275,8 +442,8 @@ void Circuit::moveCellCoordinates() {
//std::cout << "moving: " << h << " " << w << std::endl;
if (cell_pos[i].first + insts[i].h > h) {
cell_pos[i].first = (int) h - insts[i].h;
if (cell_pos[i].first + insts[i]->h > h) {
cell_pos[i].first = (int) h - insts[i]->h;
velocity[i].first = 0;
}
else if (cell_pos[i].first < 0) {
......@@ -284,8 +451,8 @@ void Circuit::moveCellCoordinates() {
velocity[i].first = 0;
}
if (cell_pos[i].second + insts[i].w > w) {
cell_pos[i].second = (int) w - insts[i].w;
if (cell_pos[i].second + insts[i]->w > w) {
cell_pos[i].second = (int) w - insts[i]->w;
velocity[i].second = 0;
}
else if (cell_pos[i].second < 0) {
......@@ -301,7 +468,7 @@ void Circuit::moveCellCoordinates() {
}
void Circuit::checkCellPlace() {
for (int i = 0; i < allcell_num; ++i) {
for (int i = 0; i < all; ++i) {
assert(cell_pos[i].first >= 0);
assert(cell_pos[i].second >= 0);
assert(cell_pos[i].first <= h);
......@@ -333,8 +500,15 @@ float Circuit::calHPWL() {
for (int j = 0; j < nets[i].size(); ++j) {
int inst_id = nets[i][j].first;
int pin_id = nets[i][j].second;
int cell_id = cells[inst_id];
std::pair<float, float> pin_pos = techs[0][cell_id].pins[pin_id];
//std::cout << inst_id << " " << pin_id << std::endl;
//std::cout << insts[inst_id]->h << " " << insts[inst_id]->w << " " << insts[inst_id]->pins.size()<< std::endl;
//std::cout << techs[0][1]->h << " " << techs[0][1]->w << " " << techs[0][1]->pins.size() << std::endl;
std::pair<float, float> pin_pos = insts[inst_id]->pins[pin_id];
//std::cout << inst_id << " " << pin_id << std::endl;
//int cell_id = cells[inst_id];
//std::pair<float, float> pin_pos = techs[0][cell_id].pins[pin_id];
min_x = std::min(min_x, cell_pos[inst_id].first + pin_pos.first);
max_x = std::max(max_x, cell_pos[inst_id].first + pin_pos.first);
......@@ -401,15 +575,23 @@ void Circuit::fftinit() {
//std::cout << "here 0" << std::endl;
fftbin->electricDensity.resize(binsize_x);
fftbin->electricPotential.resize(binsize_x);
fftbin->electricField_x.resize(binsize_x);
fftbin->electricField_y.resize(binsize_x);
fftbin->electricDensity_top.resize(binsize_x);
fftbin->electricDensity_bottom.resize(binsize_x);
fftbin->electricPotential_top.resize(binsize_x);
fftbin->electricPotential_bottom.resize(binsize_x);
fftbin->electricField_x_top.resize(binsize_x);
fftbin->electricField_x_bottom.resize(binsize_x);
fftbin->electricField_y_top.resize(binsize_x);
fftbin->electricField_y_bottom.resize(binsize_x);
for (int i = 0; i < binsize_x; ++i) {
fftbin->electricDensity[i] = new float[binsize_y]{0};
fftbin->electricPotential[i] = new float[binsize_y]{0};
fftbin->electricField_x[i] = new float[binsize_y]{0};
fftbin->electricField_y[i] = new float[binsize_y]{0};
fftbin->electricDensity_top[i] = new float[binsize_y]{0};
fftbin->electricDensity_bottom[i] = new float[binsize_y]{0};
fftbin->electricPotential_top[i] = new float[binsize_y]{0};
fftbin->electricPotential_bottom[i] = new float[binsize_y]{0};
fftbin->electricField_x_top[i] = new float[binsize_y]{0};
fftbin->electricField_x_bottom[i] = new float[binsize_y]{0};
fftbin->electricField_y_top[i] = new float[binsize_y]{0};
fftbin->electricField_y_bottom[i] = new float[binsize_y]{0};
}
/*
......@@ -419,29 +601,37 @@ void Circuit::fftinit() {
//std::cout << "here 1" << std::endl;
fftbin->stdArea.resize(binsize_x);
fftbin->fillerArea.resize(binsize_x);
fftbin->stdArea_top.resize(binsize_x);
fftbin->stdArea_bottom.resize(binsize_x);
fftbin->fillerArea_top.resize(binsize_x);
fftbin->fillerArea_bottom.resize(binsize_x);
for (int i = 0; i < binsize_x; ++i) {
fftbin->stdArea[i].resize(binsize_y);
fftbin->fillerArea[i].resize(binsize_y);
fftbin->stdArea_top[i].resize(binsize_y);
fftbin->stdArea_bottom[i].resize(binsize_y);
fftbin->fillerArea_top[i].resize(binsize_y);
fftbin->fillerArea_bottom[i].resize(binsize_y);
}
//std::cout << "here 2" << std::endl;
fftbin->wx.resize(binsize_x, 0);
fftbin->wx_sq.resize(binsize_x, 0);
fftbin->wy.resize(binsize_y, 0);
fftbin->wy_sq.resize(binsize_y, 0);
fftbin->wx_top.resize(binsize_x, 0);
fftbin->wx_bottom.resize(binsize_x, 0);
fftbin->wx_sq_top.resize(binsize_x, 0);
fftbin->wx_sq_bottom.resize(binsize_x, 0);
fftbin->wy_top.resize(binsize_y, 0);
fftbin->wy_bottom.resize(binsize_y, 0);
fftbin->wy_sq_top.resize(binsize_y, 0);
fftbin->wy_sq_bottom.resize(binsize_y, 0);
for (int i = 0; i < binsize_x; ++i) {
fftbin->wx[i] = M_PI * static_cast<float>(i) / static_cast<float>(binsize_x);
fftbin->wx_sq[i] = fftbin->wx[i] * fftbin->wx[i];
fftbin->wx_top[i] = fftbin->wx_bottom[i] = M_PI * static_cast<float>(i) / static_cast<float>(binsize_x);
fftbin->wx_sq_top[i] = fftbin->wx_sq_bottom[i] = fftbin->wx_top[i] * fftbin->wx_top[i];
}
for (int i = 0; i < binsize_y; ++i) {
fftbin->wy[i] = M_PI * static_cast<float>(i) / static_cast<float>(binsize_y) * static_cast<float>(fftbin->size_y) / static_cast<float>(fftbin->size_x);
fftbin->wy_sq[i] = fftbin->wy[i] * fftbin->wy[i];
fftbin->wy_top[i] = fftbin->wy_bottom[i] = M_PI * static_cast<float>(i) / static_cast<float>(binsize_y) * static_cast<float>(fftbin->size_y) / static_cast<float>(fftbin->size_x);
fftbin->wy_sq_top[i] = fftbin->wy_sq_bottom[i] = fftbin->wy_top[i] * fftbin->wy_top[i];
}
......@@ -475,30 +665,48 @@ void Circuit::updateDensity() {
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j < binsize_y; ++ j) {
//std::cout << i << " " << j << " " << fftbin->stdArea[i][j] << std::endl;
fftbin->stdArea[i][j] = 0;
fftbin->fillerArea[i][j] = 0;
fftbin->stdArea_top[i][j] = 0;
fftbin->stdArea_bottom[i][j] = 0;
fftbin->fillerArea_top[i][j] = 0;
fftbin->fillerArea_bottom[i][j] = 0;
}
}
for (int k = 0; k < cell_num; ++k) {
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j < binsize_y; ++ j) {
//int llx = std::floor(static_cast<float>(cell_pos[k].first) / fftbin->size_x);
int llx = cell_pos[k].first / fftbin->size_x;
int lly = cell_pos[k].second / fftbin->size_y;
int urx = (cell_pos[k].first + insts[k]->h) / fftbin->size_x;
int ury = (cell_pos[k].second + insts[k]->w) / fftbin->size_y;
for (int i = llx; i < urx; ++i) {
for (int j = lly; j < ury; ++ j) {
//std::cout << i << " " << j << " " << fftbin->stdArea[i][j] << std::endl;
fftbin->stdArea[i][j] += fftbin->getOverlap(i, j, cell_pos[k].first, cell_pos[k].second, insts[k].h, insts[k].w) / densityScale;
if (layer[k] == 0)
fftbin->stdArea_top[i][j] += fftbin->getOverlap(i, j, cell_pos[k].first, cell_pos[k].second, insts[k]->h, insts[k]->w) / densityScale;
else
fftbin->stdArea_bottom[i][j] += fftbin->getOverlap(i, j, cell_pos[k].first, cell_pos[k].second, insts[k]->h, insts[k]->w) / densityScale;
}
}
}
for (int k = cell_num; k < allcell_num; ++k) {
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j < binsize_y; ++ j) {
fftbin->fillerArea[i][j] += fftbin->getOverlap(i, j, cell_pos[k].first, cell_pos[k].second, insts[k].h, insts[k].w) / densityScale;
for (int k = cell_num; k < all; ++k) {
int llx = cell_pos[k].first / fftbin->size_x;
int lly = cell_pos[k].second / fftbin->size_y;
int urx = (cell_pos[k].first + insts[k]->h) / fftbin->size_x;
int ury = (cell_pos[k].second + insts[k]->w) / fftbin->size_y;
for (int i = llx; i < urx; ++i) {
for (int j = lly; j < ury; ++ j) {
if (layer[k] == 0)
fftbin->fillerArea_top[i][j] += fftbin->getOverlap(i, j, cell_pos[k].first, cell_pos[k].second, insts[k]->h, insts[k]->w) / densityScale;
else
fftbin->fillerArea_bottom[i][j] += fftbin->getOverlap(i, j, cell_pos[k].first, cell_pos[k].second, insts[k]->h, insts[k]->w) / densityScale;
}
}
}
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j < binsize_y; ++ j) {
fftbin->electricDensity[i][j] = (fftbin->stdArea[i][j] + fftbin->fillerArea[i][j]) / (fftbin->area); //issue 4 mutltiply density
fftbin->electricDensity_top[i][j] = (fftbin->stdArea_top[i][j] + fftbin->fillerArea_top[i][j]) / (fftbin->area); //issue 4 mutltiply density
//std::cout << "density: " << i << " " << j << " " << fftbin->electricDensity[i][j] << std::endl;
fftbin->electricDensity_bottom[i][j] = (fftbin->stdArea_bottom[i][j] + fftbin->fillerArea_bottom[i][j]) / (fftbin->area);
}
}
......@@ -509,28 +717,34 @@ void Circuit::updateDensity() {
void Circuit::cellClassify() {
//std::cout << "herh " << binsize_x << std::endl;
fftbin->correspondCells.resize(binsize_x);
fftbin->correspondCells_top.resize(binsize_x);
fftbin->correspondCells_bottom.resize(binsize_x);
for (int i = 0; i < binsize_x; ++i) {
fftbin->correspondCells[i].resize(binsize_y);
fftbin->correspondCells_top[i].resize(binsize_y);
fftbin->correspondCells_bottom[i].resize(binsize_y);
for (int j = 0; j < binsize_y; ++j) {
fftbin->correspondCells[i][j].clear();
fftbin->correspondCells_top[i][j].clear();
fftbin->correspondCells_bottom[i][j].clear();
//fftbin->correspondCells[i][j].resize(0);
}
}
//std::cout << "herh " << std::endl;
int binIdx_x, binIdx_y;
for (int i = 0; i < allcell_num; ++i) {
for (int i = 0; i < all; ++i) {
int cell_id = cells[i];
float cell_x = static_cast<float>(cell_pos[i].first) + insts[i].h / 2;
float cell_y = static_cast<float>(cell_pos[i].second) + insts[i].w / 2;
float cell_x = static_cast<float>(cell_pos[i].first) + insts[i]->h / 2;
float cell_y = static_cast<float>(cell_pos[i].second) + insts[i]->w / 2;
binIdx_x = std::min(static_cast<int>(floor(cell_x / fftbin->size_x)), static_cast<int>(binsize_x - 1));
binIdx_x = std::max(binIdx_x, 0);
binIdx_y = std::min(static_cast<int>(floor(cell_y / fftbin->size_y)), static_cast<int>(binsize_y - 1));
binIdx_y = std::max(binIdx_y, 0);
fftbin->correspondCells[binIdx_x][binIdx_y].push_back(i);
if (layer[i] == 0)
fftbin->correspondCells_top[binIdx_x][binIdx_y].push_back(i);
else
fftbin->correspondCells_bottom[binIdx_x][binIdx_y].push_back(i);
}
}
......@@ -546,18 +760,58 @@ void Circuit::Iteration(int iternum) {
for (int j = 0; j < binsize_y; ++j) {
//std::cout << "here ij " << i << " " << j << std::endl;
int cell_len = fftbin->correspondCells[i][j].size();
//top cell movements
int cell_len = fftbin->correspondCells_top[i][j].size();
for (int k = 0; k < cell_len; ++k) {
//std::cout << "check 0: " << cell_len << k << std::endl;
int cel = fftbin->correspondCells_top[i][j][k];
//float e_Density = fftbin->electricDensity[i][j];
float cell_area = insts[cel]->area;
//apply electric force
//std::cout << "check 1: " << std::endl;
force[cel].first = fftbin->electricField_x_top[i][j] * cell_area;
force[cel].second= fftbin->electricField_y_top[i][j] * cell_area;
// is filler cell
//std::cout << "check 2: " << std::endl;
if (cel < cell_num) {
std::pair<float, float> wireforce = calWLf(cel);
force[cel].first += wireforce.first;
force[cel].second += wireforce.second;
}
//std::cout << "check 3: " << std::endl;
float friction_x = frictionCoefficient * velocity[cel].first;
float friction_y = frictionCoefficient * velocity[cel].second;
force[cel].first -= friction_x;
force[cel].second -= friction_y;
//std::cout << "check 4: " << std::endl;
if (friction_x * force[cel].first > 0 && abs(friction_x) > abs(force[cel].first))
force[cel].first = 0;
if (friction_y * force[cel].second > 0 && abs(friction_y) > abs(force[cel].second))
force[cel].second = 0;
}
//bottom cell movements
cell_len = fftbin->correspondCells_bottom[i][j].size();
for (int k = 0; k < cell_len; ++k) {
//std::cout << "check 0: " << cell_len << k << std::endl;
int cel = fftbin->correspondCells[i][j][k];
int cel = fftbin->correspondCells_bottom[i][j][k];
//float e_Density = fftbin->electricDensity[i][j];
float cell_area = insts[cel].area;
float cell_area = insts[cel]->area;
//apply electric force
//std::cout << "check 1: " << std::endl;
force[cel].first = fftbin->electricField_x[i][j] * cell_area;
force[cel].second= fftbin->electricField_y[i][j] * cell_area;
force[cel].first = fftbin->electricField_x_bottom[i][j] * cell_area;
force[cel].second= fftbin->electricField_y_bottom[i][j] * cell_area;
// is filler cell
//std::cout << "check 2: " << std::endl;
......@@ -586,7 +840,7 @@ void Circuit::Iteration(int iternum) {
}
}
/*
//print();
for (int i = 0; i < binsize_x ; ++i) {
for (int j = 0; j < binsize_y; ++j) {
......@@ -594,10 +848,26 @@ void Circuit::Iteration(int iternum) {
}
std::cout << std::endl;
}
std::cout << std::endl << std::endl;
for (int i = 0; i < binsize_x ; ++i) {
for (int j = 0; j < binsize_y; ++j) {
std::cout << fftbin->electricField_x[i][j] << " ";
}
std::cout << std::endl;
}
std::cout << std::endl << std::endl;
for (int i = 0; i < binsize_x ; ++i) {
for (int j = 0; j < binsize_y; ++j) {
std::cout << fftbin->electricField_y[i][j] << " ";
}
std::cout << std::endl;
}
*/
std::string picname;
picname = "check0.bmp";
draw(picname);
//std::string picname;
//picname = "check0.bmp";
//draw(picname);
//std::cout << "HPWL 4:" << calHPWL() << std::endl;
moveCellCoordinates();
//std::cout << "HPWL 5:" << calHPWL() << std::endl;
......@@ -606,19 +876,22 @@ void Circuit::Iteration(int iternum) {
updateDensity();
for (int i = 0; i < binsize_x ; ++i) {
for (int j = 0; j < binsize_y; ++j) {
std::cout << fftbin->electricDensity[i][j] << " ";
}
std::cout << std::endl;
}
//for (int i = 0; i < binsize_x ; ++i) {
// for (int j = 0; j < binsize_y; ++j) {
// std::cout << fftbin->electricDensity[i][j] << " ";
// }
// std::cout << std::endl;
//}
//picname = "check1.bmp";
//draw(picname);
//std::cout << "HPWL 7:" << calHPWL() << std::endl;
doFFT();
picname = "check1.bmp";
draw(picname);
//picname = "check1.bmp";
//draw(picname);
//print();
......@@ -629,10 +902,249 @@ void Circuit::Iteration(int iternum) {
}
void Circuit::finish() {
std::cout << "Legalizing..." << std::endl;
legalize();
std::cout << "Legalization done." << std::endl;
std::cout << "placing terminals..." << std::endl;
terminalAssignment();
std::cout << "terminals found." << std::endl;
}
void Circuit::legalize() {
std::vector<row> top_rows;
int top_row_h = die_infro[0].rowHeight;
int top_row_num = die_infro[0].rowN;
top_rows.reserve(top_row_num);
for (int i = 0; i < top_row_num; i++) {
top_rows.push_back({0, i*top_row_h, h, top_row_h});
}
std::vector<row> bottom_rows;
int bottom_row_h = die_infro[1].rowHeight;
int bottom_row_num = die_infro[1].rowN;
bottom_rows.reserve(bottom_row_num);
for (int i = 0; i < bottom_row_num; i++) {
bottom_rows.push_back({0, i*bottom_row_h, h, bottom_row_h});
}
std::vector<node*> top_cells;
std::vector<node*> bottom_cells;
top_cells.reserve(movecell_num[0]);
bottom_cells.reserve(movecell_num[1]);
for (int i = 0; i < cell_num; ++i) {
int wid;
if (layer[i] == 0) {
if (insts[i]->is_macro)
wid = std::ceil(static_cast<float>(insts[i]->w) / top_row_h) * top_row_h;
else
wid = insts[i]->w;
//std::cout << wid << std::endl;
//insts[i]->w = wid;
top_cells.push_back(new node{cell_pos[i].first, cell_pos[i].second, insts[i]->h, wid});
}
else {
if (insts[i]->is_macro)
wid = std::ceil(static_cast<float>(insts[i]->w) / bottom_row_h) * bottom_row_h;
else
wid = insts[i]->w;
bottom_cells.push_back(new node{cell_pos[i].first, cell_pos[i].second, insts[i]->h, insts[i]->w});
}
}
int top_cost = abacus(top_cells, top_rows);
int bottom_cost = abacus(bottom_cells, bottom_rows);
std::cout << "top layer abacus cost: " << top_cost << std::endl;
std::cout << "bottom layer abacus cost: " << bottom_cost << std::endl;
int top_pointer = 0;
int bottom_pointer = 0;
for (int i = 0; i < cell_num; ++i) {
if (layer[i] == 0) {
cell_pos[i] = std::make_pair(top_cells[top_pointer]->x, top_cells[top_pointer]->y);
top_pointer++;
}
else {
cell_pos[i] = std::make_pair(bottom_cells[bottom_pointer]->x, bottom_cells[bottom_pointer]->y);
bottom_pointer++;
}
}
}
void Circuit::terminalAssignment() {
std::vector<int> net_layer;
std::vector<int> ind;
net_layer.resize(net_num, 0);
ind.resize(net_num, 0);
for (int j = 0; j < net_num; ++j) {
for (int i = 0; i < nets[j].size(); ++i) {
int inst_id = nets[j][i].first;
if (layer[inst_id] == 0) {
if (net_layer[j] == 0) {
net_layer[j] = 1;
}
else if (net_layer[j] == 3) {
net_layer[j] = 2;
}
}
else if (layer[inst_id] == 1) {
if (net_layer[j] == 0) {
net_layer[j] = 3;
}
else if (net_layer[j] == 1) {
net_layer[j] = 2;
}
}
if (net_layer[j] == 2) {
break;
}
}
}
std::cout << "end nets calculation." << std::endl;
for (int i = 0; i < net_num; ++i) {
std::cout << net_layer[i] << std::endl;
}
int k = 0;
for (int i = 0; i < net_num; ++i) {
if (net_layer[i] == 2) {
ind[k] = i;
++k;
}
}
for (int i = 0; i < net_num; ++i) {
std::cout << ind[i] << std::endl;
}
int t_num = k; // terminal num
int ts_h = (h - tspaceing) / (th + tspaceing);
int ts_w = (w - tspaceing) / (tw + tspaceing);
int ts_num = ts_h * ts_w; // possible terminal num
std::cout << "start matching " << t_num << " terminal" << std::endl;
//for (int i = 0; i < t_num; ++i) {
// std::cout << "net id:" << ind[i] << std::endl;;
//}
// find possible terminal position
term = new Terminal(t_num, ts_num);
for (int i = 0; i < t_num; ++i) {
int net_id = ind[i];
float top_min_x = h;
float top_max_x = 0;
float top_min_y = w;
float top_max_y = 0;
float bottom_min_x = h;
float bottom_max_x = 0;
float bottom_min_y = w;
float bottom_max_y = 0;
for (int j = 0; j < nets[net_id].size(); ++j) {
int inst_id = nets[net_id][j].first;
int pin_id = nets[net_id][j].second;
std::pair<float, float> pin_pos = insts[inst_id]->pins[pin_id];
if (layer[i] == 0) {
top_min_x = std::min(top_min_x, cell_pos[inst_id].first + pin_pos.first);
top_max_x = std::max(top_max_x, cell_pos[inst_id].first + pin_pos.first);
top_min_y = std::min(top_min_y, cell_pos[inst_id].second + pin_pos.second);
top_max_y = std::max(top_max_y, cell_pos[inst_id].second + pin_pos.second);
}
else {
bottom_min_x = std::min(bottom_min_x, cell_pos[inst_id].first + pin_pos.first);
bottom_max_x = std::max(bottom_max_x, cell_pos[inst_id].first + pin_pos.first);
bottom_min_y = std::min(bottom_min_y, cell_pos[inst_id].second + pin_pos.second);
bottom_max_y = std::max(bottom_max_y, cell_pos[inst_id].second + pin_pos.second);
}
}
//std::cout << min_x << " " << max_x << " " << min_y << " " << max_y << std::endl;
//break;
float rectLx = std::max(top_min_x, bottom_min_x);
float rectLy = std::max(top_min_y, bottom_min_y);
float rectUx = std::min(top_max_x, bottom_max_x);
float rectUy = std::min(top_max_y, bottom_max_y);
float overlapWidth = rectUx - rectLx;
float overlapHeight = rectUy - rectLy;
int additional_length = ((overlapWidth > 0)? 0 : -overlapWidth) + ((overlapHeight > 0) ? 0 : -overlapHeight);
float llx = std::min(rectLx, rectUx);
float lly = std::min(rectLy, rectUy);
float urx = std::max(rectLx, rectUx);
float ury = std::max(rectLy, rectUy);
int t_llx = std::floor((llx + th/2) / (th + tspaceing));
int t_lly = std::floor((lly + tw/2) / (tw + tspaceing));
int t_urx = std::ceil((llx + th/2) / (th + tspaceing));
int t_ury = std::ceil((lly + tw/2) / (tw + tspaceing));
for (int j = t_llx; j <= t_urx; ++j) {
for (int l = t_lly; l <= t_ury; ++l) {
term->index[i].push_back(j * ts_w + l);
term->value[i].push_back(additional_length);
}
}
/*
if (t_llx == t_urx) {
}
if (t_lly == t_ury) {
}
*/
}
term->run();
std::cout << "km" << std::endl;
std::cout << " " << ts_h << " " << ts_w << " " << tspaceing << std::endl;
term_pos.resize(t_num);
for (int i = 0; i < t_num; ++i) {
int ts_x = term->cx[i] / ts_w;
int ts_y = term->cx[i] % ts_w;
int t_x = ts_x * (th + tspaceing) + tspaceing;
int t_y = ts_y * (tw + tspaceing) + tspaceing;
std::cout << i << ts_x << ts_y << t_x << t_y << std::endl;
term_pos[i] = std::make_pair(t_x, t_y);
}
for (int i = 0; i < t_num; ++i) {
std::cout << "net id:" << ind[i] << " pos :" << term_pos[i].first << " " << term_pos[i].second << std::endl;;
}
}
void Circuit::print() {
std::cout << std::endl;
for (int i = 0; i < cell_num; ++i) {
std::cout << "id: " << i << " (h,w)= " << insts[i].h << ", " << insts[i].w << " pos= " << cell_pos[i].first << ", " << cell_pos[i].second << " force=" << force[i].first << ", " << force[i].second << std::endl;
std::cout << "id: " << i << " (h,w)= " << insts[i]->h << ", " << insts[i]->w << " pos= " << cell_pos[i].first << ", " << cell_pos[i].second << " force=" << force[i].first << ", " << force[i].second << std::endl;
}
}
......@@ -640,6 +1152,7 @@ void Circuit::print() {
#if VISUAL
void Circuit::draw(std::string filename, int Scale) {
std::cout << "drawing " << filename << std::endl;
scale = static_cast<float>(std::max(h, w)) / 500;
int size_x = static_cast<float>(h) / scale;
int size_y = static_cast<float>(w) / scale;
......@@ -649,8 +1162,9 @@ void Circuit::draw(std::string filename, int Scale) {
//std::cout << "Visualizing: " << h << w << " " << scale << " " << size_x << " " << size_y << std::endl;
cimg_library::CImg<unsigned char> image(size_x, size_y, size_z, Channel, initialValue);
plotCells(image);
cimg_library::CImg<unsigned char> image(size_x*2 + mid_width, size_y, size_z, Channel, initialValue);
image.draw_rectangle(size_x, 0, size_x + mid_width, size_y, Color::BLACK);
plotCells(image, size_x);
plotNets(image);
......@@ -658,17 +1172,22 @@ void Circuit::draw(std::string filename, int Scale) {
image.save(filePath.c_str());
}
void Circuit::plotCells(cimg_library::CImg<unsigned char>& image) {
for (int inst_id = 0; inst_id < allcell_num; ++inst_id) {
void Circuit::plotCells(cimg_library::CImg<unsigned char>& image, int size_x) {
for (int inst_id = 0; inst_id < all; ++inst_id) {
int ll_x = cell_pos[inst_id].first / scale;
int ll_y = cell_pos[inst_id].second / scale;
//int cell_id = cells[inst_id];
int ur_x = ll_x + std::max(static_cast<int>(insts[inst_id].h/scale), 5);
int ur_y = ll_y + std::max(static_cast<int>(insts[inst_id].w/scale), 5);
int ur_x = ll_x + std::max(static_cast<int>(insts[inst_id]->h/scale), 5);
int ur_y = ll_y + std::max(static_cast<int>(insts[inst_id]->w/scale), 5);
if (layer[inst_id] == 1) {
ll_x += size_x + mid_width;
ur_x += size_x + mid_width;
}
//std::cout << "ploting: " << ll_x << " " << ll_y << " " << ur_x << " " << ur_y << " " << insts[inst_id].h << " " << insts[inst_id].w << std::endl;
//std::cout << "ploting: " << ll_x << " " << ll_y << " " << ur_x << " " << ur_y << " " << insts[inst_id]->h << " " << insts[inst_id]->w << std::endl;
//is std cell
if (inst_id < cell_num) {
......@@ -684,36 +1203,64 @@ void Circuit::plotCells(cimg_library::CImg<unsigned char>& image) {
}
//top electricfield
for (int i = 0; i < binsize_x; i = i+4) {
for (int j = 0; j < binsize_y; j = j+4) {
//std::cout << fftbin->size_x << " " << fftbin->size_y << std::endl;
int ctx = (fftbin->coordx[i]+fftbin->size_x/2) / scale;
int cty = (fftbin->coordy[j]+fftbin->size_y/2) / scale;
//std::cout << fftbin->electricField_x[i][j] << std::endl;
int ctx2 = ctx + fftbin->electricField_x[i][j] / 1 / scale;
int cty2 = cty + fftbin->electricField_y[i][j] / 1 / scale;
int ctx2 = ctx + fftbin->electricField_x_top[i][j] / 1 / scale;
int cty2 = cty + fftbin->electricField_y_top[i][j] / 1 / scale;
//std::cout << ctx << " " << cty << " " << ctx2 << " " << cty2 << std::endl;
drawLine(image, ctx, cty, ctx2, cty2, 2, Color::RED);
}
}
//bottom electricfield
for (int i = 0; i < binsize_x; i = i+4) {
for (int j = 0; j < binsize_y; j = j+4) {
//std::cout << fftbin->size_x << " " << fftbin->size_y << std::endl;
int ctx = (fftbin->coordx[i]+fftbin->size_x/2) / scale + size_x + mid_width;
int cty = (fftbin->coordy[j]+fftbin->size_y/2) / scale;
//std::cout << fftbin->electricField_x[i][j] << std::endl;
int ctx2 = ctx + fftbin->electricField_x_top[i][j] / 1 / scale + size_x + mid_width;;
int cty2 = cty + fftbin->electricField_y_top[i][j] / 1 / scale;
//std::cout << ctx << " " << cty << " " << ctx2 << " " << cty2 << std::endl;
drawLine(image, ctx, cty, ctx2, cty2, 2, Color::RED);
}
}
for (int i = 0; i < binsize_x; ++i) {
// std::cout << fftbin->coordx[i] << " " << fftbin->coordy[i] << std::endl;
}
//plotDensity(image);
//plotDensity(image, size_x);
}
void Circuit::plotDensity(cimg_library::CImg<unsigned char>& image) {
void Circuit::plotDensity(cimg_library::CImg<unsigned char>& image, int size_x) {
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j <binsize_y; ++j) {
float tmp = 255 - 255*fftbin->electricDensity[i][j] * densityScale;
float tmp = 255 - 255*fftbin->electricDensity_top[i][j] * densityScale;
//std::cout << i << " " << j << " " << tmp << std::endl;
unsigned char c[] = {tmp, tmp, tmp};
image.draw_rectangle(fftbin->coordx[i]/scale, fftbin->coordx[j]/scale, fftbin->coordx[i+1]/scale, fftbin->coordy[j+1]/scale, c);
}
}
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j <binsize_y; ++j) {
float tmp = 255 - 255*fftbin->electricDensity_bottom[i][j] * densityScale;
//std::cout << i << " " << j << " " << tmp << std::endl;
unsigned char c[] = {tmp, tmp, tmp};
image.draw_rectangle(fftbin->coordx[i]/scale + size_x + mid_width, fftbin->coordx[j]/scale, fftbin->coordx[i+1]/scale, fftbin->coordy[j+1]/scale, c);
}
}
}
......
......@@ -10,7 +10,10 @@ void Database::readcase(std::string inputfilename)
std::string temp;
ss >> temp >> tech_num;
techs.resize(tech_num);
//techs.resize(tech_num);
techs.resize(2);
if (tech_num == 1)
techs[1].resize(1);
for (int i = 0; i < tech_num; ++i) {
ss >> temp;
......@@ -24,8 +27,8 @@ void Database::readcase(std::string inputfilename)
ss >> is_macro;
ss >> cell_name;
int w, h;
ss >> w >> h;
techs[i][j+1] = Cell(w, h, is_macro=="Y");
ss >> h >> w;
techs[i][j+1] = new Cell(w, h, is_macro=="Y");
//ss >> techs[i][cell_name].w;
//ss >> techs[i][cell_name].h;
......@@ -33,14 +36,14 @@ void Database::readcase(std::string inputfilename)
int pin_num;
ss >> pin_num;
techs[i][j+1].pins.resize(pin_num);
techs[i][j+1]->pins.resize(pin_num);
for (int k = 0; k < pin_num; ++k) {
int x, y;
ss >> temp;
ss >> temp;
ss >> x;
ss >> y;
techs[i][j+1].pins[k] = std::make_pair(x, y);
techs[i][j+1]->pins[k] = std::make_pair(x, y);
}
}
......@@ -125,6 +128,7 @@ void Database::readcase(std::string inputfilename)
node_net[inst_idx].push_back(std::make_pair(i, pin_idx));
//std::cout << inst_idx << " " << pin_idx << std::endl;
//if (i > 10) break;
}
......
......@@ -32,35 +32,35 @@ void fftBin::doFFT() {
ddct2d(binsize_x,
binsize_y,
-1,
electricDensity.data(),
electricDensity_top.data(),
NULL,
workArea.data(),
cosTable.data()
);
for (int i = 0; i < binsize_x; ++i) {
electricDensity[i][0] *= 0.5;
electricDensity_top[i][0] *= 0.5;
}
for (int i = 0; i < binsize_y; ++i) {
electricDensity[0][i] *= 0.5;
electricDensity_top[0][i] *= 0.5;
}
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j < binsize_y; ++j) {
electricDensity[i][j] *= 4.0 / binsize_x / binsize_y;
electricDensity_top[i][j] *= 4.0 / binsize_x / binsize_y;
}
}
for (int i = 0; i < binsize_x; ++i) {
float wwx = wx[i];
float wwx2 = wx_sq[i];
float wwx = wx_top[i];
float wwx2 = wx_sq_top[i];
for (int j = 0; j < binsize_y; ++j) {
float wwy = wy[j];
float wwy2 = wy_sq[j];
float wwy = wy_top[j];
float wwy2 = wy_sq_top[j];
float density = electricDensity[i][j];
float density = electricDensity_top[i][j];
float phi = 0;
float electroX = 0, electroY = 0;
if (i == 0 && j == 0) {
......@@ -72,16 +72,16 @@ void fftBin::doFFT() {
electroY = phi * wwy;
}
electricPotential[i][j] = phi;
electricField_x[i][j] = electroX;
electricField_y[i][j] = electroY;
electricPotential_top[i][j] = phi;
electricField_x_top[i][j] = electroX;
electricField_y_top[i][j] = electroY;
}
}
ddct2d(binsize_x,
binsize_y,
1,
electricPotential.data(),
electricPotential_top.data(),
NULL,
workArea.data(),
cosTable.data()
......@@ -89,7 +89,75 @@ void fftBin::doFFT() {
ddsct2d(binsize_x,
binsize_y,
1,
electricField_x.data(),
electricField_x_top.data(),
NULL,
workArea.data(),
cosTable.data()
);
ddcst2d(binsize_x,
binsize_y,
1,
electricField_y_top.data(),
NULL,
workArea.data(),
cosTable.data()
);
ddct2d(binsize_x,
binsize_y,
-1,
electricDensity_bottom.data(),
NULL,
workArea.data(),
cosTable.data()
);
for (int i = 0; i < binsize_x; ++i) {
electricDensity_bottom[i][0] *= 0.5;
}
for (int i = 0; i < binsize_y; ++i) {
electricDensity_bottom[0][i] *= 0.5;
}
for (int i = 0; i < binsize_x; ++i) {
for (int j = 0; j < binsize_y; ++j) {
electricDensity_bottom[i][j] *= 4.0 / binsize_x / binsize_y;
}
}
for (int i = 0; i < binsize_x; ++i) {
float wwx = wx_bottom[i];
float wwx2 = wx_sq_bottom[i];
for (int j = 0; j < binsize_y; ++j) {
float wwy = wy_bottom[j];
float wwy2 = wy_sq_bottom[j];
float density = electricDensity_bottom[i][j];
float phi = 0;
float electroX = 0, electroY = 0;
if (i == 0 && j == 0) {
phi = electroX = electroY = 0.0f;
}
else {
phi = density / (wwx2 + wwy2);
electroX = phi * wwx;
electroY = phi * wwy;
}
electricPotential_bottom[i][j] = phi;
electricField_x_bottom[i][j] = electroX;
electricField_y_bottom[i][j] = electroY;
}
}
ddct2d(binsize_x,
binsize_y,
1,
electricPotential_bottom.data(),
NULL,
workArea.data(),
cosTable.data()
......@@ -97,7 +165,15 @@ void fftBin::doFFT() {
ddsct2d(binsize_x,
binsize_y,
1,
electricField_y.data(),
electricField_x_bottom.data(),
NULL,
workArea.data(),
cosTable.data()
);
ddcst2d(binsize_x,
binsize_y,
1,
electricField_y_bottom.data(),
NULL,
workArea.data(),
cosTable.data()
......@@ -111,9 +187,14 @@ void fftBin::doFFT() {
fftBin::~fftBin() {
for (int i = 0; i < binsize_x; ++i) {
delete electricDensity[i];
delete electricPotential[i];
delete electricField_x[i];
delete electricField_y[i];
delete electricDensity_top[i];
delete electricPotential_top[i];
delete electricField_x_top[i];
delete electricField_y_top[i];
delete electricDensity_bottom[i];
delete electricPotential_bottom[i];
delete electricField_x_bottom[i];
delete electricField_y_bottom[i];
}
}
#include "Legalizer.h"
// user need to enter terminal with the increasing x order.
// the block function check the relative position between termianl node and place-row , and make the correction : split the subrows or boundary correction.
void row::block(fixed_node &terminal){
//pre-checking y range
if(terminal.origin_y + terminal.height <= y || terminal.origin_y >= y + height)return ;
subrow* last = &(*subrows.rbegin());// this is why user need to enter terminal with the increasing x.
int condition;//overlap condition
int t_x1 = terminal.origin_x;
int t_x2 = t_x1 + terminal.width;
if( (t_x2 <= last->x1 ) || ( t_x1 >= last->x2) )condition = 0;//not overlap in x.
else if(t_x1 <= last->x1 && t_x2 >=last->x2)condition = 1; // completely ovelap
else if(t_x1 <= last->x1 && t_x2 < last->x2)condition = 2; // x|xx---|
else if(t_x1 > last->x1 && t_x2 < last->x2)condition = 3;//|--xxx--| need split
else if(t_x1 > last->x1 && t_x2 >= last->x2)condition = 4; //|---xx|x
if(condition==1)
subrows.pop_back();//delete subrow
else if(condition==2)
last->x1 = t_x2;
else if(condition==3){//split new subrow
subrows.push_back({t_x2,last->x2-t_x2,y});
last = &subrows.at(subrows.size()-2);//push back may allocate new memory
last->x2 = t_x1;
}
else if(condition==4)
last->x2 = t_x1;
if(condition > 1) last->remainSpace = last->x2 - last->x1;
}
void subrow::Collapse(){
int c = clusterNum - 1;
// check if overlap happend.
for(;c >= 0 ;c--){
cluster&cur = Clusters.at(c);
cur.xc = cur.qc / cur.ec;
if(cur.xc < x1) cur.xc = x1;
if(cur.xc > x2 - cur.wc)cur.xc = x2 - cur.wc;
if(c > 0 && Clusters.at(c-1).xc + Clusters.at(c-1).wc > cur.xc)
Clusters.at(c-1).AddCluster(&cur);
else
break;//do not decrease c
}
clusterNum = c + 1;
}
// modified part : boundary fixed.
inline int modify_x(int x1,int x2,node*n){
if(n->origin_x < x1)
return x1;
if(n->origin_x + n->width > x2)
return x2 - n->width;
return n->origin_x;
}
void subrow::AppendCluster(int x){
if(Clusters.size()==clusterNum){//need allocate new memmory.
Clusters.push_back(cluster{x});
}
else if(Clusters.size() > clusterNum)//update clusterNum
Clusters.at(clusterNum) = cluster{x};
else{
std::cerr<<"subrow::AppendCluster error, clusterNum > clusters.size()\n";
exit(1);
}
clusterNum++;
}
void subrow::place(node*n){
int m_x = modify_x(x1,x2,n);// abacus fixed.
if(empty() || last().xc + last().wc <= m_x){//if do not need place compactly.
AppendCluster(m_x);//new cluster
last().AddCell(n);//new cluster add cell
}
else{
last().AddCell(n);
Collapse();//recursive Collapse
}
}
int subrow::getPos(){
int cost = 0;
for(int c = 0;c < clusterNum;c++){
cluster& clst = Clusters.at(c);
int x = clst.xc;
for(node*n : clst.nodes){
n->x = x;
n->y = y;
cost+=std::abs(n->x - n->origin_x);
cost+=std::abs(n->y - n->origin_y);
x += n->width;
}
}
return cost;//total cost
}
int SubRowPlace(subrow*r,node*n){
r->place(n);
return r->getPos();
}
int BsSub(std::vector<subrow>&subs,node*n){
int l = 0;
int r= subs.size()-1;
while(l<r)
{
int mid = (l+r)/2;
if(subs.at(mid).x1==n->origin_x)return mid;
else if(subs.at(mid).x1 > n->origin_x)r = mid-1;
else l = mid+1;
}
return std::max(0,l);
}
bool tryPlace(subrow&sub,node*n,int&bestCost,subrow*&bestp){
if(sub.remainSpace >= n->width){//still have space
sub.place(n);
int afterCost = sub.getPos();
int dCost = afterCost - sub.cost;//new - original : cost of placing one node.
sub.RecvoerClusters();
if(dCost < bestCost){
bestp = &sub;
bestCost = dCost;
return true;
}
else
return false;
}
return true;
}
//first : optimal subrow to place n
//second : delta_cost
std::pair<subrow*,int> row::placeRow(node* n){
//std::cout<<"placerow\n";
subrow* p = nullptr;//find a subrow to place p.
int bestCost = INT_MAX;
int start = BsSub(subrows,n);
for(int i = start-1;i<=start+1;i++){
if(i>=0&&i<subrows.size())
tryPlace(subrows.at(i),n,bestCost,p);
}
for(int i = start-2;i>=0;i--){
if(i>=0)
if(!tryPlace(subrows.at(i),n,bestCost,p))break;
}
for(int i = start+2;i<subrows.size();i++){
if(i<subrows.size())
if(!tryPlace(subrows.at(i),n,bestCost,p))break;
}
return {p,bestCost};
}
int row::getCost()
{
int cost = 0;
for(auto &sub:subrows)
cost += sub.getPos();// get final position
return cost;
}
int row::getRemain()
{
int space = 0;
for(auto sub:subrows)space+=sub.remainSpace;
return space;
}
int binarySearchRow(std::vector<row>&rows,node*n)
{
int l = 0;
int r = rows.size()-1;
while(l<r)
{
int mid = (l+r)/2;
if(rows.at(mid).y==n->origin_y)return mid;
else if(rows.at(mid).y > n->origin_y)r = mid-1;
else l = mid+1;
}
return std::max(0,l);
}
bool tryPlace2(std::vector<row>&rows,int i,node*n,int&bestCost,subrow*&bestPlace,int&bestRow)
{
row& r = rows.at(i);
auto place = r.placeRow(n);
if(place.first && place.second < bestCost){
bestCost = place.second;
bestPlace = place.first;
bestRow = i;
return true;
}
else if(place.first)
return false;
return true;
}
int abacus(std::vector<node*>nodes,std::vector<row>&rows){
//sort by x
std::sort(nodes.begin(),nodes.end(),[](node*n1,node*n2){
if(n1->origin_x==n2->origin_x)
return n1->width < n2->width;
return n1->origin_x < n2->origin_x;
}
);
bool succ = true;
for(auto n : nodes){
int bestCost = INT_MAX;
subrow* bestplace = nullptr;
int bestRow = -1;
int startRow = binarySearchRow(rows,n);
int range = 18;
for(int i = startRow-range;i<=startRow+range;i++){
if(i>=0 && i<rows.size())
tryPlace2(rows,i,n,bestCost,bestplace,bestRow);
}
for(int i = startRow-range-1;i>=0;i--)
if(!tryPlace2(rows,i,n,bestCost,bestplace,bestRow))break;
for(int i = startRow+range+1;i<rows.size();i++)
if(!tryPlace2(rows,i,n,bestCost,bestplace,bestRow))break;
if(bestplace){
bestplace->place(n);
bestplace->Backup();
bestplace->cost = bestplace->getPos();
bestplace->remainSpace-=n->width;
if(bestplace->remainSpace<0){
std::cerr<<"abacus remainspace<0!\n";
exit(1);
}
}
else{
succ = false;
break;
}
}
if(succ){
int cost = 0;
for(auto &r:rows)
cost+=r.getCost();
return cost;
}
else{
std::cout<<"abacus failed\n";
return -1;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment