https://github.com/sdasgup3/non-separable-global-dataflow-framework
Extend GCC's GDFA Architecture to Non-separable Framwork
https://github.com/sdasgup3/non-separable-global-dataflow-framework
bitvector compiler-optimization data-flow-analysis dead-code-elimination gcc-plugin
Last synced: 22 days ago
JSON representation
Extend GCC's GDFA Architecture to Non-separable Framwork
- Host: GitHub
- URL: https://github.com/sdasgup3/non-separable-global-dataflow-framework
- Owner: sdasgup3
- Created: 2015-12-17T19:31:22.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-12-16T03:35:41.000Z (about 9 years ago)
- Last Synced: 2025-04-09T09:49:58.668Z (10 months ago)
- Topics: bitvector, compiler-optimization, data-flow-analysis, dead-code-elimination, gcc-plugin
- Language: Turing
- Size: 1.97 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
##DIRECTORY STRUCTURE
* Reports
* Report.pdf
* Presentation.pdf
* Documents
* gdfa-v1.2-gcc-4.3.0.patch : _gdfa patch for gcc 4.3.0_
* Test
* Test Directories containing
* C code to be analysed
* Golden outputs for comparison. _Examples: gold_test_*.c.022t.gdfa_puv and gold_test_*.c.021t.gdfa_fv_
* Gen or Kill Impact chains in *.ps format. _Example: gen_impact_chain.dot, kill_impact_chain.dot_
* SourceCodeInfo :
* listOfFilesModified.txt : _List of files Modified_
* CodeDiff.txt : _This file can be patched to gcc 4.3.0 source code_
* Source Files
* gimple-pfbvdfa-driver.c
* gimple-pfbvdfa-specs.c
* gimple-pfbvdfa-support.c
* gimple-pfbvdfa.h
* passes.c
* tree-pass.h
##HOW TO BUILD
```
mkdir gdfa
cd gdfa
Download gcc-4.3.0-tar.gz from https://gcc.gnu.org/mirrors.html in here.
Copy gdfa-v1.2-gcc-4.3.0.patch from Documents in here. This path can be downloaded from http://www.cse.iitb.ac.in/grc/index.php?page=gdfa.
tar -xvf gcc-4.3.0-tar.gz
mkdir gcc-4.3.0.obj gcc-4.3.0.install
patch -p0 < gdfa-v1.2-gcc-4.3.0.patch
cd gcc-4.3.0.obj
../gcc-4.3.0/configure --enable-languages=c --prefix=
make all-gcc TARGET-gcc=cc1 BOOT_CFLAGS='-O0 -g3' -j 2
make install
```
##HOW TO RUN
The following commands generate test_1.c.021t.gdfa_fv (faint variable analysis) and
test_1.c.021t.gdfa_puv (possibly uninitialized variable analysis)
```
cd Test/test_1/
cc1 -fgdfa -fdump-tree-all test_1.c
```
##TESTING AUTOMATION
```
_Run and test the testsuite_
cd Test
make _Compile all the C source files and dumps the analysis results in respective directories_
make test _Compare the analysis dumps with the golden output provided_
make clean _Remove the anaylsis dumps_
OR
_Run and test unit cases_
cd Test_3
make
make test
make clean
```