[llvm-commits] [poolalloc] r47283 - /poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp
Author: criswell Date: Mon Feb 18 13:49:35 2008 New Revision: 47283 URL: http://llvm.org/viewvc/llvm-project?rev=47283view=rev Log: Fixed line wrapping of comments. No functionality changes. Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp?rev=47283r1=47282r2=47283view=diff == --- poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Mon Feb 18 13:49:35 2008 @@ -135,10 +135,10 @@ std::mapFunction*, Function* FuncMap; - // Now clone a function using the pool arg list obtained in the previous pass - // over the modules. Loop over only the function initially in the program, - // don't traverse newly added ones. If the function needs new arguments, make - // its clone. + // Now clone a function using the pool arg list obtained in the previous + // pass over the modules. Loop over only the function initially in the + // program, don't traverse newly added ones. If the function needs new + // arguments, make its clone. std::setFunction* ClonedFunctions; {TIME_REGION(X, MakeFunctionClone); for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) @@ -379,7 +379,8 @@ ++NumCloned; - // Figure out what the arguments are to be for the new version of the function + // Figure out what the arguments are to be for the new version of the + // function const FunctionType *OldFuncTy = F.getFunctionType(); std::vectorconst Type* ArgTys(FI.ArgNodes.size(), PoolDescPtrTy); ArgTys.reserve(OldFuncTy-getNumParams() + FI.ArgNodes.size()); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47291 - /poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp
Author: criswell Date: Mon Feb 18 17:06:24 2008 New Revision: 47291 URL: http://llvm.org/viewvc/llvm-project?rev=47291view=rev Log: Taught pool allocation how to deal with the new function attributes. Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp?rev=47291r1=47290r2=47291view=diff == --- poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Mon Feb 18 17:06:24 2008 @@ -24,6 +24,7 @@ #include llvm/Instructions.h #include llvm/Module.h #include llvm/Constants.h +#include llvm/ParameterAttributes.h #include llvm/Support/CFG.h #include llvm/Target/TargetData.h #include llvm/Transforms/Utils/BasicBlockUtils.h @@ -424,6 +425,29 @@ {TIME_REGION(X, CloneFunctionInto); CloneFunctionInto(New, F, ValueMap, Returns); } + + // + // The CloneFunctionInto() function will copy the parameter attributes + // verbatim. This is incorrect; each attribute should be shifted one so + // that the pool descriptor has no attributes. + // + const ParamAttrsList * OldAttrs = New-getParamAttrs(); + ParamAttrsVector NewAttrsVector; + for (unsigned index = 0; index OldAttrs-size(); ++index) { +// Find the argument index +unsigned argIndex = OldAttrs-getParamIndex (index); + +// If it's not the return value, move the attribute to the next +// parameter. +if (argIndex) ++argIndex; + +// Add the parameter to the new list. + NewAttrsVector.push_back(ParamAttrsWithIndex::get(argIndex,OldAttrs-getParamAttrsAtIndex(index))); + } + + // Assign the new attributes to the function clone + New-setParamAttrs (ParamAttrsList::get (NewAttrsVector)); + // Invert the ValueMap into the NewToOldValueMap std::mapValue*, const Value* NewToOldValueMap = FI.NewToOldValueMap; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47132 - /poolalloc/trunk/include/poolalloc/PoolAllocate.h
Author: criswell Date: Thu Feb 14 14:23:37 2008 New Revision: 47132 URL: http://llvm.org/viewvc/llvm-project?rev=47132view=rev Log: Change the getPoolType() method to switch between different pool sizes depending upon whether we're compiling for use with SAFECode. Modified: poolalloc/trunk/include/poolalloc/PoolAllocate.h Modified: poolalloc/trunk/include/poolalloc/PoolAllocate.h URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/include/poolalloc/PoolAllocate.h?rev=47132r1=47131r2=47132view=diff == --- poolalloc/trunk/include/poolalloc/PoolAllocate.h (original) +++ poolalloc/trunk/include/poolalloc/PoolAllocate.h Thu Feb 14 14:23:37 2008 @@ -208,7 +208,11 @@ /// getPoolType - Return the type of a pool descriptor const Type * getPoolType() { Type * VoidPtrType = PointerType::getUnqual(Type::Int8Ty); +#ifdef SAFECODE +return ArrayType::get(VoidPtrType, 50); +#else return ArrayType::get(VoidPtrType, 16); +#endif } private: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47133 - in /poolalloc/trunk/lib/PoolAllocate: PoolAllocate.cpp TransformFunctionBody.cpp
Author: criswell Date: Thu Feb 14 14:24:14 2008 New Revision: 47133 URL: http://llvm.org/viewvc/llvm-project?rev=47133view=rev Log: Use getPoolType() to determine the type of the pool descriptor. Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp?rev=47133r1=47132r2=47133view=diff == --- poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Thu Feb 14 14:24:14 2008 @@ -183,11 +183,7 @@ if (VoidPtrTy == 0) { // NOTE: If these are changed, make sure to update PoolOptimize.cpp as well! VoidPtrTy = PointerType::getUnqual(Type::Int8Ty); -#ifdef SAFECODE -PoolDescType = ArrayType::get(VoidPtrTy, 50); -#else -PoolDescType = ArrayType::get(VoidPtrTy, 16); -#endif +PoolDescType = getPoolType(); PoolDescPtrTy = PointerType::getUnqual(PoolDescType); } Modified: poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp?rev=47133r1=47132r2=47133view=diff == --- poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp Thu Feb 14 14:24:14 2008 @@ -665,7 +665,7 @@ //Dinakar we need pooldescriptors for allocas in the callee if it escapes BasicBlock::iterator InsertPt = TheCall-getParent()-getParent()-front().begin(); Type *VoidPtrTy = PointerType::getUnqual(Type::Int8Ty); - ArgVal = new AllocaInst(ArrayType::get(VoidPtrTy, 16), 0, PD, InsertPt); + ArgVal = new AllocaInst(PAInfo.getPoolType(), 0, PD, InsertPt); Value *ElSize = ConstantInt::get(Type::Int32Ty,0); Value *Align = ConstantInt::get(Type::Int32Ty,0); Value* Opts[3] = {ArgVal, ElSize, Align}; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47134 - /poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp
Author: criswell Date: Thu Feb 14 14:42:17 2008 New Revision: 47134 URL: http://llvm.org/viewvc/llvm-project?rev=47134view=rev Log: Fixed formatting; no functionality changes. Modified: poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp Modified: poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp?rev=47134r1=47133r2=47134view=diff == --- poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp Thu Feb 14 14:42:17 2008 @@ -515,7 +515,8 @@ std::vectorconst DSNode* ArgNodes; DSGraph *CalleeGraph; // The callee graph - // For indirect callees find any callee since all DS graphs have been merged. + // For indirect callees, find any callee since all DS graphs have been + // merged. if (CF) { // Direct calls are nice and simple. DEBUG(std::cerrHandling direct call: *TheCall); FuncInfo *CFI = PAInfo.getFuncInfo(*CF); @@ -543,11 +544,11 @@ if (!CF) for (EquivClassGraphs::callee_iterator I = ECGraphs.callee_begin(OrigInst), -E = ECGraphs.callee_end(OrigInst); I != E; ++I) - if (I-second) { - CF = I-second; - break; - } + E = ECGraphs.callee_end(OrigInst); I != E; ++I) +if (I-second) { + CF = I-second; + break; +} // If we didn't find the callee in the constructed call graph, try // checking in the DSNode itself. @@ -661,21 +662,23 @@ #ifdef BOUNDS_CHECK if (ArgNodes[i]-isArray()) { #endif - if (!isaInvokeInst(TheCall)) { - //Dinakar we need pooldescriptors for allocas in the callee if it escapes - BasicBlock::iterator InsertPt = TheCall-getParent()-getParent()-front().begin(); - Type *VoidPtrTy = PointerType::getUnqual(Type::Int8Ty); - ArgVal = new AllocaInst(PAInfo.getPoolType(), 0, PD, InsertPt); - Value *ElSize = ConstantInt::get(Type::Int32Ty,0); - Value *Align = ConstantInt::get(Type::Int32Ty,0); - Value* Opts[3] = {ArgVal, ElSize, Align}; - new CallInst(PAInfo.PoolInit, Opts, Opts + 3,, TheCall); - BasicBlock::iterator BBI = TheCall; - new CallInst(PAInfo.PoolDestroy, ArgVal, , ++BBI); - } - //probably need to update DSG - // std::cerr WARNING: NULL POOL ARGUMENTS ARE PASSED IN!\n; -#ifdef BOUNDS_CHECK + if (!isaInvokeInst(TheCall)) { +// Dinakar: We need pooldescriptors for allocas in the callee if it +// escapes +BasicBlock::iterator InsertPt = TheCall-getParent()-getParent()-front().begin(); +Type *VoidPtrTy = PointerType::getUnqual(Type::Int8Ty); +ArgVal = new AllocaInst(PAInfo.getPoolType(), 0, PD, InsertPt); +Value *ElSize = ConstantInt::get(Type::Int32Ty,0); +Value *Align = ConstantInt::get(Type::Int32Ty,0); +Value* Opts[3] = {ArgVal, ElSize, Align}; +new CallInst(PAInfo.PoolInit, Opts, Opts + 3,, TheCall); +BasicBlock::iterator BBI = TheCall; +new CallInst(PAInfo.PoolDestroy, ArgVal, , ++BBI); + } + + //probably need to update DSG + // std::cerr WARNING: NULL POOL ARGUMENTS ARE PASSED IN!\n; +#ifdef BOUNDS_CHECK } #endif } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47092 - /poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp
Author: criswell Date: Wed Feb 13 16:22:22 2008 New Revision: 47092 URL: http://llvm.org/viewvc/llvm-project?rev=47092view=rev Log: Fix compilation when SAFECODE is defined. Due to some strange errors when the C++ compiler tries to create a copy constructor for struct FuncInfo, I cannot make ValueMap in struct FuncInfo a DenseMap. I cannot change the DenseMap to a std::map either because the CloneFunctionInto() function expects a DenseMap. For now, I have just copied the data from the std::map into the DenseMap. Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp?rev=47092r1=47091r2=47092view=diff == --- poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Wed Feb 13 16:22:22 2008 @@ -410,10 +410,11 @@ // Map the existing arguments of the old function to the corresponding // arguments of the new function, and copy over the names. -#ifdef SAFECODE - DenseMapconst Value*, Value* ValueMap = FI.ValueMap; -#else DenseMapconst Value*, Value* ValueMap; +#ifdef SAFECODE + for (std::mapconst Value*, Value*::iterator I = FI.ValueMap.begin(), + E = FI.ValueMap.end(); I != E; ++I) +ValueMap.insert(std::make_pair(I-first, I-second)); #endif for (Function::arg_iterator I = F.arg_begin(); NI != New-arg_end(); ++I, ++NI) { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47094 - in /poolalloc/trunk: autoconf/aclocal.m4 autoconf/configure.ac configure
Author: criswell Date: Wed Feb 13 16:23:55 2008 New Revision: 47094 URL: http://llvm.org/viewvc/llvm-project?rev=47094view=rev Log: Added the --with-safecodeobj option to configure the location of SAFECode's object tree. Fixed Makefiles so that they can now enable SAFECode builds properly. Modified: poolalloc/trunk/autoconf/aclocal.m4 poolalloc/trunk/autoconf/configure.ac poolalloc/trunk/configure Modified: poolalloc/trunk/autoconf/aclocal.m4 URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/autoconf/aclocal.m4?rev=47094r1=47093r2=47094view=diff == --- poolalloc/trunk/autoconf/aclocal.m4 (original) +++ poolalloc/trunk/autoconf/aclocal.m4 Wed Feb 13 16:23:55 2008 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.2 -*- Autoconf -*- +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. Modified: poolalloc/trunk/autoconf/configure.ac URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/autoconf/configure.ac?rev=47094r1=47093r2=47094view=diff == --- poolalloc/trunk/autoconf/configure.ac (original) +++ poolalloc/trunk/autoconf/configure.ac Wed Feb 13 16:23:55 2008 @@ -91,7 +91,8 @@ dnl ** dnl Location of SAFECode -AC_ARG_WITH(safecodesrc,AS_HELP_STRING(--with-safecode,Location of SAFECode Source Code),AC_SUBST(SAFECODESRC,[$withval]),AC_SUBST(SAFECODESRC,[`cd ../safecode; pwd`])) +AC_ARG_WITH(safecodesrc,AS_HELP_STRING(--with-safecodesrc,Location of SAFECode Source Code),AC_SUBST(SAFECODESRC,[$withval]),AC_SUBST(SAFECODESRC,[`cd ../safecode; pwd`])) +AC_ARG_WITH(safecodeobj,AS_HELP_STRING(--with-safecodeobj,Location of SAFECode Object Code),AC_SUBST(SAFECODEOBJ,[$withval]),AC_SUBST(SAFECODEOBJ,[`cd ../safecode; pwd`])) dnl ** dnl * Create the output files Modified: poolalloc/trunk/configure URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/configure?rev=47094r1=47093r2=47094view=diff == --- poolalloc/trunk/configure (original) +++ poolalloc/trunk/configure Wed Feb 13 16:23:55 2008 @@ -311,7 +311,7 @@ # include unistd.h #endif -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS LLVM_SRC LLVM_OBJ CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP MMAP_FILE SAFECODESRC LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS LLVM_SRC LLVM_OBJ CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP MMAP_FILE SAFECODESRC SAFECODEOBJ LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -854,7 +854,8 @@ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-llvmsrc Location of LLVM Source Code --with-llvmobj Location of LLVM Object Code - --with-safecode Location of SAFECode Source Code + --with-safecodesrc Location of SAFECode Source Code + --with-safecodeobj Location of SAFECode Object Code Some influential environment variables: CC C compiler command @@ -3675,6 +3676,16 @@ fi; +# Check whether --with-safecodeobj or --without-safecodeobj was given. +if test ${with_safecodeobj+set} = set; then + withval=$with_safecodeobj + SAFECODEOBJ=$withval + +else + SAFECODEOBJ=`cd ../safecode; pwd` + +fi; + ac_config_headers=$ac_config_headers include/poolalloc/Config/config.h @@ -4320,6 +4331,7 @@ s,@EGREP@,$EGREP,;t t s,@MMAP_FILE@,$MMAP_FILE,;t t s,@SAFECODESRC@,$SAFECODESRC,;t t +s,@SAFECODEOBJ@,$SAFECODEOBJ,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47095 - /poolalloc/trunk/Makefile.common.in
Author: criswell Date: Wed Feb 13 16:25:17 2008 New Revision: 47095 URL: http://llvm.org/viewvc/llvm-project?rev=47095view=rev Log: Enhanced Makefiles so that building with SAFECode works. Modified: poolalloc/trunk/Makefile.common.in Modified: poolalloc/trunk/Makefile.common.in URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/Makefile.common.in?rev=47095r1=47094r2=47095view=diff == --- poolalloc/trunk/Makefile.common.in (original) +++ poolalloc/trunk/Makefile.common.in Wed Feb 13 16:25:17 2008 @@ -19,6 +19,16 @@ # Set the root directory of this project's install prefix PROJ_INSTALL_ROOT := @prefix@ +# Location of SAFECode source tree +SAFECODE_SRC_ROOT := @SAFECODESRC@ +SAFECODE_OBJ_ROOT := @SAFECODEOBJ@ + +# All of the code should additionally look inside the pool allocation source +# code for include files +CFLAGS += -I$(SAFECODE_SRC_ROOT)/include -I$(SAFECODE_OBJ_ROOT)/include +CXXFLAGS += -I$(SAFECODE_SRC_ROOT)/include -I$(SAFECODE_OBJ_ROOT)/include +CPPFLAGS += -I$(SAFECODE_SRC_ROOT)/include -I$(SAFECODE_OBJ_ROOT)/include + # Include LLVM's Master Makefile. include $(LLVM_SRC_ROOT)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r47023 - /poolalloc/trunk/include/poolalloc/PoolAllocate.h
Author: criswell Date: Tue Feb 12 14:33:14 2008 New Revision: 47023 URL: http://llvm.org/viewvc/llvm-project?rev=47023view=rev Log: Added getPoolType() method which allows other passes to determine the type of pool descriptors added by the Automatic Pool Allocation pass. Modified: poolalloc/trunk/include/poolalloc/PoolAllocate.h Modified: poolalloc/trunk/include/poolalloc/PoolAllocate.h URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/include/poolalloc/PoolAllocate.h?rev=47023r1=47022r2=47023view=diff == --- poolalloc/trunk/include/poolalloc/PoolAllocate.h (original) +++ poolalloc/trunk/include/poolalloc/PoolAllocate.h Tue Feb 12 14:33:14 2008 @@ -205,6 +205,12 @@ GlobalVariable *CreateGlobalPool(unsigned RecSize, unsigned Alignment, Instruction *IPHint = 0); + /// getPoolType - Return the type of a pool descriptor + const Type * getPoolType() { +Type * VoidPtrType = PointerType::getUnqual(Type::Int8Ty); +return ArrayType::get(VoidPtrType, 16); + } + private: /// AddPoolPrototypes - Add prototypes for the pool functions to the ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/pubs/2007-SOSP-SVA.html index.html
Changes in directory llvm-www/pubs: 2007-SOSP-SVA.html updated: 1.1 - 1.2 index.html updated: 1.59 - 1.60 --- Log message: Added our SOSP Audience Choice Award. --- Diffs of the changes: (+3 -1) 2007-SOSP-SVA.html |2 ++ index.html |2 +- 2 files changed, 3 insertions(+), 1 deletion(-) Index: llvm-www/pubs/2007-SOSP-SVA.html diff -u llvm-www/pubs/2007-SOSP-SVA.html:1.1 llvm-www/pubs/2007-SOSP-SVA.html:1.2 --- llvm-www/pubs/2007-SOSP-SVA.html:1.1Mon Sep 24 10:36:54 2007 +++ llvm-www/pubs/2007-SOSP-SVA.htmlThu Jan 17 11:17:45 2008 @@ -51,6 +51,8 @@ prevent the fifth one simply by compiling an additional kernel library. /blockquote +pbAwarded an SOSP 2007 Audience Choice Award/b/p + h2Download:/h2 h3Paper:/h3 ul Index: llvm-www/pubs/index.html diff -u llvm-www/pubs/index.html:1.59 llvm-www/pubs/index.html:1.60 --- llvm-www/pubs/index.html:1.59 Mon Sep 24 10:50:20 2007 +++ llvm-www/pubs/index.htmlThu Jan 17 11:17:45 2008 @@ -8,7 +8,7 @@ Operating Systems/abrJohn Criswell, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve br -iProceedings of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07)/i, Stevenson, WA, October 2007./li +iProceedings of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07)/i, Stevenson, WA, October 2007.bReceived an SOSP 2007 Audience Choice Award./b/li lia href=2007-08-16-TRANSACT-Tanger.htmlTransactifying Applications Using an Open Compiler Framework/abrPascal Felber, Christof Fetzer, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/pubs/index.html
Changes in directory llvm-www/pubs: index.html updated: 1.60 - 1.61 --- Log message: Added a line break before the SOSP award note. --- Diffs of the changes: (+4 -1) index.html |5 - 1 files changed, 4 insertions(+), 1 deletion(-) Index: llvm-www/pubs/index.html diff -u llvm-www/pubs/index.html:1.60 llvm-www/pubs/index.html:1.61 --- llvm-www/pubs/index.html:1.60 Thu Jan 17 11:17:45 2008 +++ llvm-www/pubs/index.htmlThu Jan 17 11:18:48 2008 @@ -8,7 +8,10 @@ Operating Systems/abrJohn Criswell, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve br -iProceedings of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07)/i, Stevenson, WA, October 2007.bReceived an SOSP 2007 Audience Choice Award./b/li +iProceedings of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07)/i, Stevenson, WA, October 2007. +br +bReceived an SOSP 2007 Audience Choice Award./b +/li lia href=2007-08-16-TRANSACT-Tanger.htmlTransactifying Applications Using an Open Compiler Framework/abrPascal Felber, Christof Fetzer, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r45264 - /poolalloc/trunk/lib/DSA/StdLibPass.cpp
Author: criswell Date: Thu Dec 20 13:47:14 2007 New Revision: 45264 URL: http://llvm.org/viewvc/llvm-project?rev=45264view=rev Log: Updated to use PointerType::getUnqual() to get pointer types. Modified: poolalloc/trunk/lib/DSA/StdLibPass.cpp Modified: poolalloc/trunk/lib/DSA/StdLibPass.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/StdLibPass.cpp?rev=45264r1=45263r2=45264view=diff == --- poolalloc/trunk/lib/DSA/StdLibPass.cpp (original) +++ poolalloc/trunk/lib/DSA/StdLibPass.cpp Thu Dec 20 13:47:14 2007 @@ -121,7 +121,7 @@ // argument node. DSNodeHandle EndNH = Graph.getNodeForValue(*(++(I-arg_begin(; EndNH.getNode()-clearNodeFlags()-setModifiedMarker(); -EndNH.getNode()-mergeTypeInfo(PointerType::get(Type::Int8Ty), +EndNH.getNode()-mergeTypeInfo(PointerType::getUnqual(Type::Int8Ty), EndNH.getOffset(), false); DSNodeHandle Link = EndNH.getLink(0); Link.mergeWith(Str); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r45267 - in /poolalloc/trunk/lib/PoolAllocate: AccessTrace.cpp Heuristic.cpp PointerCompress.cpp PoolAllocate.cpp PoolOptimize.cpp TransformFunctionBody.cpp
Author: criswell Date: Thu Dec 20 13:56:51 2007 New Revision: 45267 URL: http://llvm.org/viewvc/llvm-project?rev=45267view=rev Log: Updated code to use PointerType::getUnqual() to get pointer types. Disabled the dependence of the ConvertUnsafeAllocas pass; this appears to be a performance hack that is not strictly needed and should be implemented within the SAFECode passes. Modified: poolalloc/trunk/lib/PoolAllocate/AccessTrace.cpp poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp poolalloc/trunk/lib/PoolAllocate/PointerCompress.cpp poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp poolalloc/trunk/lib/PoolAllocate/PoolOptimize.cpp poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp Modified: poolalloc/trunk/lib/PoolAllocate/AccessTrace.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/AccessTrace.cpp?rev=45267r1=45266r2=45267view=diff == --- poolalloc/trunk/lib/PoolAllocate/AccessTrace.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/AccessTrace.cpp Thu Dec 20 13:56:51 2007 @@ -63,7 +63,7 @@ } void PoolAccessTrace::InitializeLibraryFunctions(Module M) { - VoidPtrTy = PointerType::get(Type::Int8Ty); + VoidPtrTy = PointerType::getUnqual(Type::Int8Ty); AccessTraceInitFn = M.getOrInsertFunction(poolaccesstraceinit, Type::VoidTy,NULL); Modified: poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp?rev=45267r1=45266r2=45267view=diff == --- poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp Thu Dec 20 13:56:51 2007 @@ -311,7 +311,7 @@ } else if (N-isArray() !N-isNodeCompletelyFolded()) { // We never pool allocate array nodes. PoolDescriptors[N] = -Constant::getNullValue(PointerType::get(PoolDescType)); +Constant::getNullValue(PointerType::getUnqual(PoolDescType)); ++NumNonprofit; #endif } else { @@ -349,7 +349,7 @@ // If this node has predecessors that are in different pools, don't // pool allocate this node. PoolDescriptors[N] = - Constant::getNullValue(PointerType::get(PoolDescType)); + Constant::getNullValue(PointerType::getUnqual(PoolDescType)); ++NumNonprofit; } else if (PredPool) { // If all of the predecessors of this node are already in a pool, @@ -370,7 +370,7 @@ // reason to pool allocate it, don't. assert(PredPool == 0); PoolDescriptors[N] = - Constant::getNullValue(PointerType::get(PoolDescType)); + Constant::getNullValue(PointerType::getUnqual(PoolDescType)); ++NumNonprofit; } } Modified: poolalloc/trunk/lib/PoolAllocate/PointerCompress.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PointerCompress.cpp?rev=45267r1=45266r2=45267view=diff == --- poolalloc/trunk/lib/PoolAllocate/PointerCompress.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/PointerCompress.cpp Thu Dec 20 13:56:51 2007 @@ -690,7 +690,7 @@ // The compressed type for the pool. FIXME: NOTE: This only works if 'Val' // pointed to the start of a node! - const Type *NTy = PointerType::get(PI-getNewType()); + const Type *NTy = PointerType::getUnqual(PI-getNewType()); //Check if we have a pointer to an array of Original Types this happens if //you do a malloc of [n x OrigTy] for a pool of Type OrigTy @@ -699,7 +699,7 @@ castPointerType(GEPI.getOperand(0)-getType())-getElementType(); if(isaArrayType(PT)) { if (castArrayType(PT)-getElementType() == PI-getNode()-getType()) -NTy = PointerType::get(ArrayType::get(PI-getNewType(), +NTy = PointerType::getUnqual(ArrayType::get(PI-getNewType(), castArrayType(PT)-getNumElements())); } } @@ -776,7 +776,7 @@ Value *SrcPtr = new GetElementPtrInst(BasePtr, Ops, LI.getOperand(0)-getName()+.pp, LI); const Type *DestTy = LoadingCompressedPtr ? MEMUINTTYPE : LI.getType(); - SrcPtr = CastInst::createPointerCast(SrcPtr, PointerType::get(DestTy), + SrcPtr = CastInst::createPointerCast(SrcPtr, PointerType::getUnqual(DestTy), SrcPtr-getName(), LI); std::string OldName = LI.getName(); LI.setName(); Value *NewLoad = new LoadInst(SrcPtr, OldName, LI); @@ -843,7 +843,7 @@ SI.getOperand(1)-getName()+.pp, SI); DestPtr =
[llvm-commits] [llvm] r44810 - /llvm/trunk/docs/WritingAnLLVMPass.html
Author: criswell Date: Mon Dec 10 14:26:29 2007 New Revision: 44810 URL: http://llvm.org/viewvc/llvm-project?rev=44810view=rev Log: Fix some wording. Modified: llvm/trunk/docs/WritingAnLLVMPass.html Modified: llvm/trunk/docs/WritingAnLLVMPass.html URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/WritingAnLLVMPass.html?rev=44810r1=44809r2=44810view=diff == --- llvm/trunk/docs/WritingAnLLVMPass.html (original) +++ llvm/trunk/docs/WritingAnLLVMPass.html Mon Dec 10 14:26:29 2007 @@ -1376,7 +1376,8 @@ traversing the entire program. It reduces the memory consumption of compiler, because, for example, only one a href=http://llvm.org/doxygen/classllvm_1_1DominatorSet.html;ttDominatorSet/tt/a -needs to be calculated at a time. This also makes it possible some a +needs to be calculated at a time. This also makes it possible to implement +some a href=#SMPinteresting enhancements/a in the future./p/li /ol ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r44683 - /poolalloc/trunk/include/dsa/DataStructure.h
Author: criswell Date: Fri Dec 7 15:05:23 2007 New Revision: 44683 URL: http://llvm.org/viewvc/llvm-project?rev=44683view=rev Log: Removed deleteValue() and copyValue() from TDDataStructure; these methods should be implemented by the base class. Modified: poolalloc/trunk/include/dsa/DataStructure.h Modified: poolalloc/trunk/include/dsa/DataStructure.h URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/include/dsa/DataStructure.h?rev=44683r1=44682r2=44683view=diff == --- poolalloc/trunk/include/dsa/DataStructure.h (original) +++ poolalloc/trunk/include/dsa/DataStructure.h Fri Dec 7 15:05:23 2007 @@ -272,13 +272,6 @@ virtual bool runOnModule(Module M); -#if 0 - /// deleteValue/copyValue - Interfaces to update the DSGraphs in the program. - /// These correspond to the interfaces defined in the AliasAnalysis class. - void deleteValue(Value *V); - void copyValue(Value *From, Value *To); -#endif - /// print - Print out the analysis results... /// void print(std::ostream O, const Module *M) const; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r44542 - /llvm/trunk/docs/WritingAnLLVMPass.html
Author: criswell Date: Mon Dec 3 13:34:25 2007 New Revision: 44542 URL: http://llvm.org/viewvc/llvm-project?rev=44542view=rev Log: Fixed typo. Modified: llvm/trunk/docs/WritingAnLLVMPass.html Modified: llvm/trunk/docs/WritingAnLLVMPass.html URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/WritingAnLLVMPass.html?rev=44542r1=44541r2=44542view=diff == --- llvm/trunk/docs/WritingAnLLVMPass.html (original) +++ llvm/trunk/docs/WritingAnLLVMPass.html Mon Dec 3 13:34:25 2007 @@ -996,7 +996,7 @@ div class=doc_text -pOne of the main responsibilities of the ttPassManager/tt is the make sure +pOne of the main responsibilities of the ttPassManager/tt is to make sure that passes interact with each other correctly. Because ttPassManager/tt tries to a href=#passmanageroptimize the execution of passes/a it must know how the passes interact with each other and what dependencies exist between ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r44441 - in /poolalloc/trunk/lib: DSA/DataStructure.cpp DSA/Local.cpp PoolAllocate/Heuristic.cpp PoolAllocate/PointerCompress.cpp PoolAllocate/TransformFunctionBody.cpp
Author: criswell Date: Thu Nov 29 14:37:55 2007 New Revision: 1 URL: http://llvm.org/viewvc/llvm-project?rev=1view=rev Log: Update use of TargetData-getTypeSize() to TargetData-getABITypeSize(). I believe we want all of the sizes to including ABI padding. Modified: poolalloc/trunk/lib/DSA/DataStructure.cpp poolalloc/trunk/lib/DSA/Local.cpp poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp poolalloc/trunk/lib/PoolAllocate/PointerCompress.cpp poolalloc/trunk/lib/PoolAllocate/TransformFunctionBody.cpp Modified: poolalloc/trunk/lib/DSA/DataStructure.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/DataStructure.cpp?rev=1r1=0r2=1view=diff == --- poolalloc/trunk/lib/DSA/DataStructure.cpp (original) +++ poolalloc/trunk/lib/DSA/DataStructure.cpp Thu Nov 29 14:37:55 2007 @@ -398,7 +398,7 @@ const ArrayType *AT = castArrayType(SS.Ty); ++SS.Idx; if (SS.Idx != AT-getNumElements()) { -SS.Offset += unsigned(TD.getTypeSize(AT-getElementType())); +SS.Offset += unsigned(TD.getABITypeSize(AT-getElementType())); return; } Stack.pop_back(); // At the end of the array @@ -433,7 +433,7 @@ assert(SS.Idx AT-getNumElements()); Stack.push_back(StackState(AT-getElementType(), SS.Offset+SS.Idx* - unsigned(TD.getTypeSize(AT-getElementType(); + unsigned(TD.getABITypeSize(AT-getElementType(); } } } @@ -490,7 +490,7 @@ (Size == 0 !Ty-isSized() !isArray()) || (Size == 1 Ty == Type::VoidTy isArray()) || (Size == 0 !Ty-isSized() !isArray()) || - (TD.getTypeSize(Ty) == Size)) + (TD.getABITypeSize(Ty) == Size)) Size member of DSNode doesn't match the type structure!); assert(NewTy != Type::VoidTy Cannot merge void type into DSNode!); @@ -513,7 +513,7 @@ } // Figure out how big the new type we're merging in is... - unsigned NewTySize = NewTy-isSized() ? (unsigned)TD.getTypeSize(NewTy) : 0; + unsigned NewTySize = NewTy-isSized() ? (unsigned)TD.getABITypeSize(NewTy) : 0; // Otherwise check to see if we can fold this type into the current node. If // we can't, we fold the node completely, if we can, we potentially update our @@ -653,7 +653,7 @@ unsigned O = 0; const Type *SubType = Ty; while (O Offset) { -assert(Offset-O TD.getTypeSize(SubType) Offset out of range!); +assert(Offset-O TD.getABITypeSize(SubType) Offset out of range!); switch (SubType-getTypeID()) { case Type::StructTyID: { @@ -668,7 +668,7 @@ } case Type::ArrayTyID: { SubType = castArrayType(SubType)-getElementType(); - unsigned ElSize = (unsigned)TD.getTypeSize(SubType); + unsigned ElSize = (unsigned)TD.getABITypeSize(SubType); unsigned Remainder = (Offset-O) % ElSize; O = Offset-Remainder; break; @@ -690,7 +690,7 @@ isaFunctionType(NewTy)) return false; unsigned SubTypeSize = SubType-isSized() ? - (unsigned)TD.getTypeSize(SubType) : 0; + (unsigned)TD.getABITypeSize(SubType) : 0; // Ok, we are getting desperate now. Check for physical subtyping, where we // just require each element in the node to be compatible. @@ -718,12 +718,12 @@ else NextPadSize = SubTypeSize; NextSubType = STy-getElementType(0); - NextSubTypeSize = (unsigned)TD.getTypeSize(NextSubType); + NextSubTypeSize = (unsigned)TD.getABITypeSize(NextSubType); break; } case Type::ArrayTyID: NextSubType = castArrayType(SubType)-getElementType(); - NextSubTypeSize = (unsigned)TD.getTypeSize(NextSubType); + NextSubTypeSize = (unsigned)TD.getABITypeSize(NextSubType); NextPadSize = NextSubTypeSize; break; default: ; Modified: poolalloc/trunk/lib/DSA/Local.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/Local.cpp?rev=1r1=0r2=1view=diff == --- poolalloc/trunk/lib/DSA/Local.cpp (original) +++ poolalloc/trunk/lib/DSA/Local.cpp Thu Nov 29 14:37:55 2007 @@ -459,7 +459,7 @@ if (ConstantInt *CS = dyn_castConstantInt(GEP.getOperand(i))) { Offset += (CS-getType()-isSigned() ? CS-getSExtValue() : CS-getZExtValue()) - * TD.getTypeSize(CurTy); + * TD.getABITypeSize(CurTy); } else { // Variable index into a node. We must merge all of the elements of the // sequential type here. @@ -467,7 +467,7 @@ cerr Pointer indexing not handled yet!\n; else { const ArrayType *ATy = castArrayType(STy); - unsigned ElSize = TD.getTypeSize(CurTy); +
[llvm-commits] [poolalloc] r44245 - in /poolalloc/branches/SVA/lib: DSA/Local.cpp DSA/Makefile PoolAllocate/Makefile PoolAllocate/TransformFunctionBody.cpp
Author: criswell Date: Mon Nov 19 15:44:41 2007 New Revision: 44245 URL: http://llvm.org/viewvc/llvm-project?rev=44245view=rev Log: Recognize malloc() and free() as allocators and deallocators, even in kernel mode. Build object files for linking with the SAFECode tool. Use the correct type for pools when running in kernel and non-kernel mode. Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp poolalloc/branches/SVA/lib/DSA/Makefile poolalloc/branches/SVA/lib/PoolAllocate/Makefile poolalloc/branches/SVA/lib/PoolAllocate/TransformFunctionBody.cpp Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Local.cpp?rev=44245r1=44244r2=44245view=diff == --- poolalloc/branches/SVA/lib/DSA/Local.cpp (original) +++ poolalloc/branches/SVA/lib/DSA/Local.cpp Mon Nov 19 15:44:41 2007 @@ -1802,6 +1802,7 @@ AllocList.push_back(__alloc_bootmem); AllocList.push_back( __get_free_pages); AllocList.push_back(pseudo_alloc); + AllocList.push_back(malloc); #if 0 FreeList.push_back(kfree); @@ -1810,6 +1811,7 @@ FreeList.push_back(free_pages); FreeList.push_back(kmem_cache_free); FreeList.push_back(pseudo_free); + FreeList.push_back(free); //figure out all system call numbers Function* lrs = M.getNamedFunction(llva_register_syscall); Modified: poolalloc/branches/SVA/lib/DSA/Makefile URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Makefile?rev=44245r1=44244r2=44245view=diff == --- poolalloc/branches/SVA/lib/DSA/Makefile (original) +++ poolalloc/branches/SVA/lib/DSA/Makefile Mon Nov 19 15:44:41 2007 @@ -8,8 +8,8 @@ ##===--===## LEVEL = ../.. SHARED_LIBRARY=1 -LOADABLE_MODULE = 1 -DONT_BUILD_RELINKED=1 +#LOADABLE_MODULE = 1 +#DONT_BUILD_RELINKED=1 LIBRARYNAME = LLVMDataStructure include $(LEVEL)/Makefile.common Modified: poolalloc/branches/SVA/lib/PoolAllocate/Makefile URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/PoolAllocate/Makefile?rev=44245r1=44244r2=44245view=diff == --- poolalloc/branches/SVA/lib/PoolAllocate/Makefile (original) +++ poolalloc/branches/SVA/lib/PoolAllocate/Makefile Mon Nov 19 15:44:41 2007 @@ -7,8 +7,8 @@ # Give the name of a library. This will build a dynamic version. # SHARED_LIBRARY=1 -LOADABLE_MODULE = 1 -DONT_BUILD_RELINKED=1 +#LOADABLE_MODULE = 1 +#DONT_BUILD_RELINKED=1 LIBRARYNAME=poolalloc # Modified: poolalloc/branches/SVA/lib/PoolAllocate/TransformFunctionBody.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/PoolAllocate/TransformFunctionBody.cpp?rev=44245r1=44244r2=44245view=diff == --- poolalloc/branches/SVA/lib/PoolAllocate/TransformFunctionBody.cpp (original) +++ poolalloc/branches/SVA/lib/PoolAllocate/TransformFunctionBody.cpp Mon Nov 19 15:44:41 2007 @@ -649,7 +649,11 @@ //Dinakar we need pooldescriptors for allocas in the callee if it escapes BasicBlock::iterator InsertPt = TheCall-getParent()-getParent()-front().begin(); Type *VoidPtrTy = PointerType::get(Type::SByteTy); +#ifdef SAFECODE + ArgVal = new AllocaInst(ArrayType::get(VoidPtrTy, 50), 0, PD, InsertPt); +#else ArgVal = new AllocaInst(ArrayType::get(VoidPtrTy, 16), 0, PD, InsertPt); +#endif Value *ElSize = ConstantInt::get(Type::UIntTy,0); Value *Align = ConstantInt::get(Type::UIntTy,0); new CallInst(PAInfo.PoolInit, make_vector(ArgVal, ElSize, Align, 0),, TheCall); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r44018 - /llvm/branches/SVA/docs/WritingAnLLVMPass.html
Author: criswell Date: Mon Nov 12 10:57:56 2007 New Revision: 44018 URL: http://llvm.org/viewvc/llvm-project?rev=44018view=rev Log: Fix typo. Modified: llvm/branches/SVA/docs/WritingAnLLVMPass.html Modified: llvm/branches/SVA/docs/WritingAnLLVMPass.html URL: http://llvm.org/viewvc/llvm-project/llvm/branches/SVA/docs/WritingAnLLVMPass.html?rev=44018r1=44017r2=44018view=diff == --- llvm/branches/SVA/docs/WritingAnLLVMPass.html (original) +++ llvm/branches/SVA/docs/WritingAnLLVMPass.html Mon Nov 12 10:57:56 2007 @@ -1065,7 +1065,7 @@ div class=doc_text -pNow that we understand the basics of how passes are defined, how the are +pNow that we understand the basics of how passes are defined, how they are used, and how they are required from other passes, it's time to get a little bit fancier. All of the pass relationships that we have seen so far are very simple: one pass depends on one other specific pass to be run before it can run. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r43851 - /poolalloc/branches/SVA/README
Author: criswell Date: Wed Nov 7 17:14:07 2007 New Revision: 43851 URL: http://llvm.org/viewvc/llvm-project?rev=43851view=rev Log: Testing another commit and reverting previous change. Modified: poolalloc/branches/SVA/README Modified: poolalloc/branches/SVA/README URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/README?rev=43851r1=43850r2=43851view=diff == --- poolalloc/branches/SVA/README (original) +++ poolalloc/branches/SVA/README Wed Nov 7 17:14:07 2007 @@ -69,4 +69,3 @@ about LLVM. The list is low volume. You can subscribe to it at http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev. - ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r43850 - /poolalloc/branches/SVA/README
Author: criswell Date: Wed Nov 7 17:13:44 2007 New Revision: 43850 URL: http://llvm.org/viewvc/llvm-project?rev=43850view=rev Log: Test commit. Modified: poolalloc/branches/SVA/README Modified: poolalloc/branches/SVA/README URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/README?rev=43850r1=43849r2=43850view=diff == --- poolalloc/branches/SVA/README (original) +++ poolalloc/branches/SVA/README Wed Nov 7 17:13:44 2007 @@ -69,3 +69,4 @@ about LLVM. The list is low volume. You can subscribe to it at http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev. + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r43878 - /poolalloc/branches/SVA/README
Author: criswell Date: Wed Nov 7 22:04:43 2007 New Revision: 43878 URL: http://llvm.org/viewvc/llvm-project?rev=43878view=rev Log: Test commit. Modified: poolalloc/branches/SVA/README Modified: poolalloc/branches/SVA/README URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/README?rev=43878r1=43877r2=43878view=diff == --- poolalloc/branches/SVA/README (original) +++ poolalloc/branches/SVA/README Wed Nov 7 22:04:43 2007 @@ -69,3 +69,4 @@ about LLVM. The list is low volume. You can subscribe to it at http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev. + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/sva/index.html
Changes in directory llvm-www/sva: index.html added (r1.1) --- Log message: Skeleton index page. --- Diffs of the changes: (+13 -0) index.html | 13 + 1 files changed, 13 insertions(+) Index: llvm-www/sva/index.html diff -c /dev/null llvm-www/sva/index.html:1.1 *** /dev/null Tue Nov 6 20:15:52 2007 --- llvm-www/sva/index.html Tue Nov 6 20:15:42 2007 *** *** 0 --- 1,13 + html + + title + Secure Virtual Architecture + /title + + body + center + h1Secure Virtual Architecture/h1 + /center + /body + /html + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/sva/
Changes in directory llvm-www/sva: --- Log message: Directory /home/vadve/shared/PublicCVS/llvm-www/sva added to the repository --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.23 - 1.24 --- Log message: Changed Academic/Research to Academic Research per Vikram's request. --- Diffs of the changes: (+2 -2) Users.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.23 llvm-www/Users.html:1.24 --- llvm-www/Users.html:1.23Tue Oct 30 21:22:28 2007 +++ llvm-www/Users.html Wed Oct 31 09:29:25 2007 @@ -76,7 +76,7 @@ /table br -div class=www_subsectionAcademic/Research Users/div +div class=www_subsectionAcademic Research Users/div div class=www_text br @@ -272,6 +272,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/10/31 02:22:28 $ + Last modified: $Date: 2007/10/31 14:29:25 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.22 - 1.23 --- Log message: Added David Penry's research group. --- Diffs of the changes: (+10 -1) Users.html | 11 ++- 1 files changed, 10 insertions(+), 1 deletion(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.22 llvm-www/Users.html:1.23 --- llvm-www/Users.html:1.22Wed Oct 3 23:39:57 2007 +++ llvm-www/Users.html Tue Oct 30 21:22:28 2007 @@ -95,6 +95,15 @@ /td /tr + !-- Authorized by David Penry in email to Vikram -- + tr +tda href=http://www.byu.edu;Brigham Young University/a/td +tda href=http://www.et.byu.edu/groups/bardd;David Penry's Research Group/a/td +tdMicroarchitectural Simulator Partitioning and Synthesisbr +Adaptive Online Parallel Optimization/td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-July/006246.html -- tr tda href=http://www.ugent.be/;Ghent University/a/td @@ -263,6 +272,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/10/04 04:39:57 $ + Last modified: $Date: 2007/10/31 02:22:28 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r43388 - /poolalloc/trunk/configure
Author: criswell Date: Fri Oct 26 13:31:24 2007 New Revision: 43388 URL: http://llvm.org/viewvc/llvm-project?rev=43388view=rev Log: Updated configure script for Andrew's latest changes. Modified: poolalloc/trunk/configure Modified: poolalloc/trunk/configure URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/configure?rev=43388r1=43387r2=43388view=diff == --- poolalloc/trunk/configure (original) +++ poolalloc/trunk/configure Fri Oct 26 13:31:24 2007 @@ -1318,32 +1318,6 @@ LLVM_SRC_ROOT=`(cd $srcdir/../..; pwd)` LLVM_OBJ_ROOT=`(cd ../..; pwd)` -ac_aux_dir= -for ac_dir in $LLVM_SRC_ROOT/autoconf $srcdir/$LLVM_SRC_ROOT/autoconf; do - if test -f $ac_dir/install-sh; then -ac_aux_dir=$ac_dir -ac_install_sh=$ac_aux_dir/install-sh -c -break - elif test -f $ac_dir/install.sh; then -ac_aux_dir=$ac_dir -ac_install_sh=$ac_aux_dir/install.sh -c -break - elif test -f $ac_dir/shtool; then -ac_aux_dir=$ac_dir -ac_install_sh=$ac_aux_dir/shtool install -c -break - fi -done -if test -z $ac_aux_dir; then - { { echo $as_me:$LINENO: error: cannot find install-sh or install.sh in $LLVM_SRC_ROOT/autoconf $srcdir/$LLVM_SRC_ROOT/autoconf 5 -echo $as_me: error: cannot find install-sh or install.sh in $LLVM_SRC_ROOT/autoconf $srcdir/$LLVM_SRC_ROOT/autoconf 2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess=$SHELL $ac_aux_dir/config.guess -ac_config_sub=$SHELL $ac_aux_dir/config.sub -ac_configure=$SHELL $ac_aux_dir/configure # This should be Cygnus configure. - - # Check whether --with-llvmsrc or --without-llvmsrc was given. if test ${with_llvmsrc+set} = set; then @@ -1368,6 +1342,32 @@ +ac_aux_dir= +for ac_dir in $LLVM_SRC/autoconf $srcdir/$LLVM_SRC/autoconf; do + if test -f $ac_dir/install-sh; then +ac_aux_dir=$ac_dir +ac_install_sh=$ac_aux_dir/install-sh -c +break + elif test -f $ac_dir/install.sh; then +ac_aux_dir=$ac_dir +ac_install_sh=$ac_aux_dir/install.sh -c +break + elif test -f $ac_dir/shtool; then +ac_aux_dir=$ac_dir +ac_install_sh=$ac_aux_dir/shtool install -c +break + fi +done +if test -z $ac_aux_dir; then + { { echo $as_me:$LINENO: error: cannot find install-sh or install.sh in $LLVM_SRC/autoconf $srcdir/$LLVM_SRC/autoconf 5 +echo $as_me: error: cannot find install-sh or install.sh in $LLVM_SRC/autoconf $srcdir/$LLVM_SRC/autoconf 2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess=$SHELL $ac_aux_dir/config.guess +ac_config_sub=$SHELL $ac_aux_dir/config.sub +ac_configure=$SHELL $ac_aux_dir/configure # This should be Cygnus configure. + + ac_config_files=$ac_config_files Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r43229 - /poolalloc/branches/SVA/lib/DSA/Local.cpp
Author: criswell Date: Mon Oct 22 14:57:26 2007 New Revision: 43229 URL: http://llvm.org/viewvc/llvm-project?rev=43229view=rev Log: Make DSA compile correctly in kernel and non-kernel mode. Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Local.cpp?rev=43229r1=43228r2=43229view=diff == --- poolalloc/branches/SVA/lib/DSA/Local.cpp (original) +++ poolalloc/branches/SVA/lib/DSA/Local.cpp Mon Oct 22 14:57:26 2007 @@ -1490,8 +1490,8 @@ N-setModifiedMarker()-setReadMarker(); return true; #endif - } #endif + } return false; } @@ -1553,12 +1553,14 @@ } } +#ifdef LLVA_KERNEL if (isSyscall6) { assert (isaConstantInt(CS.getArgument(0)) llva_syscall6 called with non-const argument); ConstantInt * C = dyn_castConstantInt(CS.getArgument(0)); Callee = syscalls[C-getSExtValue()]; assert (Callee llva_syscall: No target for system call vector); } +#endif // Set up the return value... DSNodeHandle RetVal; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/pubs/2007-SOSP-SVA.html
Changes in directory llvm-www/pubs: 2007-SOSP-SVA.html added (r1.1) --- Log message: Adding SOSP 2007 paper on Secure Virtual Architecture. --- Diffs of the changes: (+83 -0) 2007-SOSP-SVA.html | 83 + 1 files changed, 83 insertions(+) Index: llvm-www/pubs/2007-SOSP-SVA.html diff -c /dev/null llvm-www/pubs/2007-SOSP-SVA.html:1.1 *** /dev/null Mon Sep 24 10:37:04 2007 --- llvm-www/pubs/2007-SOSP-SVA.htmlMon Sep 24 10:36:54 2007 *** *** 0 --- 1,83 + !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN + html + head + meta http-equiv=Content-Type content=text/html; charset=UTF-8 + link rel=stylesheet href=../llvm.css type=text/css media=screen + titleSecure Virtual Architecture: A Safe Execution Environment for + Commodity Operating Systems/title + /head + body + + div class=pub_title + Secure Virtual Architecture: A Safe Execution Environment for + Commodity Operating Systems + /div + div class=pub_author + John Criswell, + Andrew Lenharth, + Dinakar Dhurjati, and + a href=http://www.cs.uiuc.edu/~vadve;Vikram Adve/a + /div + + h2Abstract:/h2 + blockquote + This paper describes an efficient and robust + approach to provide a isafe execution environment/i for an entire + operating system, such as Linux, and all its applications. The + approach, which we call iSecure Virtual Architecture/i (SVA), + defines a virtual, low-level, typed instruction set suitable for + executing iall/i code on a system, including kernel and + application code. SVA code is translated for execution by a virtual + machine transparently, offline or online. + SVA aims to enforce ifine-grained (object level) memory safety/i, + icontrol-flow integrity/i, + itype safety for a subset of objects/i, and isound analysis/i. + A virtual machine implementing SVA achieves these goals by using a + novel approach that exploits properties of existing memory pools in + the kernel and by preserving the kernel's explicit control over + memory, including custom allocators and explicit deallocation. + Furthermore, the safety properties can be encoded compactly as + extensions to the SVA type system, + allowing the (complex) safety checking compiler to be outside + the trusted computing base. SVA also defines a set of OS interface + operations that abstract all privileged hardware instructions, + allowing the virtual machine to monitor all privileged operations + and control the physical resources on a given hardware platform. + We have ported the Linux kernel to SVA, treating it as a new + architecture, and made only minimal code changes (less than 300 lines of code) + to the machine-independent parts of the kernel and device drivers. + SVA is able to prevent 4 out of 5 memory safety exploits previously reported + for the Linux 2.4.22 kernel for which exploit code is available, and would + prevent the fifth one simply by compiling an additional kernel library. + /blockquote + + h2Download:/h2 + h3Paper:/h3 + ul + lia href=2007-SOSP-SVA.pdf + Secure Virtual Architecture: A Safe Execution Environment for + Commodity Operating Systems + /a (PDF)/li + /ul + + h2BibTeX Entry:/h2 + pre + @inproceedings{SVA:SOSP07, + author = {John Criswell, Andrew Lenharth , Dinakar Dhurjati, and Vikram Adve}, + title = {Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems}, + booktitle = {SOSP '07: Proceedings of the Twenty First ACM Symposium on Operating Systems Principles}, + month = {October}, + year = {2007}, + location = {Stevenson, WA}, + } + /pre + + !-- *** -- + hr + a href=http://jigsaw.w3.org/css-validator/check/referer;img + src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a + a href=http://validator.w3.org/check/referer;img + src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01! //a + + /body + /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/pubs/2007-10-17-SOSP-SVA.html
Changes in directory llvm-www/pubs: 2007-10-17-SOSP-SVA.html added (r1.1) --- Log message: --- Diffs of the changes: (+83 -0) 2007-10-17-SOSP-SVA.html | 83 +++ 1 files changed, 83 insertions(+) Index: llvm-www/pubs/2007-10-17-SOSP-SVA.html diff -c /dev/null llvm-www/pubs/2007-10-17-SOSP-SVA.html:1.1 *** /dev/null Mon Sep 24 10:43:40 2007 --- llvm-www/pubs/2007-10-17-SOSP-SVA.html Mon Sep 24 10:43:30 2007 *** *** 0 --- 1,83 + !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN + html + head + meta http-equiv=Content-Type content=text/html; charset=UTF-8 + link rel=stylesheet href=../llvm.css type=text/css media=screen + titleSecure Virtual Architecture: A Safe Execution Environment for + Commodity Operating Systems/title + /head + body + + div class=pub_title + Secure Virtual Architecture: A Safe Execution Environment for + Commodity Operating Systems + /div + div class=pub_author + John Criswell, + Andrew Lenharth, + Dinakar Dhurjati, and + a href=http://www.cs.uiuc.edu/~vadve;Vikram Adve/a + /div + + h2Abstract:/h2 + blockquote + This paper describes an efficient and robust + approach to provide a isafe execution environment/i for an entire + operating system, such as Linux, and all its applications. The + approach, which we call iSecure Virtual Architecture/i (SVA), + defines a virtual, low-level, typed instruction set suitable for + executing iall/i code on a system, including kernel and + application code. SVA code is translated for execution by a virtual + machine transparently, offline or online. + SVA aims to enforce ifine-grained (object level) memory safety/i, + icontrol-flow integrity/i, + itype safety for a subset of objects/i, and isound analysis/i. + A virtual machine implementing SVA achieves these goals by using a + novel approach that exploits properties of existing memory pools in + the kernel and by preserving the kernel's explicit control over + memory, including custom allocators and explicit deallocation. + Furthermore, the safety properties can be encoded compactly as + extensions to the SVA type system, + allowing the (complex) safety checking compiler to be outside + the trusted computing base. SVA also defines a set of OS interface + operations that abstract all privileged hardware instructions, + allowing the virtual machine to monitor all privileged operations + and control the physical resources on a given hardware platform. + We have ported the Linux kernel to SVA, treating it as a new + architecture, and made only minimal code changes (less than 300 lines of code) + to the machine-independent parts of the kernel and device drivers. + SVA is able to prevent 4 out of 5 memory safety exploits previously reported + for the Linux 2.4.22 kernel for which exploit code is available, and would + prevent the fifth one simply by compiling an additional kernel library. + /blockquote + + h2Download:/h2 + h3Paper:/h3 + ul + lia href=2007-SOSP-SVA.pdf + Secure Virtual Architecture: A Safe Execution Environment for + Commodity Operating Systems + /a (PDF)/li + /ul + + h2BibTeX Entry:/h2 + pre + @inproceedings{SVA:SOSP07, + author = {John Criswell, Andrew Lenharth , Dinakar Dhurjati, and Vikram Adve}, + title = {Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems}, + booktitle = {SOSP '07: Proceedings of the Twenty First ACM Symposium on Operating Systems Principles}, + month = {October}, + year = {2007}, + location = {Stevenson, WA}, + } + /pre + + !-- *** -- + hr + a href=http://jigsaw.w3.org/css-validator/check/referer;img + src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a + a href=http://validator.w3.org/check/referer;img + src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01! //a + + /body + /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/pubs/index.html
Changes in directory llvm-www/pubs: index.html updated: 1.58 - 1.59 --- Log message: Added SOSP paper on Secure Virtual Architecture. --- Diffs of the changes: (+7 -0) index.html |7 +++ 1 files changed, 7 insertions(+) Index: llvm-www/pubs/index.html diff -u llvm-www/pubs/index.html:1.58 llvm-www/pubs/index.html:1.59 --- llvm-www/pubs/index.html:1.58 Tue Aug 28 00:17:12 2007 +++ llvm-www/pubs/index.htmlMon Sep 24 10:50:20 2007 @@ -3,6 +3,13 @@ ol +lia href=2007-SOSP-SVA.html +Secure Virtual Architecture: A Safe Execution Environment for Commodity +Operating Systems/abrJohn Criswell, Andrew Lenharth, Dinakar Dhurjati, and +Vikram Adve +br +iProceedings of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07)/i, Stevenson, WA, October 2007./li + lia href=2007-08-16-TRANSACT-Tanger.htmlTransactifying Applications Using an Open Compiler Framework/abrPascal Felber, Christof Fetzer, Ulrich Mueller, Torvald Riegel, Martin Suesskraut, and Heiko Sturzrehmbr ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/pubs/2007-SOSP-SVA.pdf
Changes in directory llvm-www/pubs: 2007-SOSP-SVA.pdf added (r1.1) --- Log message: SOSP 2007 paper. --- Diffs of the changes: (+0 -0) 2007-SOSP-SVA.pdf |0 1 files changed Index: llvm-www/pubs/2007-SOSP-SVA.pdf ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r40844 - /poolalloc/branches/SVA/lib/DSA/Local.cpp
Author: criswell Date: Sun Aug 5 13:46:18 2007 New Revision: 40844 URL: http://llvm.org/viewvc/llvm-project?rev=40844view=rev Log: Don't consider kmalloc/kfree as regular allocators. Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Local.cpp?rev=40844r1=40843r2=40844view=diff == --- poolalloc/branches/SVA/lib/DSA/Local.cpp (original) +++ poolalloc/branches/SVA/lib/DSA/Local.cpp Sun Aug 5 13:46:18 2007 @@ -1747,13 +1747,17 @@ bool LocalDataStructures::runOnModule(Module M) { #ifdef LLVA_KERNEL +#if 0 AllocList.push_back(kmalloc); +#endif AllocList.push_back(__vmalloc); AllocList.push_back(kmem_cache_alloc); AllocList.push_back(__alloc_bootmem); AllocList.push_back( __get_free_pages); +#if 0 FreeList.push_back(kfree); +#endif FreeList.push_back(vfree); FreeList.push_back(free_pages); FreeList.push_back(kmem_cache_free); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r40845 - /poolalloc/branches/SVA/lib/DSA/Devirt.cpp
Author: criswell Date: Sun Aug 5 13:47:30 2007 New Revision: 40845 URL: http://llvm.org/viewvc/llvm-project?rev=40845view=rev Log: Modified code so that the indirect call is performed even if there is no matching target. This allows the kernel to print an error message and continue operating when a function check fails. Modified: poolalloc/branches/SVA/lib/DSA/Devirt.cpp Modified: poolalloc/branches/SVA/lib/DSA/Devirt.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Devirt.cpp?rev=40845r1=40844r2=40845view=diff == --- poolalloc/branches/SVA/lib/DSA/Devirt.cpp (original) +++ poolalloc/branches/SVA/lib/DSA/Devirt.cpp Sun Aug 5 13:47:30 2007 @@ -6,6 +6,7 @@ // the University of Illinois Open Source License. See LICENSE.TXT for details. // //===--===// +#include llvm/Constants.h #include llvm/Transforms/IPO.h #include dsa/CallTargets.h #include llvm/Pass.h @@ -23,6 +24,32 @@ using namespace llvm; +// +// Function: castTo() +// +// Description: // Given an LLVM value, insert a cast instruction to make it a given type. +// +static inline Value * +castTo (Value * V, const Type * Ty, Instruction * InsertPt) { // + // Don't bother creating a cast if it's already the correct type. + // + if (V-getType() == Ty) +return V; + + // + // If it's a constant, just create a constant expression. + // + if (Constant * C = dyn_castConstant(V)) { +Constant * CE = ConstantExpr::getCast (C, Ty); +return CE; + } + + // + // Otherwise, insert a cast instruction. + // + return new CastInst(V, Ty, cast, InsertPt); +} + namespace { static cl::optint @@ -35,10 +62,23 @@ class Devirtualize : public ModulePass { +Function * IndirectFuncFail; + std::mapstd::pairconst Type*, std::vectorFunction* , Function* cache; int fnum; -Function* buildBounce(CallSite cs, std::vectorFunction* Targets, Module M) { +// +// Method: buildBounds() +// +// Description: +// Replaces the given call site with a call to a bound function. The +// bounce function compares the function pointer to one of the given +// target functions and calls the function directly if the pointer +// matches. +Function* buildBounce (CallSite cs, + std::vectorFunction* Targets, + Module M) { + Value* ptr = cs.getCalledValue(); const FunctionType* OrigType = castFunctionType(castPointerType(ptr-getType())-getElementType());; @@ -74,17 +114,39 @@ new ReturnInst(call, BL); } - //hookup the test chain + // Create a set of tests that search for the correct function target + // and call it directly. If none of the target functions match, + // call pchk_ind_fail() to note the failure. + + // + // Create the failure basic block. Then, add the following: + // o the terminating instruction + // o the indirect call to the original function + // o a call to phck_ind_fail() + // BasicBlock* tail = new BasicBlock(fail, F, F-getEntryBlock()); - new CallInst(M.getOrInsertFunction(pchk_ind_fail, Type::VoidTy, NULL), - , tail); - new UnreachableInst(tail); + Instruction * InsertPt; +#if 0 + InsertPt = new UnreachableInst(tail); +#else + Value* p = F-arg_begin(); + Instruction * realCall = new CallInst (p, fargs, , tail); + if (OrigType-getReturnType() == Type::VoidTy) +InsertPt = new ReturnInst(0, tail); + else +InsertPt = new ReturnInst(realCall, tail); +#endif + Value * FuncVoidPtr = castTo (p, +PointerType::get(Type::SByteTy), +realCall); + new CallInst (IndirectFuncFail, FuncVoidPtr, , realCall); + + // Create basic blocks for valid target functions for (std::vectorFunction*::iterator i = Targets.begin(), e = Targets.end(); i != e; ++i) { BasicBlock* TB = targets[*i]; BasicBlock* newB = new BasicBlock(test. + (*i)-getName(), F, F-getEntryBlock()); -Value* p = F-arg_begin(); SetCondInst* setcc = new SetCondInst(Instruction::SetEQ, *i, p, sc, newB); new BranchInst(TB, tail, setcc, newB); tail = newB; @@ -96,7 +158,15 @@ virtual bool runOnModule(Module M) { CallTargetFinder* CTF = getAnalysisCallTargetFinder(); - Function* ams = M.getNamedFunction(llva_assert_match_sig); + // Get references to functions that are needed in the module + Function* ams = M.getNamedFunction (llva_assert_match_sig); + if (!ams) +return false; + + IndirectFuncFail = M.getOrInsertFunction (pchk_ind_fail, +Type::VoidTy, +
[llvm-commits] [poolalloc] r40814 - /poolalloc/branches/SVA/lib/DSA/Local.cpp
Author: criswell Date: Sat Aug 4 11:23:46 2007 New Revision: 40814 URL: http://llvm.org/viewvc/llvm-project?rev=40814view=rev Log: Added assertion. Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Local.cpp?rev=40814r1=40813r2=40814view=diff == --- poolalloc/branches/SVA/lib/DSA/Local.cpp (original) +++ poolalloc/branches/SVA/lib/DSA/Local.cpp Sat Aug 4 11:23:46 2007 @@ -1517,6 +1517,7 @@ assert (isaConstantInt(CS.getArgument(0)) llva_syscall6 called with non-const argument); ConstantInt * C = dyn_castConstantInt(CS.getArgument(0)); Callee = syscalls[C-getSExtValue()]; +assert (Callee llva_syscall: No target for system call vector); } // Set up the return value... ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r39821 - /poolalloc/branches/SVA/lib/DSA/Local.cpp
Author: criswell Date: Fri Jul 13 14:35:24 2007 New Revision: 39821 URL: http://llvm.org/viewvc/llvm-project?rev=39821view=rev Log: Changed the system call number/function map to record the actual system call number instead of the LLVM Value representing the number. Multiple LLVM Values can represent the same number. Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp Modified: poolalloc/branches/SVA/lib/DSA/Local.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/branches/SVA/lib/DSA/Local.cpp?rev=39821r1=39820r2=39821view=diff == --- poolalloc/branches/SVA/lib/DSA/Local.cpp (original) +++ poolalloc/branches/SVA/lib/DSA/Local.cpp Fri Jul 13 14:35:24 2007 @@ -40,7 +40,7 @@ static Statistic CacheAllocs (dsa, Number of kmem_cache_alloc calls); static Statistic KMallocs(dsa, Number of kmalloc calls); static Statistic GlobalPools (dsa, Number of global pools); -std::mapValue*, Function* syscalls; +std::mapunsigned int, Function* syscalls; #endif Statistic stat_unknown (dsa, Number of markunknowns); @@ -1443,8 +1443,9 @@ } if (isSyscall6) { -assert (syscalls[CS.getArgument(0)] No registered syscall by that number); -Callee = syscalls[CS.getArgument(0)]; +assert (isaConstantInt(CS.getArgument(0)) llva_syscall6 called with non-const argument); +ConstantInt * C = dyn_castConstantInt(CS.getArgument(0)); +Callee = syscalls[C-getSExtValue()]; } // Set up the return value... @@ -1675,8 +1676,9 @@ if (lrs) for (Value::use_iterator ii = lrs-use_begin(), ee = lrs-use_end(); ii != ee; ++ii) if (CallInst* CI = dyn_castCallInst(*ii)) -if (CI-getCalledFunction() == lrs) { - Value* num = CI-getOperand(1); +if ((CI-getCalledFunction() == lrs) (isaConstantInt(CI-getOperand(1 { + ConstantInt * CNum = dyn_castConstantInt(CI-getOperand(1)); + unsigned int num = CNum-getSExtValue(); Value* fun = CI-getOperand(2); if (ConstantExpr* CE = dyn_castConstantExpr(fun)) if (CE-getOpcode() == Instruction::Cast) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [poolalloc] r37830 - /poolalloc/trunk/README
Author: criswell Date: Sun Jul 1 09:24:13 2007 New Revision: 37830 URL: http://llvm.org/viewvc/llvm-project?rev=37830view=rev Log: Test commit. Modified: poolalloc/trunk/README Modified: poolalloc/trunk/README URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/README?rev=37830r1=37829r2=37830view=diff == --- poolalloc/trunk/README (original) +++ poolalloc/trunk/README Sun Jul 1 09:24:13 2007 @@ -69,3 +69,4 @@ about LLVM. The list is low volume. You can subscribe to it at http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev. + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r37807 - /llvm/trunk/CREDITS.TXT
Author: criswell Date: Fri Jun 29 13:24:05 2007 New Revision: 37807 URL: http://llvm.org/viewvc/llvm-project?rev=37807view=rev Log: Updated my entry as a test commit. Removed QMTest (it is long gone). Acknowledge the fleeting'ness of my original autoconf work. Mention that I fixed some bugs. Modified: llvm/trunk/CREDITS.TXT Modified: llvm/trunk/CREDITS.TXT URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CREDITS.TXT?rev=37807r1=37806r2=37807view=diff == --- llvm/trunk/CREDITS.TXT (original) +++ llvm/trunk/CREDITS.TXT Fri Jun 29 13:24:05 2007 @@ -62,7 +62,7 @@ N: John T. Criswell E: [EMAIL PROTECTED] -D: Autoconf support, QMTest database, documentation improvements +D: Original Autoconf support, documentation improvements, bug fixes N: Rafael Avila de Espindola E: [EMAIL PROTECTED] ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r37809 - /llvm/branches/SVA/README.txt
Author: criswell Date: Fri Jun 29 14:04:53 2007 New Revision: 37809 URL: http://llvm.org/viewvc/llvm-project?rev=37809view=rev Log: Test commit on SVA branch. Modified: llvm/branches/SVA/README.txt Modified: llvm/branches/SVA/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/branches/SVA/README.txt?rev=37809r1=37808r2=37809view=diff == --- llvm/branches/SVA/README.txt (original) +++ llvm/branches/SVA/README.txt Fri Jun 29 14:04:53 2007 @@ -10,3 +10,4 @@ Please see the HTML documentation provided in docs/index.html for further assistance with LLVM. + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r37811 - /llvm/trunk/docs/GettingStarted.html
Author: criswell Date: Fri Jun 29 14:12:31 2007 New Revision: 37811 URL: http://llvm.org/viewvc/llvm-project?rev=37811view=rev Log: Applied Reid's patch. Long live Subversion! Modified: llvm/trunk/docs/GettingStarted.html Modified: llvm/trunk/docs/GettingStarted.html URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/GettingStarted.html?rev=37811r1=37810r2=37811view=diff == --- llvm/trunk/docs/GettingStarted.html (original) +++ llvm/trunk/docs/GettingStarted.html Fri Jun 29 14:12:31 2007 @@ -27,7 +27,7 @@ lia href=#terminologyTerminology and Notation/a lia href=#environmentSetting Up Your Environment/a lia href=#unpackUnpacking the LLVM Archives/a - lia href=#checkoutCheckout LLVM from CVS/a + lia href=#checkoutCheckout LLVM from Subversion/a lia href=#installcfInstall the GCC Front End/a lia href=#configLocal LLVM Configuration/a lia href=#compileCompiling the LLVM Suite Source Code/a @@ -38,7 +38,6 @@ lia href=#layoutProgram layout/a ol - lia href=#cvsdirttCVS/tt directories/a lia href=#examplesttllvm/examples/tt/a lia href=#includettllvm/include/tt/a lia href=#libttllvm/lib/tt/a @@ -127,7 +126,7 @@ liGet the LLVM Source Code ul -liWith the distributed files (or use a href=#checkoutCVS/a): +liWith the distributed files (or use a href=#checkoutSVN/a): ol littcd iwhere-you-want-llvm-to-live/i/tt littgunzip --stdout llvm-iversion/i.tar.gz | tar -xvf -/tt @@ -137,7 +136,7 @@ lib[Optional]/b Get the Test Suite Source Code ul -liWith the distributed files (or use a href=#checkoutCVS/a): +liWith the distributed files (or use a href=#checkoutSVN/a): ol littcd iwhere-you-want-llvm-to-live/i/tt littcd llvm/projects/tt @@ -385,9 +384,9 @@ /tr tr - tda href=https://www.cvshome.org/downloads.html;CVS/a/td - tdge;1.11/td - tdCVS access to LLVMsupa href=#sf22/a/sup/td + tda href=http://subversion.tigris.org/project_packages.html;SVN/a/td + tdge;1.3/td + tdSubversion access to LLVMsupa href=#sf22/a/sup/td /tr tr @@ -446,9 +445,9 @@ lia name=sf1Only the C and C++ languages are needed so there's no need to build the other languages for LLVM's purposes./a See a href=#brokengccbelow/a for specific version info./li -lia name=sf2You only need CVS if you intend to build from the +lia name=sf2You only need Subversion if you intend to build from the latest LLVM sources. If you're working from a release distribution, you - don't need CVS./a/li + don't need Subversion./a/li lia name=sf3Only needed if you want to run the automated test suite in the ttllvm/test/tt directory./a/li lia name=sf4If you want to make changes to the configure scripts, @@ -681,23 +680,23 @@ !-- === -- div class=doc_subsection - a name=checkoutCheckout LLVM from CVS/a + a name=checkoutCheckout LLVM from Subversion/a /div div class=doc_text -pIf you have access to our CVS repository, you can get a fresh copy of -the entire source code. All you need to do is check it out from CVS as +pIf you have access to our Subversion repository, you can get a fresh copy of +the entire source code. All you need to do is check it out from Subvresion as follows:/p ul -littcd iwhere-you-want-llvm-to-live/i/tt - littcvs -d :pserver:[EMAIL PROTECTED]:/var/cvs/llvm login/tt - liHit the return key when prompted for the password. - littcvs -z3 -d :pserver:[EMAIL PROTECTED]:/var/cvs/llvm co - llvm/tt + littcd iwhere-you-want-llvm-to-live/i/tt/li + liRead-Only: ttsvn co http://llvm.org/svn/llvm-project/trunk/llvm llvm/tt/li + liRead-Write:ttsvn co https://[EMAIL PROTECTED]/svn/llvm-project/trunk/llvm +llvm/tt/li /ul + pThis will create an 'ttllvm/tt' directory in the current directory and fully populate it with the LLVM source code, Makefiles, test directories, and local copies of documentation files./p @@ -721,14 +720,14 @@ /ul pIf you would like to get the LLVM test suite (a separate package as of 1.4), -you get it from the CVS repository:/p +you get it from the Subversion repository:/p pre cd llvm/projects - cvs -z3 -d :pserver:[EMAIL PROTECTED]:/var/cvs/llvm co llvm-test + svn so http://llvm.org/svn/llvm-project/test-suite/trunk test-suite /pre pBy placing it in the ttllvm/projects/tt, it will be automatically configured by the LLVM configure script as well as automatically updated when -you run ttcvs update/tt./p +you run ttsvn update/tt./p pIf you would like to get the GCC front end source code, you can also get it and build it yourself. Please follow a href=CFEBuildInstrs.htmlthese @@ -783,7 +782,8 @@ div class=doc_text -pOnce checked out from the CVS repository, the LLVM suite
[llvm-commits] [llvm] r37812 - /llvm/trunk/utils/NewNightlyTest.pl
Author: criswell Date: Fri Jun 29 14:12:50 2007 New Revision: 37812 URL: http://llvm.org/viewvc/llvm-project?rev=37812view=rev Log: Applied Reid's patch. Long live Subversion! Modified: llvm/trunk/utils/NewNightlyTest.pl Modified: llvm/trunk/utils/NewNightlyTest.pl URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/NewNightlyTest.pl?rev=37812r1=37811r2=37812view=diff == --- llvm/trunk/utils/NewNightlyTest.pl (original) +++ llvm/trunk/utils/NewNightlyTest.pl Fri Jun 29 14:12:50 2007 @@ -122,7 +122,7 @@ $CONFIGUREARGS=; $nickname=; $NOTEST=0; -$USESVN=0; +$USESVN=1; $NORUNNINGTESTS=0; $MAKECMD=make; $SUBMITSERVER = llvm.org; @@ -170,7 +170,6 @@ else { $GCCPATH=; } if (/^-cvstag/) { $CVSCOOPT .= -r $ARGV[0]; shift; next; } else { $CVSCOOPT=;} - if (/^-usesvn/) { $USESVN = 1; } if (/^-svnurl/) { $SVNURL = $ARGV[0]; shift; next; } if (/^-target/) { $CONFIGUREARGS .= --target=$ARGV[0]; shift; next; } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r37810 - /llvm/branches/SVA/README.txt
Author: criswell Date: Fri Jun 29 14:07:03 2007 New Revision: 37810 URL: http://llvm.org/viewvc/llvm-project?rev=37810view=rev Log: Undo previous commit. Modified: llvm/branches/SVA/README.txt Modified: llvm/branches/SVA/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/branches/SVA/README.txt?rev=37810r1=37809r2=37810view=diff == --- llvm/branches/SVA/README.txt (original) +++ llvm/branches/SVA/README.txt Fri Jun 29 14:07:03 2007 @@ -10,4 +10,3 @@ Please see the HTML documentation provided in docs/index.html for further assistance with LLVM. - ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm/lib/Support/ConstantRange.cpp
Changes in directory llvm/lib/Support: ConstantRange.cpp (r1.16) removed --- Log message: This has moved to lib/Analysis. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/SVNMigration.html
Changes in directory llvm-www: SVNMigration.html updated: 1.14 - 1.15 --- Log message: Bumped date back. --- Diffs of the changes: (+2 -2) SVNMigration.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/SVNMigration.html diff -u llvm-www/SVNMigration.html:1.14 llvm-www/SVNMigration.html:1.15 --- llvm-www/SVNMigration.html:1.14 Fri Apr 20 22:43:01 2007 +++ llvm-www/SVNMigration.html Fri Jun 15 15:03:47 2007 @@ -8,7 +8,7 @@ div class=www_subsectionSchedule/div div class=www_text - pbWhen/b: June 5, 2007, approx. 1pm CDT (Central Time USA) or 18:00 GMT)./p + pbWhen/b: (Tentatively) June 25, 2007, approx. 1pm CDT (Central Time USA) or 18:00 GMT)./p pbDuration/b: 4 hours/p pbNotices:/b: Notices will be sent out 1 week before, 1 day before, and 1 hour before the conversion actually takes place./p @@ -219,6 +219,6 @@ src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a a href=http://validator.w3.org/check/referer;img src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a -br/Last modified: $Date: 2007/04/21 03:43:01 $ +br/Last modified: $Date: 2007/06/15 20:03:47 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/devmtg/2007-05/08-Criswell-SVA.pdf
Changes in directory llvm-www/devmtg/2007-05: 08-Criswell-SVA.pdf added (r1.1) --- Log message: PDF of Slides --- Diffs of the changes: (+0 -0) 08-Criswell-SVA.pdf |0 1 files changed Index: llvm-www/devmtg/2007-05/08-Criswell-SVA.pdf ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/devmtg/2007-05/index.html
Changes in directory llvm-www/devmtg/2007-05: index.html updated: 1.8 - 1.9 --- Log message: Added slides in PDF and PowerPoint format. --- Diffs of the changes: (+3 -1) index.html |4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm-www/devmtg/2007-05/index.html diff -u llvm-www/devmtg/2007-05/index.html:1.8 llvm-www/devmtg/2007-05/index.html:1.9 --- llvm-www/devmtg/2007-05/index.html:1.8 Thu May 31 17:23:04 2007 +++ llvm-www/devmtg/2007-05/index.html Fri Jun 15 15:13:04 2007 @@ -97,6 +97,8 @@ Processor Element./td /tr trtda href=08-Criswell-SVA.movvideo/a/td +trtda href=08-Criswell-SVA.pdfslides (PDF)/a/td +trtda href=08-Criswell-SVA.pptslides (PPT)/a/td tdJohnnbsp;Criswell/td tdbSecure Virtual Architecture/b - A presentation on our research to create a virtual machine that operates below the operating system and a @@ -245,6 +247,6 @@ src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a a href=http://validator.w3.org/check/referer;img src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a -br/Last modified: $Date: 2007/05/31 22:23:04 $ +br/Last modified: $Date: 2007/06/15 20:13:04 $ /address !--#include virtual=../../footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/devmtg/2007-05/index.html
Changes in directory llvm-www/devmtg/2007-05: index.html updated: 1.9 - 1.10 --- Log message: Fixed formatting. --- Diffs of the changes: (+4 -4) index.html |8 1 files changed, 4 insertions(+), 4 deletions(-) Index: llvm-www/devmtg/2007-05/index.html diff -u llvm-www/devmtg/2007-05/index.html:1.9 llvm-www/devmtg/2007-05/index.html:1.10 --- llvm-www/devmtg/2007-05/index.html:1.9 Fri Jun 15 15:13:04 2007 +++ llvm-www/devmtg/2007-05/index.html Fri Jun 15 15:15:14 2007 @@ -96,9 +96,9 @@ implementation of an LLVM back-end Target for the Cell BE Symbiotic Processor Element./td /tr -trtda href=08-Criswell-SVA.movvideo/a/td -trtda href=08-Criswell-SVA.pdfslides (PDF)/a/td -trtda href=08-Criswell-SVA.pptslides (PPT)/a/td +trtda href=08-Criswell-SVA.movvideo/abr +a href=08-Criswell-SVA.pdfslides (PDF)/abr +a href=08-Criswell-SVA.pptslides (PPT)/a tdJohnnbsp;Criswell/td tdbSecure Virtual Architecture/b - A presentation on our research to create a virtual machine that operates below the operating system and a @@ -247,6 +247,6 @@ src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a a href=http://validator.w3.org/check/referer;img src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a -br/Last modified: $Date: 2007/06/15 20:13:04 $ +br/Last modified: $Date: 2007/06/15 20:15:14 $ /address !--#include virtual=../../footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm/lib/Target/CBackend/Writer.cpp
Changes in directory llvm/lib/Target/CBackend: Writer.cpp updated: 1.280.4.2 - 1.280.4.3 --- Log message: Hack to see branch to label functions as pure and const. Also fixed the creation of function prototypes with extern linkage. --- Diffs of the changes: (+14 -4) Writer.cpp | 18 ++ 1 files changed, 14 insertions(+), 4 deletions(-) Index: llvm/lib/Target/CBackend/Writer.cpp diff -u llvm/lib/Target/CBackend/Writer.cpp:1.280.4.2 llvm/lib/Target/CBackend/Writer.cpp:1.280.4.3 --- llvm/lib/Target/CBackend/Writer.cpp:1.280.4.2 Mon Mar 19 00:37:44 2007 +++ llvm/lib/Target/CBackend/Writer.cpp Wed May 16 14:49:42 2007 @@ -1247,11 +1247,20 @@ Out __ATTRIBUTE_DTOR__; #if 1 - if ((I-getName() == exactcheck) || (I-getName() == exactcheck2) || - (I-getName() == poolcheck) || - (I-getName() == poolcheckarray) || (I-getName() == poolcheckarray_i) || - (I-getName() == pchk_bounds) || (I-getName() == pchk_bounds_i)) { + if ((I-getName() == exactcheck) || + (I-getName() == exactcheck2) || + (I-getName() == exactcheck3)) Out __attribute__ ((const)); + if ((I-getName() == poolcheck) || + (I-getName() == poolcheckarray) || + (I-getName() == poolcheckarray_i) || + (I-getName() == getBounds) || + (I-getName() == getBounds_i) || + (I-getName() == getBegin) || + (I-getName() == getEnd) || + (I-getName() == pchk_bounds) || + (I-getName() == pchk_bounds_i)) { +Out __attribute__ ((pure)); } #endif if (I-hasName() I-getName()[0] == 1) @@ -1453,6 +1462,7 @@ bool isCStructReturn = F-getCallingConv() == CallingConv::CSRet; if (F-hasInternalLinkage()) Out static ; + if (F-isExternal()) Out extern ; if (F-hasDLLImportLinkage()) Out __declspec(dllimport) ; if (F-hasDLLExportLinkage()) Out __declspec(dllexport) ; switch (F-getCallingConv()) { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/DevMtgMay2007.html
Changes in directory llvm-www: DevMtgMay2007.html updated: 1.134 - 1.135 --- Log message: Update abstract. --- Diffs of the changes: (+2 -2) DevMtgMay2007.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/DevMtgMay2007.html diff -u llvm-www/DevMtgMay2007.html:1.134 llvm-www/DevMtgMay2007.html:1.135 --- llvm-www/DevMtgMay2007.html:1.134 Thu May 10 16:23:06 2007 +++ llvm-www/DevMtgMay2007.html Fri May 11 10:31:18 2007 @@ -139,7 +139,7 @@ Processor Element./td /tr trtd13:50/tdtd14:10/tdtdJohnnbsp;Criswell/td - tdbSecure Virtual Architecture/b. A presentation on our research to create a virtual machine that operates below the operating system and some of the novel security capabilities that our architecture can enable./td + tdbSecure Virtual Architecture/b. A presentation on our research to create a virtual machine that operates below the operating system and a brief introduction to some of the novel security capabilities that our architecture can enable./td /tr trtd14:10/tdtd14:30/tdtdJeffnbsp;Cohen/td tdbUsing LLVM For The Jolt Compiler/b. Jeff will share his @@ -354,6 +354,6 @@ src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a a href=http://validator.w3.org/check/referer;img src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a -br/Last modified: $Date: 2007/05/10 21:23:06 $ +br/Last modified: $Date: 2007/05/11 15:31:18 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/DevMtgMay2007.html
Changes in directory llvm-www: DevMtgMay2007.html updated: 1.132 - 1.133 --- Log message: Added a brief description of my talk. --- Diffs of the changes: (+3 -2) DevMtgMay2007.html |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Index: llvm-www/DevMtgMay2007.html diff -u llvm-www/DevMtgMay2007.html:1.132 llvm-www/DevMtgMay2007.html:1.133 --- llvm-www/DevMtgMay2007.html:1.132 Thu May 10 03:02:40 2007 +++ llvm-www/DevMtgMay2007.html Thu May 10 09:38:27 2007 @@ -139,7 +139,8 @@ Processor Element./td /tr trtd13:50/tdtd14:10/tdtdJohnnbsp;Criswell/td - tdbUIUC Research/b. To be determined./td + tdbSecure Virtual Architecture/b. A presentation on our research to create a virtual machine that operates below the operating system and enforces +security properties for all software, including the operating system./td /tr trtd14:10/tdtd14:30/tdtdJeffnbsp;Cohen/td tdbUsing LLVM For The Jolt Compiler/b. Jeff will share his @@ -354,6 +355,6 @@ src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a a href=http://validator.w3.org/check/referer;img src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a -br/Last modified: $Date: 2007/05/10 08:02:40 $ +br/Last modified: $Date: 2007/05/10 14:38:27 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/DevMtgMay2007.html
Changes in directory llvm-www: DevMtgMay2007.html updated: 1.133 - 1.134 --- Log message: Updated to my presentation abstract. --- Diffs of the changes: (+2 -3) DevMtgMay2007.html |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) Index: llvm-www/DevMtgMay2007.html diff -u llvm-www/DevMtgMay2007.html:1.133 llvm-www/DevMtgMay2007.html:1.134 --- llvm-www/DevMtgMay2007.html:1.133 Thu May 10 09:38:27 2007 +++ llvm-www/DevMtgMay2007.html Thu May 10 16:23:06 2007 @@ -139,8 +139,7 @@ Processor Element./td /tr trtd13:50/tdtd14:10/tdtdJohnnbsp;Criswell/td - tdbSecure Virtual Architecture/b. A presentation on our research to create a virtual machine that operates below the operating system and enforces -security properties for all software, including the operating system./td + tdbSecure Virtual Architecture/b. A presentation on our research to create a virtual machine that operates below the operating system and some of the novel security capabilities that our architecture can enable./td /tr trtd14:10/tdtd14:30/tdtdJeffnbsp;Cohen/td tdbUsing LLVM For The Jolt Compiler/b. Jeff will share his @@ -355,6 +354,6 @@ src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a a href=http://validator.w3.org/check/referer;img src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a -br/Last modified: $Date: 2007/05/10 14:38:27 $ +br/Last modified: $Date: 2007/05/10 21:23:06 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: CVSROOT/loginfo
Changes in directory CVSROOT: loginfo updated: 1.16 - 1.17 --- Log message: Commits for the internal CVS repository should not be made public. --- Diffs of the changes: (+1 -1) loginfo |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: CVSROOT/loginfo diff -u CVSROOT/loginfo:1.16 CVSROOT/loginfo:1.17 --- CVSROOT/loginfo:1.16Thu Apr 26 09:44:57 2007 +++ CVSROOT/loginfo Mon May 7 14:38:26 2007 @@ -32,4 +32,4 @@ ^llva /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^Papers/2007-CCS-PrivBracket /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^safecode /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] -^CVSROOT /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} llvm-commits@cs.uiuc.edu +^CVSROOT /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: CVSROOT/loginfo
Changes in directory CVSROOT: loginfo updated: 1.15 - 1.16 --- Log message: Added entry for paper I'm working on. --- Diffs of the changes: (+1 -0) loginfo |1 + 1 files changed, 1 insertion(+) Index: CVSROOT/loginfo diff -u CVSROOT/loginfo:1.15 CVSROOT/loginfo:1.16 --- CVSROOT/loginfo:1.15Wed Mar 14 09:21:10 2007 +++ CVSROOT/loginfo Thu Apr 26 09:44:57 2007 @@ -30,5 +30,6 @@ ^llvm-java /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} llvm-commits@cs.uiuc.edu ^privbracket /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] [EMAIL PROTECTED] ^llva /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] +^Papers/2007-CCS-PrivBracket /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^safecode /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^CVSROOT /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} llvm-commits@cs.uiuc.edu ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.15 - 1.16 --- Log message: Add Abo Akademi University's NECST project per Sebastien Lafond's request. --- Diffs of the changes: (+9 -1) Users.html | 10 +- 1 files changed, 9 insertions(+), 1 deletion(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.15 llvm-www/Users.html:1.16 --- llvm-www/Users.html:1.15Sat Apr 7 11:22:50 2007 +++ llvm-www/Users.html Mon Apr 23 10:44:54 2007 @@ -81,6 +81,14 @@ thDescription/th /tr + !-- Requested by Johan Lilius's Research Group -- + tr +tda href=http://www.abo.fi/;Ã…bo Akademi University/a/td +tdJohan Lilius's Research Group, ES Lab/td +tda href=http://www.abo.fi/~johan.lilius/research/page12/page0/necst.html;NECST project/a +/td + /tr + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-July/006246.html -- tr tda href=http://www.ugent.be/;Ghent University/a/td @@ -238,6 +246,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/04/07 16:22:50 $ + Last modified: $Date: 2007/04/23 15:44:54 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm-poolalloc/lib/DSA/Local.cpp
Changes in directory llvm-poolalloc/lib/DSA: Local.cpp updated: 1.158.2.4.2.8 - 1.158.2.4.2.9 --- Log message: Reversed the order of metapools when merging. This ensures that the object on which we call the merge() method is never NULL. --- Diffs of the changes: (+1 -1) Local.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm-poolalloc/lib/DSA/Local.cpp diff -u llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.8 llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.9 --- llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.8 Tue Mar 13 20:24:01 2007 +++ llvm-poolalloc/lib/DSA/Local.cppMon Apr 9 15:20:07 2007 @@ -1466,7 +1466,7 @@ if (L.getPool() != N.getPool()) { std::cerr kmem_cache_alloc recovered merge\n; MetaPoolHandle L(locs[V]), N(DSH.getNode()-getMP()); -locs[V]-merge(DSH.getNode()-getMP()); +DSH.getNode()-getMP()-merge(locs[V]); } locs[V] = DSH.getNode()-getMP(); } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm/lib/Transforms/IPO/Inliner.cpp
Changes in directory llvm/lib/Transforms/IPO: Inliner.cpp updated: 1.30.2.1 - 1.30.2.1.2.1 --- Log message: Adde dthe no-inline option to force the inliner not to inline specified functions. --- Diffs of the changes: (+25 -1) Inliner.cpp | 26 +- 1 files changed, 25 insertions(+), 1 deletion(-) Index: llvm/lib/Transforms/IPO/Inliner.cpp diff -u llvm/lib/Transforms/IPO/Inliner.cpp:1.30.2.1 llvm/lib/Transforms/IPO/Inliner.cpp:1.30.2.1.2.1 --- llvm/lib/Transforms/IPO/Inliner.cpp:1.30.2.1Thu Nov 9 18:06:24 2006 +++ llvm/lib/Transforms/IPO/Inliner.cpp Fri Apr 6 10:14:03 2007 @@ -33,9 +33,24 @@ cl::optunsigned // FIXME: 200 is VERY conservative InlineLimit(inline-threshold, cl::Hidden, cl::init(200), cl::desc(Control the amount of inlining to perform (default = 200))); + + // NoInlineList - A list of functions that should *not* be inlined, + //regardless of inlining policy + cl::liststd::string + NoInlineList(no-inline, cl::value_desc(list), + cl::desc(A list of functions that should not be inlined), + cl::CommaSeparated); + + // A set of the functions to preserve + std::setstd::string PreserveFuncs; } -Inliner::Inliner() : InlineThreshold(InlineLimit) {} +Inliner::Inliner() : InlineThreshold(InlineLimit) { + // Create a set that contains a list of the functions that will not be + // inlined. + if (!(NoInlineList.empty())) + PreserveFuncs.insert (NoInlineList.begin(), NoInlineList.end()); +} // InlineCallIfPossible - If it is possible to inline the specified call site, // do so and update the CallGraph for this operation. @@ -123,6 +138,15 @@ continue; } +// Do not inline functions that we have explicity said we don't want to +// inline. +if (!PreserveFuncs.count ((Callee-getName( { + std::swap(CallSites[CSi], CallSites.back()); + CallSites.pop_back(); + --CSi; + continue; +} + // If the policy determines that we should inline this function, // try to do so. CallSite CS = CallSites[CSi]; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.9 - 1.10 --- Log message: Added Ageia. --- Diffs of the changes: (+7 -1) Users.html |8 +++- 1 files changed, 7 insertions(+), 1 deletion(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.9 llvm-www/Users.html:1.10 --- llvm-www/Users.html:1.9 Fri Apr 6 12:39:42 2007 +++ llvm-www/Users.html Fri Apr 6 15:17:48 2007 @@ -33,6 +33,12 @@ tdCompiler for reconfigurable processor/td /tr + !-- Secured from company -- + tr +tdAgeia Technoogies/td +tdOptimizer and back end for custom processor/td + /tr + tr tdAutoESL Design Technologies, Inc./td tdElectronic System Level (ESL) to Silicon/td @@ -232,6 +238,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/04/06 17:39:42 $ + Last modified: $Date: 2007/04/06 20:17:48 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.10 - 1.11 --- Log message: Fix spelling. --- Diffs of the changes: (+2 -2) Users.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.10 llvm-www/Users.html:1.11 --- llvm-www/Users.html:1.10Fri Apr 6 15:17:48 2007 +++ llvm-www/Users.html Fri Apr 6 15:18:36 2007 @@ -35,7 +35,7 @@ !-- Secured from company -- tr -tdAgeia Technoogies/td +tdAgeia Technologies/td tdOptimizer and back end for custom processor/td /tr @@ -238,6 +238,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/04/06 20:17:48 $ + Last modified: $Date: 2007/04/06 20:18:36 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.11 - 1.12 --- Log message: Put companies in alphabetical order. --- Diffs of the changes: (+7 -7) Users.html | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.11 llvm-www/Users.html:1.12 --- llvm-www/Users.html:1.11Fri Apr 6 15:18:36 2007 +++ llvm-www/Users.html Fri Apr 6 15:23:32 2007 @@ -21,6 +21,12 @@ thDescription/th /tr + !-- Secured from company -- + tr +tdAgeia Technologies/td +tdOptimizer and back end for custom processor/td + /tr + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006492.html -- tr tdApple Computer/td @@ -33,12 +39,6 @@ tdCompiler for reconfigurable processor/td /tr - !-- Secured from company -- - tr -tdAgeia Technologies/td -tdOptimizer and back end for custom processor/td - /tr - tr tdAutoESL Design Technologies, Inc./td tdElectronic System Level (ESL) to Silicon/td @@ -238,6 +238,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/04/06 20:18:36 $ + Last modified: $Date: 2007/04/06 20:23:32 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html updated: 1.1 - 1.2 --- Log message: Added Cray to company list. Added more research groups. Added a few education institutions. Removed class column from educational list as we only have that information for UIUC. --- Diffs of the changes: (+58 -3) Users.html | 61 ++--- 1 files changed, 58 insertions(+), 3 deletions(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.1 llvm-www/Users.html:1.2 --- llvm-www/Users.html:1.1 Tue Apr 3 17:31:48 2007 +++ llvm-www/Users.html Wed Apr 4 09:02:52 2007 @@ -33,6 +33,12 @@ tdOpenGL Engine in MacOS X (Leopard)/td /tr + !-- Commits list -- + tr +tdCray/td +tdBackend for x86/64/td + /tr + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2004-October/002329.html -- tr tdHue AS/td @@ -71,6 +77,12 @@ tdInstrumentation of software/td /tr + tr +tda href=http://www.rice.edu;Rice University/a/td +tdKeith Cooper's Research Group/td +td/td + /tr + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2005-July/004661.html -- tr tda href=http://www.nyu.edu;New York University/a/td @@ -98,6 +110,14 @@ tdxPilot behavioral synthesis system/td /tr + tr +td + a href=http://www.ucla.edu/;University of California, Los Angeles/a +/td +tdJens Palsberg/td +td/td + /tr + !-- That's us. -- tr td @@ -108,6 +128,31 @@ /td tdAll LLVM Group Research Projects/td /tr + + tr +td +a href=http://www.uiuc.edu;University of Illinois at Urbana-Champaign/a +/td +tdRavi Iyer's Research Group/td +tdRuntime monitoring for software reliability/td + /tr + + tr +td +a href=http://www.uiuc.edu;University of Illinois at Urbana-Champaign/a +/td +tdDavid Padua's Research Group/td +tdAutomatic replication for software reliability/td + /tr + + tr +td +a href=http://www.uiuc.edu;University of Illinois at Urbana-Champaign/a +/td +tdSanjay Patel's Research Group/td +tdMicroarchitecture research/td + /tr + /table /div @@ -121,14 +166,24 @@ table border=1 cellspacing=0 cellpadding=2 tr thOrganization/th -thClass/th /tr tr td a href=http://www.uiuc.edu;University of Illinois at Urbana-Champaign/a /td -tdCS 426, CS 526, CS 433, CS 533/td + /tr + + tr +td +a href=http://www.unsw.edu.au/;University of New South Wales, Australia/a +/td + /tr + + tr +td + a href=http://www.ucla.edu/;University of California, Los Angeles/a +/td /tr /table @@ -166,6 +221,6 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr - Last modified: $Date: 2007/04/03 22:31:48 $ + Last modified: $Date: 2007/04/04 14:02:52 $ /address !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/header.incl
Changes in directory llvm-www: header.incl updated: 1.55 - 1.56 --- Log message: Add the LLVM users page to the site map sidebar. Rename LLVM People to LLVM Developers to avoid confusion between Users page and Developers page. If others have suggestions for a different naming scheme, please let me know. --- Diffs of the changes: (+2 -1) header.incl |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm-www/header.incl diff -u llvm-www/header.incl:1.55 llvm-www/header.incl:1.56 --- llvm-www/header.incl:1.55 Tue Mar 20 15:06:19 2007 +++ llvm-www/header.inclWed Apr 4 09:14:21 2007 @@ -29,7 +29,8 @@ a href=/ProjectsWithLLVM/LLVMnbsp;Projects/abr/ a href=/OpenProjects.htmlOpennbsp;Projects/abr/ a href=/InTheNews.htmlNewsnbsp;Articles/abr/ -a href=/developers.cgiLLVMnbsp;People/abr/ +a href=/Users.htmlLLVMnbsp;Users/abr/ +a href=/developers.cgiLLVMnbsp;Developers/abr/ a href=/bugs/Bugnbsp;Database/abr/ /div ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/Users.html
Changes in directory llvm-www: Users.html added (r1.1) --- Log message: List of Users of LLVM. --- Diffs of the changes: (+171 -0) Users.html | 171 + 1 files changed, 171 insertions(+) Index: llvm-www/Users.html diff -c /dev/null llvm-www/Users.html:1.1 *** /dev/null Tue Apr 3 17:31:59 2007 --- llvm-www/Users.html Tue Apr 3 17:31:48 2007 *** *** 0 --- 1,171 + !--#include virtual=header.incl -- + + div class=www_sectiontitleLLVM Users/div + + p + This page lists the people and organizations that have used or are currently + using LLVM in research, education, industry, or open source development. It + only includes users who have publicly discussed their use of LLVM in one form + or another (mentioned it on llvmdev, published work on it, etc.). + We believe there are many other users not listed here and would welcome a brief + note telling us about your use so that we can add you to the list. + /p + + div class=www_subsectionIndustry Users/div + div class=www_text + + br + table border=1 cellspacing=0 cellpadding=2 + tr + thCompany/th + thDescription/th + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060227/032334.html -- + tr + tdAscenium/td + tdCompiler for reconfigurable processor/td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006492.html -- + tr + tdApple Computer/td + tdOpenGL Engine in MacOS X (Leopard)/td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2004-October/002329.html -- + tr + tdHue AS/td + tdJIT compilation of shader programs/td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006455.html -- + tr + tdMobileye/td + tdCompiler for stack machine architecture/td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-January/005150.html -- + tr + tdSiemens Technology-to-Business Center/td + tdCompiler for embedded VLIW processor/td + /tr + /table + + br + div class=www_subsectionAcademic/Research Users/div + div class=www_text + + br + table border=1 cellspacing=0 cellpadding=2 + tr + thOrganization/th + thPeople/th + thDescription/th + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-July/006246.html -- + tr + tda href=http://www.ugent.be/;Ghent University/a/td + tdKenneth Hoste/td + tdInstrumentation of software/td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2005-July/004661.html -- + tr + tda href=http://www.nyu.edu;New York University/a/td + tdAnna Zaks /td + tdValidation of interprocedural optimizations/td + /tr + + !-- http://www.cse.ucsd.edu/~mmccrack/lens -- + tr + td + a href=http://www.ucsd.edu/;University of California, San Diego/a + /td + tdMichael McCracken /td + td + a href=http://www.cse.ucsd.edu/~mmccrack/lens/;LENS Framework/a + /td + /tr + + !-- http://lists.cs.uiuc.edu/pipermail/llvmdev/2005-November/004939.html -- + tr + td + a href=http://www.ucla.edu/;University of California, Los Angeles/a + /td + tdJason Cong /td + tdxPilot behavioral synthesis system/td + /tr + + !-- That's us. -- + tr + td + a href=http://www.uiuc.edu;University of Illinois at Urbana-Champaign/a + /td + td + a href=http://llvm.org;Vikram Adve's Research Group/a + /td + tdAll LLVM Group Research Projects/td + /tr + /table + /div + + br + + div class=www_subsectionEducational Users/div + div class=www_text + + br + + table border=1 cellspacing=0 cellpadding=2 + tr + thOrganization/th + thClass/th + /tr + + tr + td + a href=http://www.uiuc.edu;University of Illinois at Urbana-Champaign/a + /td + tdCS 426, CS 526, CS 433, CS 533/td + /tr + + /table + /div + + br + + div class=www_subsectionOpen Source Projects/div + div class=www_text + + br + + table border=1 cellspacing=0 cellpadding=2 + tr + thProject/th + thDescription/th + /tr + + !-- http://llvm.org/ProjectsWithLLVM/#pypy -- + tr + tda href=http://pypy.org;PyPy Project/a/td + tdPython interpreter written in Python. Targets LLVM and C./td + /tr + /table + /div + + /div + + !-- *** -- + hr + address + a href=http://jigsaw.w3.org/css-validator/check/referer;img + src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a + a href=http://validator.w3.org/check/referer;img + src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a + + br/a href=mailto:[EMAIL PROTECTED]LLVM Development List/abr + Last modified: $Date: 2007/04/03 22:31:48 $ + /address + !--#include virtual=footer.incl -- ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu
[llvm-commits] CVS: CVSROOT/loginfo
Changes in directory CVSROOT: loginfo updated: 1.14 - 1.15 --- Log message: Email criswell when changes to the llva tree occur. --- Diffs of the changes: (+1 -0) loginfo |1 + 1 files changed, 1 insertion(+) Index: CVSROOT/loginfo diff -u CVSROOT/loginfo:1.14 CVSROOT/loginfo:1.15 --- CVSROOT/loginfo:1.14Fri Nov 3 10:48:30 2006 +++ CVSROOT/loginfo Wed Mar 14 08:21:10 2007 @@ -29,5 +29,6 @@ ^llva-emu /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^llvm-java /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} llvm-commits@cs.uiuc.edu ^privbracket /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] [EMAIL PROTECTED] +^llva /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^safecode /home/vadve/shared/InternalCVS/CVSROOT/commit-diffs.pl %{sVv} [EMAIL PROTECTED] ^CVSROOT /home/vadve/shared/PublicCVS/CVSROOT/commit-diffs.pl %{sVv} llvm-commits@cs.uiuc.edu ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm-poolalloc/lib/DSA/DataStructure.cpp
Changes in directory llvm-poolalloc/lib/DSA: DataStructure.cpp updated: 1.248.2.4.2.2 - 1.248.2.4.2.3 --- Log message: Mark globals that are accessable to external functions incomplete. --- Diffs of the changes: (+3 -1) DataStructure.cpp |4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm-poolalloc/lib/DSA/DataStructure.cpp diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4.2.2 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4.2.3 --- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4.2.2 Tue Mar 6 16:44:38 2007 +++ llvm-poolalloc/lib/DSA/DataStructure.cppWed Mar 7 16:49:43 2007 @@ -1996,7 +1996,9 @@ for (DSScalarMap::global_iterator I = ScalarMap.global_begin(), E = ScalarMap.global_end(); I != E; ++I) if (GlobalVariable *GV = dyn_castGlobalVariable(*I)) - if (!GV-hasInitializer() ||// Always mark external globals incomp. + if (!GV-hasInitializer() || // Always mark external globals incomp. + GV-hasExternalLinkage() || + GV-hasExternalWeakLinkage() || (!GV-isConstant() (Flags DSGraph::IgnoreGlobals) == 0)) markIncompleteNode(ScalarMap[GV].getNode()); } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm-poolalloc/lib/DSA/Local.cpp
Changes in directory llvm-poolalloc/lib/DSA: Local.cpp updated: 1.158.2.4.2.2 - 1.158.2.4.2.3 --- Log message: Nodes returned from llva_save_stackp() are now collapsed. Ensure that all globals with a DSNode have a MetaPool. Disabled debugging and random kernel hacks. --- Diffs of the changes: (+56 -2) Local.cpp | 58 -- 1 files changed, 56 insertions(+), 2 deletions(-) Index: llvm-poolalloc/lib/DSA/Local.cpp diff -u llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.2 llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.3 --- llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.2 Wed Feb 28 11:35:32 2007 +++ llvm-poolalloc/lib/DSA/Local.cppWed Mar 7 17:42:43 2007 @@ -386,7 +386,7 @@ void GraphBuilder::visitGetElementPtrInst(User GEP) { #ifdef LLVA_KERNEL -#if 1 +#if 0 int debug = 0; if (isaInstruction(GEP)) { Instruction * IGEP = (Instruction *)(GEP); @@ -589,7 +589,7 @@ if (isPointerType(StoredTy)) Dest.addEdgeTo(getValueDest(*SI.getOperand(0))); #ifdef LLVA_KERNEL -#if 1 +#if 0 { if (SI.getParent()-getParent()-getName() == alloc_vfsmnt) { DSNode * N = getValueDest(*SI.getOperand(1)).getNode(); @@ -1120,7 +1120,9 @@ } else { Value *actualPD = *(CS.arg_begin()); if (!isaGlobalValue(actualPD)) { +#if 0 std::cerr WARNING: Pool is not global. Function = CS.getCaller()-getName() \n; +#endif } else { ++GlobalPools; } @@ -1183,7 +1185,9 @@ } else { Value *actualPD = *(CS.arg_begin()); if (!isaGlobalValue(actualPD)) { +#if 0 std::cerr WARNING: Pool is not global. Function = CS.getCaller()-getName() \n; +#endif } else { ++GlobalPools; } @@ -1241,6 +1245,7 @@ N-setAllocaNodeMarker(); N-setUnknownNodeMarker(); N-setIncompleteMarker(); + N-foldNodeCompletely(); // // TODO: @@ -1248,6 +1253,7 @@ // are ignored by our analysis. // #endif +#if 0 } else if (F-getName() == __generic_copy_from_user) { if (CS.getCaller()-getName() == kmem_cache_alloc) return false; @@ -1260,6 +1266,7 @@ return true; #endif } +#endif return false; } @@ -1291,7 +1298,9 @@ } else { Value *actualPD = *(CS.arg_begin()); if (!isaGlobalValue(actualPD)) { +#if 0 std::cerr WARNING: Pool is not global. Function = CS.getCaller()-getName() \n; +#endif } else { ++GlobalPools; } @@ -1377,7 +1386,9 @@ } else { Value *actualPD = *(CS.arg_begin()); if (!isaGlobalValue(actualPD)) { +#if 0 std::cerr WARNING: Pool is not global. Function = CS.getCaller()-getName() \n; +#endif } else { ++GlobalPools; } @@ -1702,6 +1713,49 @@ DEBUG(std::cerr Eliminating ECGlobals.size() EC Globals!\n); ECGlobals.clear(); +#ifdef LLVA_KERNEL + // + // Scan through all the globals; if they have a DSNode but no MetaPool, give + // them a MetaPool. + // + const Type * VoidPtrType = PointerType::get(Type::SByteTy); + for (Module::global_iterator I = M.global_begin(), E = M.global_end(); + I != E; ++I) { +// Skip functions and externally declared variables +if (!isaGlobalVariable(I)) continue; +if (I-isExternal()) continue; + +GlobalValue * GV = I; +GlobalValue * GVL = GlobalsGraph-getScalarMap().getLeaderForGlobal(I); +DSNode *Node = GlobalsGraph-getNodeForValue(GVL).getNode(); + +// If this global happens to be a MetaPool, it will have no DSNode. +// In that case, do not assign a MetaPool. +if (!Node) continue; + +// +// Add the MetaPool for the DSNode if it does not already have one. +// +if (GlobalsGraph-getPoolDescriptorsMap().count(Node) == 0) { + Value * TheMetaPool = 0; + TheMetaPool = new GlobalVariable( + /*type=*/ VoidPtrType, + /*isConstant=*/ false, + /*Linkage=*/ GlobalValue::InternalLinkage, + /*initializer=*/ Constant::getNullValue(VoidPtrType), + /*name=*/ _metaPool_, + /*parent=*/ M ); + + // + // Create the internal data structure for the MetaPool and associate the + // DSNode with it. + // + MetaPoolHandle* tmpvh = new MetaPoolHandle(new MetaPool(TheMetaPool), NULL); + GlobalsGraph-getPoolDescriptorsMap()[Node] = tmpvh; +} + } +#endif + // Calculate all of the graphs... for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) if (!I-isExternal()) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm-poolalloc/lib/DSA/DataStructure.cpp
Changes in directory llvm-poolalloc/lib/DSA: DataStructure.cpp updated: 1.248.2.4.2.1 - 1.248.2.4.2.2 --- Log message: Disabled debugging output. --- Diffs of the changes: (+2 -0) DataStructure.cpp |2 ++ 1 files changed, 2 insertions(+) Index: llvm-poolalloc/lib/DSA/DataStructure.cpp diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4.2.1 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4.2.2 --- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4.2.1 Wed Feb 28 11:35:32 2007 +++ llvm-poolalloc/lib/DSA/DataStructure.cppTue Mar 6 16:44:38 2007 @@ -1402,10 +1402,12 @@ Value *dest = getMetaPoolValue(); Value *curr = other-getMetaPoolValue(); if (dest != curr) { +#if 0 std::cerr LLVA: Merging metapools: this-Creator-getParent()-getParent()-getName() : other-Creator-getParent()-getParent()-getName() \n LLVA: *(this-Creator) \n LLVA: *(other-Creator) \n; curr-replaceAllUsesWith(dest); +#endif } //merge the hash sets in to other ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [see] CVS: llvm-poolalloc/lib/DSA/Local.cpp
Changes in directory llvm-poolalloc/lib/DSA: Local.cpp updated: 1.158.2.4 - 1.158.2.4.2.1 --- Log message: The llva_save_stackp() function returns the stack pointer. It should be marked with the incomplete, unknown, and stack flags. --- Diffs of the changes: (+3 -1) Local.cpp |4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm-poolalloc/lib/DSA/Local.cpp diff -u llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4 llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4.2.1 --- llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4 Mon Jan 22 15:18:48 2007 +++ llvm-poolalloc/lib/DSA/Local.cppTue Feb 27 12:52:19 2007 @@ -1232,11 +1232,13 @@ if (DSNode *N = RetNH.getNode()) N-setModifiedMarker()-setReadMarker(); return true; -#if 0 +#if 1 } else if (F-getName() == llva_save_stackp) { // Create a new DSNode for the memory returned by llva_save_stackp() DSNode *N = createNode(); N-setAllocaNodeMarker(); + N-setUnknownNodeMarker(); + N-setIncompleteMarker(); // // TODO: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/lib/DSA/DataStructure.cpp
Changes in directory llvm-poolalloc/lib/DSA: DataStructure.cpp updated: 1.248.2.3 - 1.248.2.4 --- Log message: Merged in revision 1.258. This patch marks nodes incomplete. --- Diffs of the changes: (+8 -0) DataStructure.cpp |8 1 files changed, 8 insertions(+) Index: llvm-poolalloc/lib/DSA/DataStructure.cpp diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.3 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.4 --- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.3 Wed Dec 13 15:58:21 2006 +++ llvm-poolalloc/lib/DSA/DataStructure.cppTue Feb 13 16:02:36 2007 @@ -1978,6 +1978,14 @@ E = AuxFunctionCalls.end(); I != E; ++I) markIncomplete(*I); + // Mark stuff passed into external functions as being incomplete. + // External functions may not appear in Aux during td, so process + // them specially + for (std::listDSCallSite::iterator I = FunctionCalls.begin(), + E = FunctionCalls.end(); I != E; ++I) +if(I-isDirectCall() I-getCalleeFunc()-isExternal()) + markIncomplete(*I); + // Mark all global nodes as incomplete. for (DSScalarMap::global_iterator I = ScalarMap.global_begin(), E = ScalarMap.global_end(); I != E; ++I) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/lib/DSA/Local.cpp
Changes in directory llvm-poolalloc/lib/DSA: Local.cpp updated: 1.158.2.3 - 1.158.2.4 --- Log message: Add code that might correctly handle llva_save_stackp(). --- Diffs of the changes: (+12 -0) Local.cpp | 12 1 files changed, 12 insertions(+) Index: llvm-poolalloc/lib/DSA/Local.cpp diff -u llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.3 llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.4 --- llvm-poolalloc/lib/DSA/Local.cpp:1.158.2.3 Wed Dec 13 17:18:48 2006 +++ llvm-poolalloc/lib/DSA/Local.cppMon Jan 22 15:18:48 2007 @@ -1232,6 +1232,18 @@ if (DSNode *N = RetNH.getNode()) N-setModifiedMarker()-setReadMarker(); return true; +#if 0 + } else if (F-getName() == llva_save_stackp) { + // Create a new DSNode for the memory returned by llva_save_stackp() + DSNode *N = createNode(); + N-setAllocaNodeMarker(); + + // + // TODO: + // For now, don't worry about creating a meta-pool. Stack locations + // are ignored by our analysis. + // +#endif } else if (F-getName() == __generic_copy_from_user) { if (CS.getCaller()-getName() == kmem_cache_alloc) return false; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/LICENSE.TXT
Changes in directory llvm: LICENSE.TXT updated: 1.28 - 1.29 --- Log message: Welcome 2007. --- Diffs of the changes: (+1 -1) LICENSE.TXT |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/LICENSE.TXT diff -u llvm/LICENSE.TXT:1.28 llvm/LICENSE.TXT:1.29 --- llvm/LICENSE.TXT:1.28 Mon Sep 11 12:28:11 2006 +++ llvm/LICENSE.TXTThu Jan 18 15:22:36 2007 @@ -4,7 +4,7 @@ University of Illinois/NCSA Open Source License -Copyright (c) 2003, 2004, 2005, 2006 University of Illinois at Urbana-Champaign. +Copyright (c) 2003-2007 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/configure
Changes in directory llvm: configure updated: 1.254.2.1 - 1.254.2.2 --- Log message: Automatically configure the safecode project on the release_19 branch. --- Diffs of the changes: (+27 -24) configure | 51 +++ 1 files changed, 27 insertions(+), 24 deletions(-) Index: llvm/configure diff -u llvm/configure:1.254.2.1 llvm/configure:1.254.2.2 --- llvm/configure:1.254.2.1Mon Nov 13 18:56:51 2006 +++ llvm/configure Thu Jan 11 12:37:23 2007 @@ -937,6 +937,7 @@ ac_subdirs_all='projects/sample projects/Stacker projects/privbracket +projects/safecode projects/llvm-test projects/llvm-reopt projects/llvm-gcc @@ -2062,6 +2063,8 @@ ;; privbracket) subdirs=$subdirs projects/privbracket ;; + safecode) subdirs=$subdirs projects/safecode + ;; llvm-test)subdirs=$subdirs projects/llvm-test ;; llvm-reopt) subdirs=$subdirs projects/llvm-reopt @@ -10298,7 +10301,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat conftest.$ac_ext EOF -#line 10301 configure +#line 10304 configure #include confdefs.h #if HAVE_DLFCN_H @@ -12442,7 +12445,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 12445 configure' conftest.$ac_ext + echo '#line 12448 configure' conftest.$ac_ext if { (eval echo $as_me:$LINENO: \$ac_compile\) 5 (eval $ac_compile) 25 ac_status=$? @@ -14160,11 +14163,11 @@ -e 's:.*FLAGS}\{0,1\} :$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo \\$as_me:14163: $lt_compile\ 5) + (eval echo \\$as_me:14166: $lt_compile\ 5) (eval $lt_compile 2conftest.err) ac_status=$? cat conftest.err 5 - echo $as_me:14167: \$? = $ac_status 5 + echo $as_me:14170: \$? = $ac_status 5 if (exit $ac_status) test -s $ac_outfile; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14428,11 +14431,11 @@ -e 's:.*FLAGS}\{0,1\} :$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo \\$as_me:14431: $lt_compile\ 5) + (eval echo \\$as_me:14434: $lt_compile\ 5) (eval $lt_compile 2conftest.err) ac_status=$? cat conftest.err 5 - echo $as_me:14435: \$? = $ac_status 5 + echo $as_me:14438: \$? = $ac_status 5 if (exit $ac_status) test -s $ac_outfile; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14532,11 +14535,11 @@ -e 's:.*FLAGS}\{0,1\} :$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo \\$as_me:14535: $lt_compile\ 5) + (eval echo \\$as_me:14538: $lt_compile\ 5) (eval $lt_compile 2out/conftest.err) ac_status=$? cat out/conftest.err 5 - echo $as_me:14539: \$? = $ac_status 5 + echo $as_me:14542: \$? = $ac_status 5 if (exit $ac_status) test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16984,7 +16987,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat conftest.$ac_ext EOF -#line 16987 configure +#line 16990 configure #include confdefs.h #if HAVE_DLFCN_H @@ -17084,7 +17087,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat conftest.$ac_ext EOF -#line 17087 configure +#line 17090 configure #include confdefs.h #if HAVE_DLFCN_H @@ -19452,11 +19455,11 @@ -e 's:.*FLAGS}\{0,1\} :$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo \\$as_me:19455: $lt_compile\ 5) + (eval echo \\$as_me:19458: $lt_compile\ 5) (eval $lt_compile 2conftest.err) ac_status=$? cat conftest.err 5 - echo $as_me:19459: \$? = $ac_status 5 + echo $as_me:19462: \$? = $ac_status 5 if (exit $ac_status) test -s $ac_outfile; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -19556,11 +19559,11 @@ -e 's:.*FLAGS}\{0,1\} :$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo \\$as_me:19559: $lt_compile\ 5) + (eval echo \\$as_me:19562: $lt_compile\ 5) (eval $lt_compile 2out/conftest.err) ac_status=$? cat out/conftest.err 5 - echo $as_me:19563: \$? = $ac_status 5 + echo $as_me:19566: \$? = $ac_status 5 if (exit $ac_status) test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -21126,11 +21129,11 @@ -e 's:.*FLAGS}\{0,1\} :$lt_compiler_flag :; t' \ -e 's: [^
[llvm-commits] [release_19] CVS: llvm/autoconf/configure.ac
Changes in directory llvm/autoconf: configure.ac updated: 1.249.2.1 - 1.249.2.2 --- Log message: Automatically configure the safecode project on the release_19 branch. --- Diffs of the changes: (+1 -0) configure.ac |1 + 1 files changed, 1 insertion(+) Index: llvm/autoconf/configure.ac diff -u llvm/autoconf/configure.ac:1.249.2.1 llvm/autoconf/configure.ac:1.249.2.2 --- llvm/autoconf/configure.ac:1.249.2.1Mon Nov 6 23:25:12 2006 +++ llvm/autoconf/configure.ac Thu Jan 11 12:37:24 2007 @@ -70,6 +70,7 @@ sample) AC_CONFIG_SUBDIRS([projects/sample]);; Stacker) AC_CONFIG_SUBDIRS([projects/Stacker]) ;; privbracket) AC_CONFIG_SUBDIRS([projects/privbracket]) ;; + safecode) AC_CONFIG_SUBDIRS([projects/safecode]) ;; llvm-test)AC_CONFIG_SUBDIRS([projects/llvm-test]) ;; llvm-reopt) AC_CONFIG_SUBDIRS([projects/llvm-reopt]);; llvm-gcc) AC_CONFIG_SUBDIRS([projects/llvm-gcc]) ;; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/lib/DSA/Makefile
Changes in directory llvm-poolalloc/lib/DSA: Makefile updated: 1.5.2.1 - 1.5.2.2 --- Log message: Build a shared library that can be loaded into the opt command. --- Diffs of the changes: (+3 -0) Makefile |3 +++ 1 files changed, 3 insertions(+) Index: llvm-poolalloc/lib/DSA/Makefile diff -u llvm-poolalloc/lib/DSA/Makefile:1.5.2.1 llvm-poolalloc/lib/DSA/Makefile:1.5.2.2 --- llvm-poolalloc/lib/DSA/Makefile:1.5.2.1 Tue Dec 12 16:42:42 2006 +++ llvm-poolalloc/lib/DSA/Makefile Thu Jan 11 16:29:43 2007 @@ -8,6 +8,9 @@ ##===--===## LEVEL = ../.. +SHARED_LIBRARY=1 +LOADABLE_MODULE = 1 +DONT_BUILD_RELINKED=1 LIBRARYNAME = LLVMDataStructure include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/include/llvm/Analysis/DataStructure/CallTargets.h DSGraph.h DSGraphTraits.h DSNode.h DSSupport.h DataStructure.h
Changes in directory llvm/include/llvm/Analysis/DataStructure: CallTargets.h (r1.1) removed DSGraph.h (r1.110) removed DSGraphTraits.h (r1.25) removed DSNode.h (r1.58) removed DSSupport.h (r1.41) removed DataStructure.h (r1.98) removed --- Log message: Remove DSA from release_19 branch. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/tools/opt/Makefile
Changes in directory llvm/tools/opt: Makefile updated: 1.59 - 1.59.4.1 --- Log message: Remove DSA from release_19 tools. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/opt/Makefile diff -u llvm/tools/opt/Makefile:1.59 llvm/tools/opt/Makefile:1.59.4.1 --- llvm/tools/opt/Makefile:1.59Mon Sep 4 00:59:09 2006 +++ llvm/tools/opt/Makefile Thu Jan 11 16:44:01 2007 @@ -11,6 +11,6 @@ REQUIRES_EH := 1 LINK_COMPONENTS := bcreader bcwriter instrumentation scalaropts ipo \ - datastructure transforms + transforms include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/lib/Analysis/Makefile
Changes in directory llvm/lib/Analysis: Makefile updated: 1.11 - 1.11.10.1 --- Log message: Don't bother building DSA directory; no one uses it anymore. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Analysis/Makefile diff -u llvm/lib/Analysis/Makefile:1.11 llvm/lib/Analysis/Makefile:1.11.10.1 --- llvm/lib/Analysis/Makefile:1.11 Sun Oct 23 21:24:54 2005 +++ llvm/lib/Analysis/Makefile Thu Jan 11 16:44:34 2007 @@ -9,7 +9,7 @@ LEVEL = ../.. LIBRARYNAME = LLVMAnalysis -PARALLEL_DIRS = IPA DataStructure +PARALLEL_DIRS = IPA BUILD_ARCHIVE = 1 include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/tools/bugpoint/Makefile
Changes in directory llvm/tools/bugpoint: Makefile updated: 1.19 - 1.19.4.1 --- Log message: Remove DSA from release_19 tools. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/bugpoint/Makefile diff -u llvm/tools/bugpoint/Makefile:1.19 llvm/tools/bugpoint/Makefile:1.19.4.1 --- llvm/tools/bugpoint/Makefile:1.19 Mon Sep 4 00:59:09 2006 +++ llvm/tools/bugpoint/MakefileThu Jan 11 16:44:00 2007 @@ -11,7 +11,7 @@ TOOLNAME = bugpoint LINK_COMPONENTS := bcreader bcwriter asmparser instrumentation scalaropts ipo \ - datastructure transforms linker + transforms linker REQUIRES_EH := 1 include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp CallTargets.cpp CompleteBottomUp.cpp DataStructure.cpp DataStructureAA.cpp DataStructureOpt.cpp DataStructureStats.
Changes in directory llvm/lib/Analysis/DataStructure: BottomUpClosure.cpp (r1.123) removed CallTargets.cpp (r1.4) removed CompleteBottomUp.cpp (r1.37) removed DataStructure.cpp (r1.248) removed DataStructureAA.cpp (r1.40) removed DataStructureOpt.cpp (r1.13) removed DataStructureStats.cpp (r1.21) removed EquivClassGraphs.cpp (r1.49) removed GraphChecker.cpp (r1.21) removed Local.cpp (r1.158) removed Printer.cpp (r1.86) removed Steensgaard.cpp (r1.65) removed TopDownClosure.cpp (r1.92) removed --- Log message: Remove DSA files from release_19 branch. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/lib/Analysis/DataStructure/Makefile
Changes in directory llvm/lib/Analysis/DataStructure: Makefile (r1.5) removed --- Log message: Remove files from release_19 branch. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/Makefile.common.in configure
Changes in directory llvm-poolalloc: Makefile.common.in updated: 1.11 - 1.11.2.1 configure updated: 1.11.2.2 - 1.11.2.3 --- Log message: Added --with-safecodesrc and --with=safecodeobj options to specify the location of SAFECode. There should be no more hard coded paths in the poolalloc source tree. These should default to LLVM_SRC_ROOT/project/safecode and LLVM_OBJ_ROOT/projects/safecode, respectively. --- Diffs of the changes: (+21 -2) Makefile.common.in |7 +++ configure | 16 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) Index: llvm-poolalloc/Makefile.common.in diff -u llvm-poolalloc/Makefile.common.in:1.11 llvm-poolalloc/Makefile.common.in:1.11.2.1 --- llvm-poolalloc/Makefile.common.in:1.11 Wed May 18 14:56:19 2005 +++ llvm-poolalloc/Makefile.common.in Thu Jan 11 17:27:33 2007 @@ -19,6 +19,13 @@ # Set the root directory of this project's install prefix PROJ_INSTALL_ROOT := @prefix@ +SAFECODESRC := @SAFECODESRC@ +SAFECODEOBJ := @SAFECODEOBJ@ + +CFLAGS += -I${SAFECODESRC}/include -I${SAFECODEOBJ}/include +CXXFLAGS += -I${SAFECODESRC}/include -I${SAFECODEOBJ}/include +CPPFLAGS += -I${SAFECODESRC}/include -I${SAFECODEOBJ}/include + # Include LLVM's Master Makefile. include $(LLVM_SRC_ROOT)/Makefile.common Index: llvm-poolalloc/configure diff -u llvm-poolalloc/configure:1.11.2.2 llvm-poolalloc/configure:1.11.2.3 --- llvm-poolalloc/configure:1.11.2.2 Wed Dec 13 17:22:40 2006 +++ llvm-poolalloc/configureThu Jan 11 17:27:33 2007 @@ -311,7 +311,7 @@ # include unistd.h #endif -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS LLVM_SRC LLVM_OBJ CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP MMAP_FILE SAFECODESRC LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS LLVM_SRC LLVM_OBJ CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP MMAP_FILE SAFECODESRC SAFECODEOBJ LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -855,6 +855,7 @@ --with-llvmsrc Location of LLVM Source Code --with-llvmobj Location of LLVM Object Code --with-safecode Location of SAFECode Source Code + --with-safecode Location of SAFECode Object Code Some influential environment variables: CC C compiler command @@ -3671,7 +3672,17 @@ SAFECODESRC=$withval else - SAFECODESRC=`cd ../safecode; pwd` + SAFECODESRC=`cd $LLVM_SRC_ROOT/projects/safecode; pwd` + +fi; + +# Check whether --with-safecodeobj or --without-safecodeobj was given. +if test ${with_safecodeobj+set} = set; then + withval=$with_safecodeobj + SAFECODEOBJ=$withval + +else + SAFECODEOBJ=`cd $LLVM_OBJ_ROOT/projects/safecode; pwd` fi; @@ -4320,6 +4331,7 @@ s,@EGREP@,$EGREP,;t t s,@MMAP_FILE@,$MMAP_FILE,;t t s,@SAFECODESRC@,$SAFECODESRC,;t t +s,@SAFECODEOBJ@,$SAFECODEOBJ,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/autoconf/configure.ac
Changes in directory llvm-poolalloc/autoconf: configure.ac updated: 1.10.2.2 - 1.10.2.3 --- Log message: Added --with-safecodesrc and --with=safecodeobj options to specify the location of SAFECode. There should be no more hard coded paths in the poolalloc source tree. These should default to LLVM_SRC_ROOT/project/safecode and LLVM_OBJ_ROOT/projects/safecode, respectively. --- Diffs of the changes: (+2 -1) configure.ac |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm-poolalloc/autoconf/configure.ac diff -u llvm-poolalloc/autoconf/configure.ac:1.10.2.2 llvm-poolalloc/autoconf/configure.ac:1.10.2.3 --- llvm-poolalloc/autoconf/configure.ac:1.10.2.2 Wed Dec 13 17:22:45 2006 +++ llvm-poolalloc/autoconf/configure.acThu Jan 11 17:27:33 2007 @@ -91,7 +91,8 @@ dnl ** dnl Location of SAFECode -AC_ARG_WITH(safecodesrc,AS_HELP_STRING(--with-safecode,Location of SAFECode Source Code),AC_SUBST(SAFECODESRC,[$withval]),AC_SUBST(SAFECODESRC,[`cd ../safecode; pwd`])) +AC_ARG_WITH(safecodesrc,AS_HELP_STRING(--with-safecode,Location of SAFECode Source Code),AC_SUBST(SAFECODESRC,[$withval]),AC_SUBST(SAFECODESRC,[`cd $LLVM_SRC_ROOT/projects/safecode; pwd`])) +AC_ARG_WITH(safecodeobj,AS_HELP_STRING(--with-safecode,Location of SAFECode Object Code),AC_SUBST(SAFECODEOBJ,[$withval]),AC_SUBST(SAFECODEOBJ,[`cd $LLVM_OBJ_ROOT/projects/safecode; pwd`])) dnl ** dnl * Create the output files ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/include/poolalloc/PoolAllocate.h
Changes in directory llvm-poolalloc/include/poolalloc: PoolAllocate.h updated: 1.51.2.1 - 1.51.2.2 --- Log message: Added --with-safecodesrc and --with=safecodeobj options to specify the location of SAFECode. There should be no more hard coded paths in the poolalloc source tree. These should default to LLVM_SRC_ROOT/project/safecode and LLVM_OBJ_ROOT/projects/safecode, respectively. --- Diffs of the changes: (+1 -2) PoolAllocate.h |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index: llvm-poolalloc/include/poolalloc/PoolAllocate.h diff -u llvm-poolalloc/include/poolalloc/PoolAllocate.h:1.51.2.1 llvm-poolalloc/include/poolalloc/PoolAllocate.h:1.51.2.2 --- llvm-poolalloc/include/poolalloc/PoolAllocate.h:1.51.2.1Wed Dec 13 15:58:21 2006 +++ llvm-poolalloc/include/poolalloc/PoolAllocate.h Thu Jan 11 17:27:33 2007 @@ -26,8 +26,7 @@ #include poolalloc/Config/config.h #ifdef SAFECODE -//FIXME : make this use some configuration options -#include /home/vadve/dhurjati/llvm/projects/safecode.typesafe/include/ConvertUnsafeAllocas.h +#include ConvertUnsafeAllocas.h #endif ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm/include/llvm/LinkAllPasses.h
Changes in directory llvm/include/llvm: LinkAllPasses.h updated: 1.3 - 1.3.4.1 --- Log message: Remove DSA passes. --- Diffs of the changes: (+0 -13) LinkAllPasses.h | 13 - 1 files changed, 13 deletions(-) Index: llvm/include/llvm/LinkAllPasses.h diff -u llvm/include/llvm/LinkAllPasses.h:1.3 llvm/include/llvm/LinkAllPasses.h:1.3.4.1 --- llvm/include/llvm/LinkAllPasses.h:1.3 Mon Aug 28 17:44:55 2006 +++ llvm/include/llvm/LinkAllPasses.h Thu Jan 11 18:41:32 2007 @@ -22,8 +22,6 @@ #include llvm/Analysis/Passes.h #include llvm/Analysis/PostDominators.h #include llvm/Analysis/ScalarEvolution.h -#include llvm/Analysis/DataStructure/DataStructure.h -#include llvm/Analysis/DataStructure/CallTargets.h #include llvm/CodeGen/Passes.h #include llvm/Function.h #include llvm/Transforms/Instrumentation.h @@ -56,8 +54,6 @@ (void) llvm::createConstantMergePass(); (void) llvm::createConstantPropagationPass(); (void) llvm::createCorrelatedExpressionEliminationPass(); - (void) llvm::createDSAAPass(); - (void) llvm::createDSOptPass(); (void) llvm::createDeadArgEliminationPass(); (void) llvm::createDeadCodeEliminationPass(); (void) llvm::createDeadInstEliminationPass(); @@ -105,7 +101,6 @@ (void) llvm::createScalarReplAggregatesPass(); (void) llvm::createSimplifyLibCallsPass(); (void) llvm::createSingleLoopExtractorPass(); - (void) llvm::createSteensgaardPass(); (void) llvm::createStripSymbolsPass(); (void) llvm::createTailCallEliminationPass(); (void) llvm::createTailDuplicationPass(); @@ -117,22 +112,14 @@ (void) llvm::createNullProfilerRSPass(); (void) llvm::createRSProfilingPass(); (void) llvm::createIndMemRemPass(); - (void) llvm::createDataStructureStatsPass(); - (void) llvm::createDataStructureGraphCheckerPass(); (void) llvm::createInstCountPass(); (void) llvm::createPredicateSimplifierPass(); - (void)new llvm::LocalDataStructures(); - (void)new llvm::BUDataStructures(); - (void)new llvm::TDDataStructures(); - (void)new llvm::CompleteBUDataStructures(); - (void)new llvm::EquivClassGraphs(); (void)new llvm::IntervalPartition(); (void)new llvm::ImmediateDominators(); (void)new llvm::PostDominatorSet(); (void)new llvm::FindUsedTypes(); (void)new llvm::ScalarEvolution(); - (void)new llvm::CallTargetFinder(); ((llvm::Function*)0)-viewCFGOnly(); llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)0); X.add((llvm::Value*)0, 0); // for -print-alias-sets ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp PoolAllocate.cpp PoolOptimize.cpp
Changes in directory llvm-poolalloc/lib/PoolAllocate: PointerCompress.cpp updated: 1.74 - 1.75 PoolAllocate.cpp updated: 1.130 - 1.131 PoolOptimize.cpp updated: 1.9 - 1.10 --- Log message: Update to the new Statistic interface. --- Diffs of the changes: (+12 -14) PointerCompress.cpp |8 +++- PoolAllocate.cpp| 16 PoolOptimize.cpp|2 +- 3 files changed, 12 insertions(+), 14 deletions(-) Index: llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp diff -u llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.74 llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.75 --- llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.74Wed Dec 13 23:51:07 2006 +++ llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp Wed Jan 10 12:10:32 2007 @@ -55,11 +55,9 @@ cl::desc(Enable Andrew's fixes/hacks)); - Statistic NumCompressed(pointercompress, -Number of pools pointer compressed); - Statistic NumNotCompressed(pointercompress, - Number of pools not compressible); - Statistic NumCloned(pointercompress, Number of functions cloned); + STATISTIC (NumCompressed, Number of pools pointer compressed); + STATISTIC (NumNotCompressed, Number of pools not compressible); + STATISTIC (NumCloned, Number of functions cloned); class CompressedPoolInfo; Index: llvm-poolalloc/lib/PoolAllocate/PoolAllocate.cpp diff -u llvm-poolalloc/lib/PoolAllocate/PoolAllocate.cpp:1.130 llvm-poolalloc/lib/PoolAllocate/PoolAllocate.cpp:1.131 --- llvm-poolalloc/lib/PoolAllocate/PoolAllocate.cpp:1.130 Tue Dec 19 17:10:34 2006 +++ llvm-poolalloc/lib/PoolAllocate/PoolAllocate.cppWed Jan 10 12:10:32 2007 @@ -58,14 +58,14 @@ RegisterPassPoolAllocatePassAllPools Y(poolalloc-passing-all-pools, Pool allocate disjoint data structures); - Statistic NumArgsAdded(poolalloc, Number of function arguments added); - Statistic MaxArgsAdded(poolalloc, Maximum function arguments added to one function); - Statistic NumCloned (poolalloc, Number of functions cloned); - Statistic NumPools(poolalloc, Number of pools allocated); - Statistic NumTSPools (poolalloc, Number of typesafe pools); - Statistic NumPoolFree (poolalloc, Number of poolfree's elided); - Statistic NumNonprofit(poolalloc, Number of DSNodes not profitable); - Statistic NumColocated(poolalloc, Number of DSNodes colocated); + STATISTIC (NumArgsAdded, Number of function arguments added); + STATISTIC (MaxArgsAdded, Maximum function arguments added to one function); + STATISTIC (NumCloned , Number of functions cloned); + STATISTIC (NumPools, Number of pools allocated); + STATISTIC (NumTSPools , Number of typesafe pools); + STATISTIC (NumPoolFree , Number of poolfree's elided); + STATISTIC (NumNonprofit, Number of DSNodes not profitable); + STATISTIC (NumColocated, Number of DSNodes colocated); const Type *VoidPtrTy; Index: llvm-poolalloc/lib/PoolAllocate/PoolOptimize.cpp diff -u llvm-poolalloc/lib/PoolAllocate/PoolOptimize.cpp:1.9 llvm-poolalloc/lib/PoolAllocate/PoolOptimize.cpp:1.10 --- llvm-poolalloc/lib/PoolAllocate/PoolOptimize.cpp:1.9Wed Dec 13 14:06:42 2006 +++ llvm-poolalloc/lib/PoolAllocate/PoolOptimize.cppWed Jan 10 12:10:32 2007 @@ -20,7 +20,7 @@ using namespace llvm; namespace { - Statistic NumBumpPtr(poolalloc, Number of bump pointer pools); + STATISTIC (NumBumpPtr, Number of bump pointer pools); struct PoolOptimize : public ModulePass { bool runOnModule(Module M); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-poolalloc/lib/DSA/BottomUpClosure.cpp CallTargets.cpp CompleteBottomUp.cpp DataStructure.cpp DataStructureOpt.cpp DataStructureStats.cpp EquivClassGraphs.cpp Local.cpp Printer
Changes in directory llvm-poolalloc/lib/DSA: BottomUpClosure.cpp updated: 1.128 - 1.129 CallTargets.cpp updated: 1.8 - 1.9 CompleteBottomUp.cpp updated: 1.40 - 1.41 DataStructure.cpp updated: 1.256 - 1.257 DataStructureOpt.cpp updated: 1.15 - 1.16 DataStructureStats.cpp updated: 1.25 - 1.26 EquivClassGraphs.cpp updated: 1.54 - 1.55 Local.cpp updated: 1.164 - 1.165 Printer.cpp updated: 1.92 - 1.93 TopDownClosure.cpp updated: 1.96 - 1.97 --- Log message: Update to the new Statistic interface. --- Diffs of the changes: (+30 -35) BottomUpClosure.cpp|6 +++--- CallTargets.cpp|8 CompleteBottomUp.cpp |2 +- DataStructure.cpp | 14 +++--- DataStructureOpt.cpp |6 ++ DataStructureStats.cpp | 13 + EquivClassGraphs.cpp |4 ++-- Local.cpp |6 +++--- Printer.cpp|4 ++-- TopDownClosure.cpp |2 +- 10 files changed, 30 insertions(+), 35 deletions(-) Index: llvm-poolalloc/lib/DSA/BottomUpClosure.cpp diff -u llvm-poolalloc/lib/DSA/BottomUpClosure.cpp:1.128 llvm-poolalloc/lib/DSA/BottomUpClosure.cpp:1.129 --- llvm-poolalloc/lib/DSA/BottomUpClosure.cpp:1.128Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/DSA/BottomUpClosure.cpp Wed Jan 10 12:10:32 2007 @@ -26,9 +26,9 @@ using namespace llvm; namespace { - Statistic MaxSCC(budatastructure, Maximum SCC Size in Call Graph); - Statistic NumBUInlines(budatastructures, Number of graphs inlined); - Statistic NumCallEdges(budatastructures, Number of 'actual' call edges); + STATISTIC (MaxSCC, Maximum SCC Size in Call Graph); + STATISTIC (NumBUInlines, Number of graphs inlined); + STATISTIC (NumCallEdges, Number of 'actual' call edges); cl::optbool AddGlobals(budatastructures-annotate-calls, cl::Hidden, Index: llvm-poolalloc/lib/DSA/CallTargets.cpp diff -u llvm-poolalloc/lib/DSA/CallTargets.cpp:1.8 llvm-poolalloc/lib/DSA/CallTargets.cpp:1.9 --- llvm-poolalloc/lib/DSA/CallTargets.cpp:1.8 Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/DSA/CallTargets.cpp Wed Jan 10 12:10:32 2007 @@ -29,10 +29,10 @@ using namespace llvm; namespace { - Statistic DirCall(calltarget, Number of direct calls); - Statistic IndCall(calltarget, Number of indirect calls); - Statistic CompleteInd(calltarget, Number of complete indirect calls); - Statistic CompleteEmpty(calltarget, Number of complete empty calls); + STATISTIC (DirCall, Number of direct calls); + STATISTIC (IndCall, Number of indirect calls); + STATISTIC (CompleteInd, Number of complete indirect calls); + STATISTIC (CompleteEmpty, Number of complete empty calls); RegisterPassCallTargetFinder X(calltarget,Find Call Targets (uses DSA)); } Index: llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp diff -u llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp:1.40 llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp:1.41 --- llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp:1.40Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp Wed Jan 10 12:10:32 2007 @@ -26,7 +26,7 @@ namespace { RegisterPassCompleteBUDataStructures X(cbudatastructure, 'Complete' Bottom-up Data Structure Analysis); - Statistic NumCBUInlines(cbudatastructures, Number of graphs inlined); + STATISTIC (NumCBUInlines, Number of graphs inlined); } Index: llvm-poolalloc/lib/DSA/DataStructure.cpp diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.256 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.257 --- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.256 Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/DSA/DataStructure.cppWed Jan 10 12:10:32 2007 @@ -38,14 +38,14 @@ #define COLLAPSE_ARRAYS_AGGRESSIVELY 0 namespace { - Statistic NumFolds (dsa, Number of nodes completely folded); - Statistic NumCallNodesMerged(dsa, Number of call nodes merged); - Statistic NumNodeAllocated (dsa, Number of nodes allocated); - Statistic NumDNE(dsa, Number of nodes removed by reachability); - Statistic NumTrivialDNE (dsa, Number of nodes trivially removed); - Statistic NumTrivialGlobalDNE(dsa, Number of globals trivially removed); + STATISTIC (NumFolds, Number of nodes completely folded); + STATISTIC (NumCallNodesMerged, Number of call nodes merged); + STATISTIC (NumNodeAllocated , Number of nodes allocated); + STATISTIC (NumDNE, Number of nodes removed by reachability); + STATISTIC (NumTrivialDNE , Number of nodes trivially removed); + STATISTIC (NumTrivialGlobalDNE, Number of globals trivially removed); #ifdef LLVA_KERNEL - Statistic LostPools (dsa, Number of pools lost to DSNode Merge); + STATISTIC (LostPools , Number of pools lost to DSNode Merge); #endif static cl::optunsigned DSAFieldLimit(dsa-field-limit, cl::Hidden, Index: llvm-poolalloc/lib/DSA/DataStructureOpt.cpp diff -u llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.15 llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.16 --- llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.15
[llvm-commits] CVS: llvm-poolalloc/lib/DSA/CallTargets.cpp DataStructureOpt.cpp DataStructureStats.cpp Local.cpp Makefile
Changes in directory llvm-poolalloc/lib/DSA: CallTargets.cpp updated: 1.9 - 1.10 DataStructureOpt.cpp updated: 1.16 - 1.17 DataStructureStats.cpp updated: 1.26 - 1.27 Local.cpp updated: 1.165 - 1.166 Makefile updated: 1.6 - 1.7 --- Log message: Build a dynamically loadable library file. Update to latest and greatest LLVM API. --- Diffs of the changes: (+34 -16) CallTargets.cpp|1 + DataStructureOpt.cpp |1 + DataStructureStats.cpp |1 + Local.cpp | 44 Makefile |3 +++ 5 files changed, 34 insertions(+), 16 deletions(-) Index: llvm-poolalloc/lib/DSA/CallTargets.cpp diff -u llvm-poolalloc/lib/DSA/CallTargets.cpp:1.9 llvm-poolalloc/lib/DSA/CallTargets.cpp:1.10 --- llvm-poolalloc/lib/DSA/CallTargets.cpp:1.9 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/CallTargets.cpp Wed Jan 10 13:59:52 2007 @@ -23,6 +23,7 @@ #include dsa/DSGraph.h #include dsa/CallTargets.h #include llvm/ADT/Statistic.h +#include llvm/Support/Debug.h #include llvm/Support/Streams.h #include llvm/Constants.h #include ostream Index: llvm-poolalloc/lib/DSA/DataStructureOpt.cpp diff -u llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.16 llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.17 --- llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.16Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/DataStructureOpt.cpp Wed Jan 10 13:59:52 2007 @@ -19,6 +19,7 @@ #include llvm/Constant.h #include llvm/Type.h #include llvm/ADT/Statistic.h +#include llvm/Support/Debug.h using namespace llvm; namespace { Index: llvm-poolalloc/lib/DSA/DataStructureStats.cpp diff -u llvm-poolalloc/lib/DSA/DataStructureStats.cpp:1.26 llvm-poolalloc/lib/DSA/DataStructureStats.cpp:1.27 --- llvm-poolalloc/lib/DSA/DataStructureStats.cpp:1.26 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/DataStructureStats.cpp Wed Jan 10 13:59:52 2007 @@ -19,6 +19,7 @@ #include llvm/Support/InstVisitor.h #include llvm/Support/Streams.h #include llvm/ADT/Statistic.h +#include llvm/Support/Debug.h #include ostream using namespace llvm; Index: llvm-poolalloc/lib/DSA/Local.cpp diff -u llvm-poolalloc/lib/DSA/Local.cpp:1.165 llvm-poolalloc/lib/DSA/Local.cpp:1.166 --- llvm-poolalloc/lib/DSA/Local.cpp:1.165 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/Local.cppWed Jan 10 13:59:52 2007 @@ -171,7 +171,8 @@ void visitStoreInst(StoreInst SI); void visitCallInst(CallInst CI); void visitInvokeInst(InvokeInst II); -void visitSetCondInst(SetCondInst SCI); +void visitICmpInst(ICmpInst I); +void visitFCmpInst(FCmpInst I); void visitFreeInst(FreeInst FI); void visitCastInst(CastInst CI); void visitInstruction(Instruction I); @@ -378,7 +379,14 @@ Dest.mergeWith(getValueDest(*SI.getOperand(2))); } -void GraphBuilder::visitSetCondInst(SetCondInst SCI) { +void GraphBuilder::visitICmpInst(ICmpInst SCI) { + if (!isPointerType(SCI.getOperand(0)-getType()) || + isaConstantPointerNull(SCI.getOperand(1))) return; // Only pointers + if(!IgnoreSetCC) +ScalarMap[SCI.getOperand(0)].mergeWith(getValueDest(*SCI.getOperand(1))); +} + +void GraphBuilder::visitFCmpInst(FCmpInst SCI) { if (!isPointerType(SCI.getOperand(0)-getType()) || isaConstantPointerNull(SCI.getOperand(1))) return; // Only pointers if(!IgnoreSetCC) @@ -481,8 +489,12 @@ I != E; ++I) if (const StructType *STy = dyn_castStructType(*I)) { const ConstantInt* CUI = castConstantInt(I.getOperand()); +#if 0 unsigned FieldNo = CUI-getType()-isSigned() ? CUI-getSExtValue() : CUI-getZExtValue(); +#else + int FieldNo = CUI-getSExtValue(); +#endif Offset += (unsigned)TD.getStructLayout(STy)-MemberOffsets[FieldNo]; } else if (isaPointerType(*I)) { if (!isaConstant(I.getOperand()) || @@ -768,7 +780,7 @@ // argument node. const DSNodeHandle EndPtrNH = getValueDest(**(CS.arg_begin()+1)); if (DSNode *End = EndPtrNH.getNode()) { -End-mergeTypeInfo(PointerType::get(Type::SByteTy), +End-mergeTypeInfo(PointerType::get(Type::Int8Ty), EndPtrNH.getOffset(), false); End-setModifiedMarker(); DSNodeHandle Link = getLink(EndPtrNH); @@ -985,7 +997,7 @@ const DSNodeHandle VAList = getValueDest(**AI); if (DSNode *N = VAList.getNode()) { N-setReadMarker(); -N-mergeTypeInfo(PointerType::get(Type::SByteTy), +N-mergeTypeInfo(PointerType::get(Type::Int8Ty), VAList.getOffset(), false); DSNodeHandle VAListObjs = getLink(VAList); @@ -1133,7 +1145,7 @@ //Get the Module first Module * M = F-getParent(); //Now create a meta pool for this value, DSN Node -const Type * VoidPtrType = PointerType::get(Type::SByteTy); +const Type * VoidPtrType = PointerType::get(Type::Int8Ty);
[llvm-commits] CVS: llvm-poolalloc/lib/PoolAllocate/AccessTrace.cpp Heuristic.cpp PointerCompress.cpp PoolAllocate.cpp PoolOptimize.cpp TransformFunctionBody.cpp
Changes in directory llvm-poolalloc/lib/PoolAllocate: AccessTrace.cpp updated: 1.8 - 1.9 Heuristic.cpp updated: 1.16 - 1.17 PointerCompress.cpp updated: 1.75 - 1.76 PoolAllocate.cpp updated: 1.131 - 1.132 PoolOptimize.cpp updated: 1.10 - 1.11 TransformFunctionBody.cpp updated: 1.60 - 1.61 --- Log message: Updated to the latest version of LLVM: a) Updated all types to the new integer types. b) Updated to the new ICmp and FCmp instructions. --- Diffs of the changes: (+143 -103) AccessTrace.cpp |4 +- Heuristic.cpp |4 +- PointerCompress.cpp | 75 ++ PoolAllocate.cpp | 40 ++-- PoolOptimize.cpp | 57 -- TransformFunctionBody.cpp | 66 6 files changed, 143 insertions(+), 103 deletions(-) Index: llvm-poolalloc/lib/PoolAllocate/AccessTrace.cpp diff -u llvm-poolalloc/lib/PoolAllocate/AccessTrace.cpp:1.8 llvm-poolalloc/lib/PoolAllocate/AccessTrace.cpp:1.9 --- llvm-poolalloc/lib/PoolAllocate/AccessTrace.cpp:1.8 Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/PoolAllocate/AccessTrace.cpp Wed Jan 10 14:44:31 2007 @@ -28,7 +28,7 @@ class PoolAccessTrace : public ModulePass { PoolAllocate *PoolAlloc; EquivClassGraphs *ECG; -Function *AccessTraceInitFn, *PoolAccessTraceFn; +Constant *AccessTraceInitFn, *PoolAccessTraceFn; const Type *VoidPtrTy; public: @@ -59,7 +59,7 @@ } void PoolAccessTrace::InitializeLibraryFunctions(Module M) { - VoidPtrTy = PointerType::get(Type::SByteTy); + VoidPtrTy = PointerType::get(Type::Int8Ty); AccessTraceInitFn = M.getOrInsertFunction(poolaccesstraceinit, Type::VoidTy,NULL); Index: llvm-poolalloc/lib/PoolAllocate/Heuristic.cpp diff -u llvm-poolalloc/lib/PoolAllocate/Heuristic.cpp:1.16 llvm-poolalloc/lib/PoolAllocate/Heuristic.cpp:1.17 --- llvm-poolalloc/lib/PoolAllocate/Heuristic.cpp:1.16 Wed Dec 13 23:51:07 2006 +++ llvm-poolalloc/lib/PoolAllocate/Heuristic.cpp Wed Jan 10 14:44:31 2007 @@ -456,8 +456,8 @@ void OnlyOverheadHeuristic::HackFunctionBody(Function F, std::mapconst DSNode*, Value* PDs) { - Function *PoolInit = PA-PoolInit; - Function *PoolDestroy = PA-PoolDestroy; + Constant *PoolInit = PA-PoolInit; + Constant *PoolDestroy = PA-PoolDestroy; Value *NullPD = getDynamicallyNullPool(F.front().begin()); for (std::mapconst DSNode*, Value*::iterator PDI = PDs.begin(), Index: llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp diff -u llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.75 llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.76 --- llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.75Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp Wed Jan 10 14:44:31 2007 @@ -34,8 +34,8 @@ using namespace llvm; /// MEMUINTTYPE - This is the actual type we are compressing to. This is really -/// only capable of being UIntTy, except when we are doing tests for 16-bit -/// integers, when it's UShortTy. +/// only capable of being Int32Ty, except when we are doing tests for 16-bit +/// integers, when it's Int16Ty. static const Type *MEMUINTTYPE; /// SCALARUINTTYPE - We keep scalars the same size as the machine word on the @@ -115,7 +115,7 @@ std::mapconst DSNode*, GlobalValue* CompressedGlobalPools; public: -Function *PoolInitPC, *PoolDestroyPC, *PoolAllocPC; +Constant *PoolInitPC, *PoolDestroyPC, *PoolAllocPC; typedef std::mapconst DSNode*, CompressedPoolInfo PoolInfoMap; /// NoArgFunctionsCalled - When we are walking the call graph, keep track of @@ -284,7 +284,7 @@ assert(PoolBase == 0 Mixing and matching optimized vs not!); // Get the pool base pointer. -Constant *Zero = Constant::getNullValue(Type::UIntTy); +Constant *Zero = Constant::getNullValue(Type::Int32Ty); Value *BasePtrPtr = new GetElementPtrInst(getPoolDesc(), Zero, Zero, poolbaseptrptr, I); return new LoadInst(BasePtrPtr, poolbaseptr, I); @@ -295,7 +295,7 @@ isaGlobalVariable(PoolDesc))) { BasicBlock::iterator IP = I.getParent()-getParent()-begin()-begin(); while (isaAllocaInst(IP)) ++IP; - Constant *Zero = Constant::getNullValue(Type::UIntTy); + Constant *Zero = Constant::getNullValue(Type::Int32Ty); Value *BasePtrPtr = new GetElementPtrInst(getPoolDesc(), Zero, Zero, poolbaseptrptr, IP); PoolBase = new LoadInst(BasePtrPtr, poolbaseptr, IP); @@ -515,7 +515,8 @@ void visitCastInst(CastInst CI); void visitPHINode(PHINode PN); void visitSelectInst(SelectInst SI); -void visitSetCondInst(SetCondInst SCI); +void
[llvm-commits] CVS: llvm-poolalloc/include/poolalloc/PoolAllocate.h
Changes in directory llvm-poolalloc/include/poolalloc: PoolAllocate.h updated: 1.52 - 1.53 --- Log message: Updated to new LLVM API. --- Diffs of the changes: (+3 -3) PoolAllocate.h |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm-poolalloc/include/poolalloc/PoolAllocate.h diff -u llvm-poolalloc/include/poolalloc/PoolAllocate.h:1.52 llvm-poolalloc/include/poolalloc/PoolAllocate.h:1.53 --- llvm-poolalloc/include/poolalloc/PoolAllocate.h:1.52Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/include/poolalloc/PoolAllocate.h Wed Jan 10 14:45:21 2007 @@ -131,10 +131,10 @@ #ifdef SAFECODE ConvertUnsafeAllocas *CUAPass; #endif - Function *PoolInit, *PoolDestroy, *PoolAlloc, *PoolRealloc, *PoolMemAlign; - Function *PoolFree; + Constant *PoolInit, *PoolDestroy, *PoolAlloc, *PoolRealloc, *PoolMemAlign; + Constant *PoolFree; #if defined(SAFECODE) || defined(BOUNDS_CHECK) - Function *PoolRegister; + Constant *PoolRegister; #endif static const Type *PoolDescPtrTy; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/demo/index.cgi
Changes in directory llvm-www/demo: index.cgi updated: 1.66 - 1.67 --- Log message: Updated to use my copy of the new LLVM tools and Andrew's newly built CFE. --- Diffs of the changes: (+5 -5) index.cgi | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm-www/demo/index.cgi diff -u llvm-www/demo/index.cgi:1.66 llvm-www/demo/index.cgi:1.67 --- llvm-www/demo/index.cgi:1.66Fri Sep 15 01:31:45 2006 +++ llvm-www/demo/index.cgi Tue Jan 9 10:33:12 2007 @@ -5,7 +5,7 @@ # doing remote web JO99C compilations. (It could still be used for that # purpose, though the two scripts have diverged somewhat.) # -# Last modified $Date: 2006/09/15 06:31:45 $ +# Last modified $Date: 2007/01/09 16:33:12 $ # use strict; @@ -29,9 +29,9 @@ my @PREPENDPATHDIRS = ( -'/home/vadve/criswell/box/x86/llvm-gcc/bin/', -'/home/vadve/gaeke/llvm/Release/bin', '/home/vadve/gaeke/bin', -'/home/vadve/gaeke/llvm/projects/Stacker/Release/bin' ); +'/home/vadve/alenhar2/cfe/install/bin/', +'/home/vadve/criswell/box/x86/latestllvm/Debug/bin', +'/home/vadve/criswell/box/x86/projects/Stacker/Debug/bin'); sub getname { my ($extension) = @_; @@ -377,7 +377,7 @@ $stats = -Wa,--stats,--time-passes,--info-output-file=$timerFile if ( $c-param('showstats') ); try_run( llvm C/C++ front-end (llvm-gcc), - llvm-gcc -W -Wall -O2 $stats -o $bytecodeFile -c $inputFile $outputFile 21, + llvm-gcc -emit-llvm -W -Wall -O2 $stats -o $bytecodeFile -c $inputFile $outputFile 21, $outputFile ); } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/include/poolalloc/Config/config.h.in
Changes in directory llvm-poolalloc/include/poolalloc/Config: config.h.in updated: 1.3.2.1 - 1.3.2.2 --- Log message: Merge in some DSA cleanup from mainline. --- Diffs of the changes: (+2 -0) config.h.in |2 ++ 1 files changed, 2 insertions(+) Index: llvm-poolalloc/include/poolalloc/Config/config.h.in diff -u llvm-poolalloc/include/poolalloc/Config/config.h.in:1.3.2.1 llvm-poolalloc/include/poolalloc/Config/config.h.in:1.3.2.2 --- llvm-poolalloc/include/poolalloc/Config/config.h.in:1.3.2.1 Wed Dec 13 15:58:21 2006 +++ llvm-poolalloc/include/poolalloc/Config/config.h.in Tue Jan 9 15:12:35 2007 @@ -410,6 +410,7 @@ /* Define if dlsym() requires a leading underscore in symbol names. */ #undef NEED_USCORE +#if 0 /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT @@ -424,6 +425,7 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +#endif /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/ADT/Statistic.h
Changes in directory llvm/include/llvm/ADT: Statistic.h updated: 1.21 - 1.22 --- Log message: Added operator methods to the Statistic class; some LLVM projects depend on these. --- Diffs of the changes: (+13 -1) Statistic.h | 14 +- 1 files changed, 13 insertions(+), 1 deletion(-) Index: llvm/include/llvm/ADT/Statistic.h diff -u llvm/include/llvm/ADT/Statistic.h:1.21 llvm/include/llvm/ADT/Statistic.h:1.22 --- llvm/include/llvm/ADT/Statistic.h:1.21 Tue Dec 19 15:27:47 2006 +++ llvm/include/llvm/ADT/Statistic.h Tue Dec 19 16:55:57 2006 @@ -51,7 +51,7 @@ const StatisticBase operator*=(const unsigned V) {Value *= V;return init();} const StatisticBase operator/=(const unsigned V) {Value /= V;return init();} -private: +protected: StatisticBase init() { if (!Initialized) RegisterStatistic(); return *this; @@ -63,6 +63,18 @@ Statistic(const char *name, const char *desc) { Name = name; Desc = desc; Value = 0; Initialized = 0; } + + // Allow use of this class as the value itself. + operator unsigned() const { return Value; } + const Statistic operator=(unsigned Val) { Value = Val; init(); return *this;} + const Statistic operator++() { ++Value; init(); return *this;} + unsigned operator++(int) { init(); return Value++; } + const Statistic operator--() { --Value; init(); return *this;} + unsigned operator--(int) { init(); return Value--; } + const Statistic operator+=(const unsigned V) {Value += V;init();return *this;} + const Statistic operator-=(const unsigned V) {Value -= V;init();return *this;} + const Statistic operator*=(const unsigned V) {Value *= V;init();return *this;} + const Statistic operator/=(const unsigned V) {Value /= V;init();return *this;} }; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/lib/DSA/DataStructure.cpp
Changes in directory llvm-poolalloc/lib/DSA: DataStructure.cpp updated: 1.248.2.1 - 1.248.2.2 --- Log message: Do not compile in pool inference code by default. --- Diffs of the changes: (+0 -1) DataStructure.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm-poolalloc/lib/DSA/DataStructure.cpp diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.1 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.2 --- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.248.2.1 Tue Dec 12 16:42:42 2006 +++ llvm-poolalloc/lib/DSA/DataStructure.cppWed Dec 13 10:25:34 2006 @@ -35,7 +35,6 @@ using namespace llvm; #define COLLAPSE_ARRAYS_AGGRESSIVELY 0 -#define LLVA_KERNEL 1 namespace { Statistic NumFolds (dsa, Number of nodes completely folded); Statistic NumCallNodesMerged(dsa, Number of call nodes merged); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_19] CVS: llvm-poolalloc/include/dsa/DSGraph.h DSGraphTraits.h DSNode.h
Changes in directory llvm-poolalloc/include/dsa: DSGraph.h updated: 1.110.2.2 - 1.110.2.3 DSGraphTraits.h updated: 1.25 - 1.25.2.1 DSNode.h updated: 1.58.2.1 - 1.58.2.2 --- Log message: Only use DSA header files from this project. --- Diffs of the changes: (+3 -3) DSGraph.h |2 +- DSGraphTraits.h |2 +- DSNode.h|2 +- 3 files changed, 3 insertions(+), 3 deletions(-) Index: llvm-poolalloc/include/dsa/DSGraph.h diff -u llvm-poolalloc/include/dsa/DSGraph.h:1.110.2.2 llvm-poolalloc/include/dsa/DSGraph.h:1.110.2.3 --- llvm-poolalloc/include/dsa/DSGraph.h:1.110.2.2 Tue Dec 12 17:20:47 2006 +++ llvm-poolalloc/include/dsa/DSGraph.hWed Dec 13 10:24:48 2006 @@ -15,7 +15,7 @@ #ifndef LLVM_ANALYSIS_DSGRAPH_H #define LLVM_ANALYSIS_DSGRAPH_H -#include llvm/Analysis/DataStructure/DSNode.h +#include dsa/DSNode.h #include llvm/ADT/hash_map #include llvm/ADT/EquivalenceClasses.h #include list Index: llvm-poolalloc/include/dsa/DSGraphTraits.h diff -u llvm-poolalloc/include/dsa/DSGraphTraits.h:1.25 llvm-poolalloc/include/dsa/DSGraphTraits.h:1.25.2.1 --- llvm-poolalloc/include/dsa/DSGraphTraits.h:1.25 Thu Nov 2 19:43:47 2006 +++ llvm-poolalloc/include/dsa/DSGraphTraits.h Wed Dec 13 10:24:48 2006 @@ -16,7 +16,7 @@ #ifndef LLVM_ANALYSIS_DSGRAPHTRAITS_H #define LLVM_ANALYSIS_DSGRAPHTRAITS_H -#include llvm/Analysis/DataStructure/DSGraph.h +#include dsa/DSGraph.h #include llvm/ADT/GraphTraits.h #include llvm/ADT/iterator #include llvm/ADT/STLExtras.h Index: llvm-poolalloc/include/dsa/DSNode.h diff -u llvm-poolalloc/include/dsa/DSNode.h:1.58.2.1 llvm-poolalloc/include/dsa/DSNode.h:1.58.2.2 --- llvm-poolalloc/include/dsa/DSNode.h:1.58.2.1Tue Dec 12 16:42:37 2006 +++ llvm-poolalloc/include/dsa/DSNode.h Wed Dec 13 10:24:48 2006 @@ -14,7 +14,7 @@ #ifndef LLVM_ANALYSIS_DSNODE_H #define LLVM_ANALYSIS_DSNODE_H -#include llvm/Analysis/DataStructure/DSSupport.h +#include dsa/DSSupport.h #include llvm/ADT/hash_map namespace llvm { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/LinkAllPasses.h
Changes in directory llvm/include/llvm: LinkAllPasses.h updated: 1.4 - 1.5 --- Log message: Remove DSA. --- Diffs of the changes: (+0 -11) LinkAllPasses.h | 11 --- 1 files changed, 11 deletions(-) Index: llvm/include/llvm/LinkAllPasses.h diff -u llvm/include/llvm/LinkAllPasses.h:1.4 llvm/include/llvm/LinkAllPasses.h:1.5 --- llvm/include/llvm/LinkAllPasses.h:1.4 Mon Nov 13 23:21:04 2006 +++ llvm/include/llvm/LinkAllPasses.h Wed Dec 13 10:53:17 2006 @@ -57,8 +57,6 @@ (void) llvm::createConstantMergePass(); (void) llvm::createConstantPropagationPass(); (void) llvm::createCorrelatedExpressionEliminationPass(); - (void) llvm::createDSAAPass(); - (void) llvm::createDSOptPass(); (void) llvm::createDeadArgEliminationPass(); (void) llvm::createDeadCodeEliminationPass(); (void) llvm::createDeadInstEliminationPass(); @@ -106,7 +104,6 @@ (void) llvm::createScalarReplAggregatesPass(); (void) llvm::createSimplifyLibCallsPass(); (void) llvm::createSingleLoopExtractorPass(); - (void) llvm::createSteensgaardPass(); (void) llvm::createStripSymbolsPass(); (void) llvm::createTailCallEliminationPass(); (void) llvm::createTailDuplicationPass(); @@ -118,22 +115,14 @@ (void) llvm::createNullProfilerRSPass(); (void) llvm::createRSProfilingPass(); (void) llvm::createIndMemRemPass(); - (void) llvm::createDataStructureStatsPass(); - (void) llvm::createDataStructureGraphCheckerPass(); (void) llvm::createInstCountPass(); (void) llvm::createPredicateSimplifierPass(); - (void)new llvm::LocalDataStructures(); - (void)new llvm::BUDataStructures(); - (void)new llvm::TDDataStructures(); - (void)new llvm::CompleteBUDataStructures(); - (void)new llvm::EquivClassGraphs(); (void)new llvm::IntervalPartition(); (void)new llvm::ImmediateDominators(); (void)new llvm::PostDominatorSet(); (void)new llvm::FindUsedTypes(); (void)new llvm::ScalarEvolution(); - (void)new llvm::CallTargetFinder(); ((llvm::Function*)0)-viewCFGOnly(); llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)0); X.add((llvm::Value*)0, 0); // for -print-alias-sets ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/opt/Makefile
Changes in directory llvm/tools/opt: Makefile updated: 1.59 - 1.60 --- Log message: Remove DSA. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/opt/Makefile diff -u llvm/tools/opt/Makefile:1.59 llvm/tools/opt/Makefile:1.60 --- llvm/tools/opt/Makefile:1.59Mon Sep 4 00:59:09 2006 +++ llvm/tools/opt/Makefile Wed Dec 13 10:54:05 2006 @@ -11,6 +11,6 @@ REQUIRES_EH := 1 LINK_COMPONENTS := bcreader bcwriter instrumentation scalaropts ipo \ - datastructure transforms + transforms include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Analysis/Makefile
Changes in directory llvm/lib/Analysis: Makefile updated: 1.11 - 1.12 --- Log message: Remove DSA. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Analysis/Makefile diff -u llvm/lib/Analysis/Makefile:1.11 llvm/lib/Analysis/Makefile:1.12 --- llvm/lib/Analysis/Makefile:1.11 Sun Oct 23 21:24:54 2005 +++ llvm/lib/Analysis/Makefile Wed Dec 13 10:54:24 2006 @@ -9,7 +9,7 @@ LEVEL = ../.. LIBRARYNAME = LLVMAnalysis -PARALLEL_DIRS = IPA DataStructure +PARALLEL_DIRS = IPA BUILD_ARCHIVE = 1 include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/bugpoint/Makefile
Changes in directory llvm/tools/bugpoint: Makefile updated: 1.19 - 1.20 --- Log message: Remove DSA. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/bugpoint/Makefile diff -u llvm/tools/bugpoint/Makefile:1.19 llvm/tools/bugpoint/Makefile:1.20 --- llvm/tools/bugpoint/Makefile:1.19 Mon Sep 4 00:59:09 2006 +++ llvm/tools/bugpoint/MakefileWed Dec 13 10:54:08 2006 @@ -11,7 +11,7 @@ TOOLNAME = bugpoint LINK_COMPONENTS := bcreader bcwriter asmparser instrumentation scalaropts ipo \ - datastructure transforms linker + transforms linker REQUIRES_EH := 1 include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Analysis/DSGraph/.cvsignore
Changes in directory llvm/test/Regression/Analysis/DSGraph: .cvsignore (r1.2) removed --- Log message: Remove DSA tests. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Analysis/DSGraph/2003-06-29-IncompleteTDPass.ll 2003-06-29-NodeCollapsing.ll 2003-06-29-NodeCollapsing2.ll 2003-06-30-TopDownResolve.ll 2003-07-01-FieldCollaps
Changes in directory llvm/test/Regression/Analysis/DSGraph: 2003-06-29-IncompleteTDPass.ll (r1.5) removed 2003-06-29-NodeCollapsing.ll (r1.4) removed 2003-06-29-NodeCollapsing2.ll (r1.5) removed 2003-06-30-TopDownResolve.ll (r1.6) removed 2003-07-01-FieldCollapse.ll (r1.5) removed 2003-07-16-ConstantExprCollapse.ll (r1.5) removed 2003-11-02-NodeCollapsing.ll (r1.5) removed 2004-02-13-memcpy.ll (r1.7) removed 2004-03-10-ElimLoad.ll (r1.3) removed 2004-03-10-NoElimLoad.ll (r1.3) removed 2005-03-22-IncompleteGlobal.ll (r1.6) removed 2005-03-24-Global-Arg-Alias.ll (r1.3) removed 2006-03-27-LinkedCollapsed.ll (r1.3) removed 2006-04-13-ZeroArrayStruct.ll (r1.3) removed 2006-04-25-ZeroArrayStructUse.ll (r1.4) removed FunctionPointerTable-const.ll (r1.6) removed GlobalsGraphFuncPtr.ll (r1.6) removed HardBUCase.ll (r1.5) removed PhysicalSubtyping.ll (r1.5) removed SCCSimpleExample.ll (r1.4) removed buglobals.ll (r1.3) removed constant_globals.ll (r1.6) removed constantize.ll (r1.3) removed field-sensitive.ll (r1.2) removed gcsetest.ll (r1.8) removed incompletenode.ll (r1.5) removed mustalias.ll (r1.5) removed strcpy.ll (r1.5) removed --- Log message: Remove DSA tests. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/DSAnalysis/arraymerge.ll arraytest.ll badcases.ll basictest.ll dg.exp fieldmerge.ll goodcases.ll indcalltest.ll misctests.ll physicalsubtype.ll recu
Changes in directory llvm/test/Regression/Transforms/DSAnalysis: arraymerge.ll (r1.5) removed arraytest.ll (r1.6) removed badcases.ll (r1.6) removed basictest.ll (r1.6) removed dg.exp (r1.3) removed fieldmerge.ll (r1.6) removed goodcases.ll (r1.5) removed indcalltest.ll (r1.5) removed misctests.ll (r1.6) removed physicalsubtype.ll (r1.6) removed recursion.ll (r1.5) removed simplest-test.ll (r1.5) removed simpletest.ll (r1.5) removed structpadding.ll (r1.6) removed --- Log message: Remove DSA tests. --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits