Justin Seyster [Wed, 20 Oct 2010 20:03:51 +0000 (16:03 -0400)]
Added test case for passing constants to advice.
Justin Seyster [Wed, 20 Oct 2010 20:01:03 +0000 (16:01 -0400)]
Fixed test broken by changing the type for AOP_INST_CST().
Justin Seyster [Wed, 20 Oct 2010 19:54:34 +0000 (15:54 -0400)]
Fixed precision-lossy cast to float.
Justin Seyster [Wed, 20 Oct 2010 18:48:36 +0000 (14:48 -0400)]
Correctly set types for constant values.
Justin Seyster [Wed, 20 Oct 2010 18:48:16 +0000 (14:48 -0400)]
Clarify documentation for AOP_INT_CST.
Justin Seyster [Wed, 20 Oct 2010 18:38:06 +0000 (14:38 -0400)]
Renamed AOP_FLOAT_CST() to AOP_DOUBLE_CST().
That's actually what it was, and naming it with FLOAT was confusing.
Justin Seyster [Wed, 20 Oct 2010 18:24:35 +0000 (14:24 -0400)]
No longer need a join point to find out the current function name.
Justin Seyster [Wed, 20 Oct 2010 01:00:32 +0000 (21:00 -0400)]
New README file. Clarification about Autotools in INSTALL.
Justin Seyster [Tue, 19 Oct 2010 23:12:58 +0000 (19:12 -0400)]
Copyright and licensing clarifications. Added runtime exception.
Justin Seyster [Wed, 13 Oct 2010 00:39:20 +0000 (20:39 -0400)]
Fixed bug caused by trying to do casts directly in advice calls.
Justin Seyster [Thu, 23 Sep 2010 22:59:06 +0000 (18:59 -0400)]
Merge branch 'in_param'
Justin Seyster [Thu, 23 Sep 2010 22:58:16 +0000 (18:58 -0400)]
Updated docs for in_params.
Justin Seyster [Thu, 23 Sep 2010 22:36:35 +0000 (18:36 -0400)]
Added test case for in_param support on all pointcut types.
Justin Seyster [Thu, 23 Sep 2010 22:28:26 +0000 (18:28 -0400)]
Added in_param filtering to all pointcuts.
Justin Seyster [Thu, 23 Sep 2010 20:36:17 +0000 (16:36 -0400)]
Fixed check_in_params().
Justin Seyster [Thu, 23 Sep 2010 00:24:27 +0000 (20:24 -0400)]
Added test case for inparams.
Justin Seyster [Thu, 23 Sep 2010 00:24:08 +0000 (20:24 -0400)]
Fixed uninitialized variable warning.
Ketan Dixit [Thu, 16 Sep 2010 00:06:29 +0000 (20:06 -0400)]
Generic param capture for pointcut
Justin Seyster [Thu, 9 Sep 2010 00:45:18 +0000 (20:45 -0400)]
Distributor prototypes now appear in header files. (With test case.)
Justin Seyster [Thu, 9 Sep 2010 00:34:13 +0000 (20:34 -0400)]
Added duplication test case.
Justin Seyster [Thu, 9 Sep 2010 00:18:56 +0000 (20:18 -0400)]
Added noinstrument attribute (with test case).
Justin Seyster [Wed, 8 Sep 2010 02:49:49 +0000 (22:49 -0400)]
Assign join points also do not instrument advice calls.
The only time an advice call would appear in an assignment is when
it's a distributor function. A modification to
duplicate_function_body() was also necessary so that the inserted
distributor call is in the advice table.
Justin Seyster [Wed, 8 Sep 2010 02:17:20 +0000 (22:17 -0400)]
Make sure not to instrument calls to advice functions.
Along with relevant test cases.
Justin Seyster [Wed, 8 Sep 2010 02:04:16 +0000 (22:04 -0400)]
Fixed aop_register_pass() order.
We now insert BEFORE "veclower" instead of AFTER "cfg." The result is
the same when inserting just one pass, but when inserting multiple
passes, the order is preserved (i.e., passes occur in the same order
as they were inserted).
Justin Seyster [Wed, 8 Sep 2010 01:50:05 +0000 (21:50 -0400)]
Added a new initialization pass.
Justin Seyster [Wed, 8 Sep 2010 00:47:18 +0000 (20:47 -0400)]
Merge branch 'autoheaders'
Justin Seyster [Tue, 7 Sep 2010 22:25:21 +0000 (18:25 -0400)]
Check prototypes for struct/union/enum types testcase.
Justin Seyster [Tue, 7 Sep 2010 22:24:45 +0000 (18:24 -0400)]
Check prototypes for pointer types testcase.
Justin Seyster [Tue, 7 Sep 2010 22:24:22 +0000 (18:24 -0400)]
Check prototypes for float types testcase.
Justin Seyster [Tue, 7 Sep 2010 22:20:16 +0000 (18:20 -0400)]
Make int types test case use aop_finish() for writing its header.
Justin Seyster [Tue, 7 Sep 2010 22:19:54 +0000 (18:19 -0400)]
Added aop_finish().
Justin Seyster [Mon, 6 Sep 2010 21:06:47 +0000 (17:06 -0400)]
Added header generation to int types test case.
Justin Seyster [Mon, 6 Sep 2010 21:05:14 +0000 (17:05 -0400)]
Fixed incorrect qsort comparitor. Removed annoying debug printfs.
Hopefully, I also learned a valuable lesson about ignoring GCC
warnings.
Justin Seyster [Mon, 6 Sep 2010 20:58:19 +0000 (16:58 -0400)]
run-testcase.py can check the output of an automatic header file.
Justin Seyster [Sat, 4 Sep 2010 00:32:39 +0000 (20:32 -0400)]
Added a way to see arguments passed to the GCC command line.
Justin Seyster [Fri, 3 Sep 2010 22:32:08 +0000 (18:32 -0400)]
Merge branch 'master' into autoheaders
Justin Seyster [Fri, 3 Sep 2010 22:31:06 +0000 (18:31 -0400)]
Merge branch 'testcases'
Justin Seyster [Fri, 3 Sep 2010 22:24:21 +0000 (18:24 -0400)]
Rewrote format_c_type() to deal with all aop_type objects.
Justin Seyster [Fri, 3 Sep 2010 00:13:48 +0000 (20:13 -0400)]
get_param_types() no longer balks at AOP_STR_CST() params.
Justin Seyster [Fri, 3 Sep 2010 00:01:48 +0000 (20:01 -0400)]
Turns out you're supposed to NULL terminate linked lists.
Justin Seyster [Thu, 2 Sep 2010 23:53:14 +0000 (19:53 -0400)]
Fix: allocating just a pointer instead of the whole struct.
Justin Seyster [Thu, 2 Sep 2010 22:54:05 +0000 (18:54 -0400)]
Merge branch 'master' into autoheaders
Conflicts:
src/Makefile.am
src/aop-main.c
src/aop-type.h
src/aop.h
Justin Seyster [Thu, 2 Sep 2010 22:24:20 +0000 (18:24 -0400)]
Added struct/union/enum types test.
Justin Seyster [Thu, 2 Sep 2010 22:20:20 +0000 (18:20 -0400)]
Added pointer types test case.
Justin Seyster [Thu, 2 Sep 2010 21:46:46 +0000 (17:46 -0400)]
Added test case for matching floating point types.
Justin Seyster [Thu, 2 Sep 2010 20:56:44 +0000 (16:56 -0400)]
Test cases now work when the builddir is not the srcdir.
Justin Seyster [Thu, 2 Sep 2010 20:45:01 +0000 (16:45 -0400)]
Exit with error code when test case fails.
Fixed typo in failure message.
Justin Seyster [Thu, 2 Sep 2010 20:34:00 +0000 (16:34 -0400)]
Hooked the run-testcase.py script into all the autoconf magic.
Test cases can now be run with make check!
Justin Seyster [Thu, 2 Sep 2010 00:53:07 +0000 (20:53 -0400)]
Added test case for integer type matching.
Justin Seyster [Thu, 2 Sep 2010 00:39:27 +0000 (20:39 -0400)]
Better error handling and reporting in run-testcase.py
Testcases now report whether runs failed or succeeded.
Justin Seyster [Thu, 2 Sep 2010 00:18:40 +0000 (20:18 -0400)]
run-testcase.py now checks the output of the test program.
Justin Seyster [Thu, 2 Sep 2010 00:16:55 +0000 (20:16 -0400)]
Fixed misspelled assertion.
Justin Seyster [Wed, 1 Sep 2010 19:34:56 +0000 (15:34 -0400)]
Test script no longer automatically generates hooks.
Instead, it is necessary to supply a user-written hooks in a separate
source file. This makes the test case system much simpler and more
flexible.
Justin Seyster [Tue, 20 Jul 2010 01:26:27 +0000 (21:26 -0400)]
Trailing slash no longer necesseary for -with-ia-src-dir option.
Justin Seyster [Tue, 20 Jul 2010 01:25:30 +0000 (21:25 -0400)]
Added the XML DTD for test case descriptions.
Justin Seyster [Fri, 27 Aug 2010 01:13:49 +0000 (21:13 -0400)]
Documentation for new type functions.
Justin Seyster [Fri, 27 Aug 2010 00:15:28 +0000 (20:15 -0400)]
Added convenience functions for specifying pointers to structs/unions.
Justin Seyster [Fri, 27 Aug 2010 00:08:35 +0000 (20:08 -0400)]
Ability to create and match enum types.
Justin Seyster [Fri, 27 Aug 2010 00:00:29 +0000 (20:00 -0400)]
Ability to create and match struct and union types.
Justin Seyster [Thu, 26 Aug 2010 01:28:57 +0000 (21:28 -0400)]
Documentation for aop_t_pointer_to().
Justin Seyster [Thu, 26 Aug 2010 01:17:09 +0000 (21:17 -0400)]
Now possible to match specific pointer types.
Justin Seyster [Thu, 26 Aug 2010 01:15:36 +0000 (21:15 -0400)]
Fixed wrong definitions for is_all_integer_type(), is_all_fp_type().
Justin Seyster [Tue, 24 Aug 2010 22:45:12 +0000 (18:45 -0400)]
Documentation for fp types.
Justin Seyster [Tue, 24 Aug 2010 22:38:05 +0000 (18:38 -0400)]
Added specific types for different sized fp types.
Justin Seyster [Tue, 24 Aug 2010 22:30:04 +0000 (18:30 -0400)]
Correctly handle "all fp" types.
Justin Seyster [Tue, 24 Aug 2010 21:48:30 +0000 (17:48 -0400)]
Fixed Doxygen syntax error that got copy/paste propagated.
Justin Seyster [Tue, 24 Aug 2010 21:47:51 +0000 (17:47 -0400)]
Documentation for integer types.
Justin Seyster [Tue, 24 Aug 2010 21:26:44 +0000 (17:26 -0400)]
Added specific types for different sized integers.
Justin Seyster [Tue, 24 Aug 2010 20:04:51 +0000 (16:04 -0400)]
Detailed comments for "all signed" and "all unsigned" types.
Justin Seyster [Tue, 24 Aug 2010 20:04:27 +0000 (16:04 -0400)]
Correctly handle discrepancy between formal and actual parameters.
A long comment in the commit describes the problem in (excruciating)
detail.
Justin Seyster [Tue, 24 Aug 2010 20:03:22 +0000 (16:03 -0400)]
Correctly handle "all integer" types.
Every integer value matched with aop_t_all_signed() or
aop_t_all_unsigned() now gets cast to long long integer or long long
unsigned (respectively).
Justin Seyster [Tue, 17 Aug 2010 00:03:17 +0000 (20:03 -0400)]
Fixed bug involving labels in GIMPLE_COND statements.
Turns out that once we're at the GIMPLE level, GIMPLE_CONDs should no
longer have labels. The optimization routine that gets rid of
"forwarder" basic blocks is aware of this, so it does not update the
labes in the GIMPLE_COND when it redirects an edge.
The routine that cleans up unnecessary labels, however, sees these
labels, which may have been destroyed by the forwarder optimization,
and can crash as a result.
Justin Seyster [Mon, 16 Aug 2010 00:06:21 +0000 (20:06 -0400)]
Fixed assertion failure when geting block index for a function param.
Justin Seyster [Sat, 14 Aug 2010 02:30:14 +0000 (22:30 -0400)]
Fixed crash when initial block has no first_stmt.
Still need to figure out how to correctly get the filename/lineno for
functions that have an entry block with no first_stmt.
Justin Seyster [Sat, 14 Aug 2010 01:59:36 +0000 (21:59 -0400)]
Fixed bug when duplicating empty basic blocks.
Ketan Dixit [Wed, 4 Aug 2010 20:53:10 +0000 (16:53 -0400)]
Added missing code block in find_lexical_block
Justin Seyster [Fri, 13 Aug 2010 23:26:44 +0000 (19:26 -0400)]
Fixed bug when trying to get the filename/lineno for a function entry.
Justin Seyster [Fri, 13 Aug 2010 23:05:32 +0000 (19:05 -0400)]
Added documentation for join_on functions.
Justin Seyster [Fri, 13 Aug 2010 23:03:36 +0000 (19:03 -0400)]
Merge branch 'duplicate'
Conflicts:
src/aop-pc-assign.c
src/aop-pc-entry.c
src/aop-pc-exit.c
src/aop-pc-fun-call.c
src/aop-pointcut.c
src/aop-pointcut.h
Justin Seyster [Fri, 13 Aug 2010 22:50:17 +0000 (18:50 -0400)]
Merge branch 'workspace'
Ketan Dixit [Fri, 13 Aug 2010 22:30:29 +0000 (18:30 -0400)]
Capturing line no and file name of a joinpoint
Justin Seyster [Fri, 13 Aug 2010 20:53:26 +0000 (16:53 -0400)]
Ignore Makefile again, now that autoconf generates it.
Justin Seyster [Fri, 13 Aug 2010 20:52:22 +0000 (16:52 -0400)]
Workspace directory now works correctly when using separate build dir.
Justin Seyster [Fri, 13 Aug 2010 00:06:52 +0000 (20:06 -0400)]
Added documentation for the new aop_duplicate() function.
Justin Seyster [Fri, 13 Aug 2010 00:06:40 +0000 (20:06 -0400)]
Prevent an internal struct from appearing in the Doxygen docs.
Justin Seyster [Thu, 12 Aug 2010 23:23:46 +0000 (19:23 -0400)]
aop_join_on_copy() support for function exit pointcuts.
Justin Seyster [Thu, 12 Aug 2010 22:59:51 +0000 (18:59 -0400)]
aop_join_on_copy() support for function entry pointcuts.
Added in_edge field to join points to support this feature.
Justin Seyster [Thu, 12 Aug 2010 20:13:01 +0000 (16:13 -0400)]
aop_join_on_copy() support for assignment pointcut.
Justin Seyster [Thu, 12 Aug 2010 19:51:27 +0000 (15:51 -0400)]
Added aop_join_on_copy().
Justin Seyster [Thu, 12 Aug 2010 19:30:38 +0000 (15:30 -0400)]
The two copies of a duplicated function are now available for joining.
The basic block pairs are now stored in globally accessible place and
are set up to get garbage collected when the pass ends.
Justin Seyster [Wed, 11 Aug 2010 23:41:13 +0000 (19:41 -0400)]
Added support for duplicating a function.
Justin Seyster [Mon, 2 Aug 2010 22:47:20 +0000 (18:47 -0400)]
Updated comments to explain the new aop_capture_lhs_name() semantics.
Ketan Dixit [Mon, 2 Aug 2010 21:47:33 +0000 (17:47 -0400)]
Generate-unique-no-for-lexical-block-in-fun-scope
Justin Seyster [Wed, 28 Jul 2010 00:51:43 +0000 (20:51 -0400)]
Updated doxygen comments for aop_capture_lhs_var_scope.
Ketan Dixit [Tue, 27 Jul 2010 22:34:41 +0000 (18:34 -0400)]
Added support for capturing lhs var scope
Justin Seyster [Mon, 19 Jul 2010 23:34:14 +0000 (19:34 -0400)]
Support for reading in a header file's contents before overwriting it.
Includes locking to prevent race conditions with parallel builds.
Justin Seyster [Thu, 15 Jul 2010 23:30:55 +0000 (19:30 -0400)]
Minor formatting.
Ketan Dixit [Thu, 15 Jul 2010 22:44:13 +0000 (18:44 -0400)]
Added common init function for joinpoint
Ketan Dixit [Wed, 14 Jul 2010 21:02:00 +0000 (17:02 -0400)]
Added generic constructor for pointcut
Justin Seyster [Thu, 15 Jul 2010 23:22:37 +0000 (19:22 -0400)]
Added initial support for writing out a header file.