Skip to content

sdasgup3/non-separable-global-dataflow-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##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=<path to gcc-4.3.0.install>
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

Releases

No releases published

Packages

No packages published

Languages