libfirm
15 years agoDo not pass the cg to transform_nodes().
Christoph Mallon [Thu, 9 Oct 2008 06:15:29 +0000 (06:15 +0000)]
Do not pass the cg to transform_nodes().

[r22622]

15 years agoRemove pointless local variable.
Christoph Mallon [Thu, 9 Oct 2008 05:54:43 +0000 (05:54 +0000)]
Remove pointless local variable.

[r22621]

15 years agoRemove be_get_old_anchor(), it is not necessary.
Christoph Mallon [Wed, 8 Oct 2008 16:14:25 +0000 (16:14 +0000)]
Remove be_get_old_anchor(), it is not necessary.

[r22618]

15 years agoRemove the attribute int visited from struct be_transform_env_t. It is write-only.
Christoph Mallon [Wed, 8 Oct 2008 14:55:25 +0000 (14:55 +0000)]
Remove the attribute int visited from struct be_transform_env_t.  It is write-only.

[r22615]

15 years agoMark the old node as visited in be_set_transformed_node().
Christoph Mallon [Wed, 8 Oct 2008 14:47:19 +0000 (14:47 +0000)]
Mark the old node as visited in be_set_transformed_node().

[r22614]

15 years agoDo not mark the node as visited before transforming it. This is not necessary anymor...
Christoph Mallon [Wed, 8 Oct 2008 14:46:11 +0000 (14:46 +0000)]
Do not mark the node as visited before transforming it.  This is not necessary anymore since Phis put their predecessors in a worklist, so we cannot walk in a circle.

[r22613]

15 years agoDo not mark the transformed as visited. It makes no sense at all.
Christoph Mallon [Wed, 8 Oct 2008 14:40:49 +0000 (14:40 +0000)]
Do not mark the transformed as visited.  It makes no sense at all.

[r22612]

15 years agoRemove redundant be_set_transformed_node() in transformer functions. They are vestig...
Christoph Mallon [Wed, 8 Oct 2008 14:13:52 +0000 (14:13 +0000)]
Remove redundant be_set_transformed_node() in transformer functions.  They are vestiges of old transform semantics.  Their caller (transform helper) handles this.

[r22610]

15 years agoIntroduce ia32_Call, which can handle address mode.
Christoph Mallon [Wed, 8 Oct 2008 14:06:58 +0000 (14:06 +0000)]
Introduce ia32_Call, which can handle address mode.

[r22609]

15 years agoNo need to ignore Projs in the emitter, because there are none in the schedule.
Christoph Mallon [Wed, 8 Oct 2008 14:00:38 +0000 (14:00 +0000)]
No need to ignore Projs in the emitter, because there are none in the schedule.

[r22608]

15 years agoSort.
Christoph Mallon [Wed, 8 Oct 2008 13:55:17 +0000 (13:55 +0000)]
Sort.

[r22606]

15 years ago- BugFix: fix the rare case where two nodes a congruent, but have different modes
Michael Beck [Wed, 8 Oct 2008 11:42:56 +0000 (11:42 +0000)]
- BugFix: fix the rare case where two nodes a congruent, but have different modes
  This happens for instance with AddP(x, NULL) and x.
  Add a Conv than.

[r22603]

15 years agoAdd ia32_emitf() to concisely output ia32 instructions.
Christoph Mallon [Wed, 8 Oct 2008 10:29:13 +0000 (10:29 +0000)]
Add ia32_emitf() to concisely output ia32 instructions.

[r22602]

15 years agoMake ia32_assign_exc_label() static and remove redundant test.
Christoph Mallon [Wed, 8 Oct 2008 10:12:44 +0000 (10:12 +0000)]
Make ia32_assign_exc_label() static and remove redundant test.

[r22601]

15 years agoSlightly simplify jump table emitter.
Christoph Mallon [Wed, 8 Oct 2008 09:32:42 +0000 (09:32 +0000)]
Slightly simplify jump table emitter.

[r22600]

15 years agoDo not emit cld in the CopyB prologue. The ABI mandates that DF is cleared, so do...
Christoph Mallon [Wed, 8 Oct 2008 09:01:46 +0000 (09:01 +0000)]
Do not emit cld in the CopyB prologue.  The ABI mandates that DF is cleared, so do not bother performing this NOP.

[r22599]

15 years agoSimplify emit_CopyB_prolog() and remove an unnecessary bit filter before calling it.
Christoph Mallon [Wed, 8 Oct 2008 08:54:21 +0000 (08:54 +0000)]
Simplify emit_CopyB_prolog() and remove an unnecessary bit filter before calling it.

[r22598]

15 years agoMake it a bit more clear, what's going on in ia32_emit_x87_binop().
Christoph Mallon [Wed, 8 Oct 2008 08:13:35 +0000 (08:13 +0000)]
Make it a bit more clear, what's going on in ia32_emit_x87_binop().

[r22597]

15 years ago- fixed some comment typos
Michael Beck [Wed, 8 Oct 2008 00:23:30 +0000 (00:23 +0000)]
- fixed some comment typos

[r22596]

15 years ago- Add support for commutative congruences: Add(a,b) and Add(b,a) are
Michael Beck [Wed, 8 Oct 2008 00:06:47 +0000 (00:06 +0000)]
- Add support for commutative congruences: Add(a,b) and Add(b,a) are
  congruent now
- add some explaining comment for the "wrong opcode after
  split_by(lambda_opcode) problem
- new checker added
- improved debug output

[r22595]

15 years agoand again
Matthias Braun [Tue, 7 Oct 2008 19:38:27 +0000 (19:38 +0000)]
and again

[r22594]

15 years agoagain
Matthias Braun [Tue, 7 Oct 2008 18:51:00 +0000 (18:51 +0000)]
again

[r22593]

15 years agorevert change for now breaks 255.vortex and 253.perlbmk
Matthias Braun [Tue, 7 Oct 2008 17:32:21 +0000 (17:32 +0000)]
revert change for now breaks 255.vortex and 253.perlbmk

[r22586]

15 years agoanother test
Matthias Braun [Tue, 7 Oct 2008 17:30:17 +0000 (17:30 +0000)]
another test

[r22585]

15 years agoanother fix for the delayed phi problem, mark memperms as spill+reload
Matthias Braun [Tue, 7 Oct 2008 16:56:21 +0000 (16:56 +0000)]
another fix for the delayed phi problem, mark memperms as spill+reload

[r22584]

15 years ago- cond-eval is ok, gvn-pre has a problem with the do loop
Michael Beck [Tue, 7 Oct 2008 16:38:56 +0000 (16:38 +0000)]
- cond-eval is ok, gvn-pre has a problem with the do loop

[r22583]

15 years ago- some strange combination of cond-eval and gvn-pre
Michael Beck [Tue, 7 Oct 2008 16:29:07 +0000 (16:29 +0000)]
- some strange combination of cond-eval and gvn-pre

[r22582]

15 years ago- do not clean up keep-alives here
Michael Beck [Tue, 7 Oct 2008 15:52:45 +0000 (15:52 +0000)]
- do not clean up keep-alives here
- ensure that really all blocks are initialized

[r22581]

15 years ago- fixed strange code: when did it break?
Michael Beck [Tue, 7 Oct 2008 14:54:04 +0000 (14:54 +0000)]
- fixed strange code: when did it break?

[r22579]

15 years ago- kill Bad nodes from the keep-alive list
Michael Beck [Tue, 7 Oct 2008 14:50:58 +0000 (14:50 +0000)]
- kill Bad nodes from the keep-alive list

[r22578]

15 years ago- used new irg_walk_blkwise_dom_top_down() to calculate the value of each node
Michael Beck [Tue, 7 Oct 2008 13:27:03 +0000 (13:27 +0000)]
- used new irg_walk_blkwise_dom_top_down() to calculate the value of each node
  as needed in first phase of BuildSets

[r22574]

15 years ago- we need irg_walk_blkwise_dom_top_down() instead of
Michael Beck [Tue, 7 Oct 2008 13:23:57 +0000 (13:23 +0000)]
- we need irg_walk_blkwise_dom_top_down() instead of
  irg_walk_blkwise_dom_graph()

[r22573]

15 years ago- kill Bad nodes from the keep-alive list: these arise from the new
Michael Beck [Tue, 7 Oct 2008 13:04:35 +0000 (13:04 +0000)]
- kill Bad nodes from the keep-alive list: these arise from the new
  keep-semantics (all memory must be kept in loops)

[r22572]

15 years ago- re-enabled global-non-null test, but place Confirms only before Cmp nodes
Michael Beck [Tue, 7 Oct 2008 12:34:36 +0000 (12:34 +0000)]
- re-enabled global-non-null test, but place Confirms only before Cmp nodes

[r22571]

15 years agoAdd irn_visited_else_mark(), which combines irn_visited() and mark_irn_visited().
Christoph Mallon [Tue, 7 Oct 2008 09:39:20 +0000 (09:39 +0000)]
Add irn_visited_else_mark(), which combines irn_visited() and mark_irn_visited().

[r22563]

15 years agofild and fist can handle 16bit source/destination.
Christoph Mallon [Tue, 7 Oct 2008 09:32:28 +0000 (09:32 +0000)]
fild and fist can handle 16bit source/destination.

[r22562]

15 years agoUse separate code to emit suffixes for integer and floating point instructions, becau...
Christoph Mallon [Tue, 7 Oct 2008 09:31:24 +0000 (09:31 +0000)]
Use separate code to emit suffixes for integer and floating point instructions, because GAS wants different suffixes for 16bit /integer/ operands ("w" vs. "s") for them.

[r22561]

15 years agofix last fix (+ optimisation: don't do anything if copy and orig are the same)
Matthias Braun [Mon, 6 Oct 2008 20:44:07 +0000 (20:44 +0000)]
fix last fix (+ optimisation: don't do anything if copy and orig are the same)

[r22552]

15 years ago- reenabled modeb handling after condeval fix
Michael Beck [Mon, 6 Oct 2008 20:24:08 +0000 (20:24 +0000)]
- reenabled modeb handling after condeval fix

[r22551]

15 years agofix condeval ssa recondstruction
Matthias Braun [Mon, 6 Oct 2008 19:02:12 +0000 (19:02 +0000)]
fix condeval ssa recondstruction

[r22550]

15 years agoAdding a smaller variant of fehler044
Andreas Zwinkau [Mon, 6 Oct 2008 17:29:52 +0000 (17:29 +0000)]
Adding a smaller variant of fehler044

[r22546]

15 years ago- implemented irg_walk_blkwise_dom_graph()
Michael Beck [Mon, 6 Oct 2008 15:14:39 +0000 (15:14 +0000)]
- implemented irg_walk_blkwise_dom_graph()

[r22541]

15 years agodisable femms usage for now
Matthias Braun [Mon, 6 Oct 2008 14:43:12 +0000 (14:43 +0000)]
disable femms usage for now

[r22539]

15 years ago- indentation fixed
Michael Beck [Mon, 6 Oct 2008 14:40:05 +0000 (14:40 +0000)]
- indentation fixed

[r22538]

15 years agofix typo
Matthias Braun [Mon, 6 Oct 2008 13:47:35 +0000 (13:47 +0000)]
fix typo

[r22535]

15 years ago- BugFix: fixed sc_print() for modes with bitsize non dividable by 4
Michael Beck [Mon, 6 Oct 2008 13:33:29 +0000 (13:33 +0000)]
- BugFix: fixed sc_print() for modes with bitsize non dividable by 4

[r22534]

15 years agotry to never put phis into pending
Matthias Braun [Mon, 6 Oct 2008 13:22:08 +0000 (13:22 +0000)]
try to never put phis into pending

[r22532]

15 years agomore debug info
Matthias Braun [Mon, 6 Oct 2008 13:21:53 +0000 (13:21 +0000)]
more debug info

[r22531]

15 years agoTypo in comment.
Christoph Mallon [Mon, 6 Oct 2008 09:36:34 +0000 (09:36 +0000)]
Typo in comment.

[r22522]

15 years agos/irn_not_visited(x)/!irn_visited(x)/.
Christoph Mallon [Mon, 6 Oct 2008 09:33:18 +0000 (09:33 +0000)]
s/irn_not_visited(x)/!irn_visited(x)/.

[r22521]

15 years agoRemove redundant test.
Christoph Mallon [Mon, 6 Oct 2008 08:32:09 +0000 (08:32 +0000)]
Remove redundant test.

[r22518]

15 years ago- Condeval places a Phi in a wrong block, see the AddP
Michael Beck [Mon, 6 Oct 2008 00:17:27 +0000 (00:17 +0000)]
- Condeval places a Phi in a wrong block, see the AddP
  generated for line 12

[r22508]

15 years agoClean up need_constraint_copy().
Christoph Mallon [Sun, 5 Oct 2008 17:34:39 +0000 (17:34 +0000)]
Clean up need_constraint_copy().

[r22503]

15 years ago- add missing include
Michael Beck [Sun, 5 Oct 2008 15:07:10 +0000 (15:07 +0000)]
- add missing include

[r22499]

15 years agoGood day and welcome to the FIRM XMALLOC*() macros. These macros are provided for...
Christoph Mallon [Sun, 5 Oct 2008 13:32:31 +0000 (13:32 +0000)]
Good day and welcome to the FIRM XMALLOC*() macros.  These macros are provided for the type safety and convenience of the IPD research facility personnel.  The time is 15:32.  Check xmalloc.h for details.

[r22494]

15 years agoPlug memory leak.
Christoph Mallon [Sun, 5 Oct 2008 12:19:18 +0000 (12:19 +0000)]
Plug memory leak.

[r22493]

15 years agoDo not bother zeroing an object just before freeing it.
Christoph Mallon [Sun, 5 Oct 2008 11:41:37 +0000 (11:41 +0000)]
Do not bother zeroing an object just before freeing it.

[r22492]

15 years agoPanic, when encountering a to be lowered ASM node. This at least prevents the endles...
Christoph Mallon [Sun, 5 Oct 2008 06:56:52 +0000 (06:56 +0000)]
Panic, when encountering a to be lowered ASM node.  This at least prevents the endless loop in fehler132.

[r22490]

15 years ago- improved is_non_null_Confirm()
Michael Beck [Sun, 5 Oct 2008 00:45:03 +0000 (00:45 +0000)]
- improved is_non_null_Confirm()
- disabled buggy parts for now

[r22487]

15 years agoLet some optimizations return non-zero, if they changed something (for fixpoint itera...
Moritz Kroll [Sun, 5 Oct 2008 00:44:22 +0000 (00:44 +0000)]
Let some optimizations return non-zero, if they changed something (for fixpoint iteration). Updated Visual Studio project.

[r22486]

15 years ago- BugFix: fixed effect of r22470: Immediate is always the RIGHT operand
Michael Beck [Sat, 4 Oct 2008 23:06:40 +0000 (23:06 +0000)]
- BugFix: fixed effect of r22470: Immediate is always the RIGHT operand
  (where this is specified?), so do NOT overwrite it (analog to
  turn_back_am())

[r22485]

15 years ago- fixed r22480: Proj numbers are now different
Michael Beck [Sat, 4 Oct 2008 21:38:35 +0000 (21:38 +0000)]
- fixed r22480: Proj numbers are now different

[r22483]

15 years agoMicro optimisation of the day: Remove ia32_Test, which tests the high result of ia32_Mul.
Christoph Mallon [Sat, 4 Oct 2008 18:47:20 +0000 (18:47 +0000)]
Micro optimisation of the day: Remove ia32_Test, which tests the high result of ia32_Mul.

[r22480]

15 years agopeephole_ia32_Test() would due to a bug only remove an ia32_Test if its direct succes...
Christoph Mallon [Sat, 4 Oct 2008 17:38:35 +0000 (17:38 +0000)]
peephole_ia32_Test() would due to a bug only remove an ia32_Test if its direct successor was the desired node.  If the desired node was an indirect successor, it would incorrectly identify it as flags destroyer.

[r22479]

15 years agoTreat conversions between the same size as downconv to get rid of unnecessary convers...
Christoph Mallon [Sat, 4 Oct 2008 16:57:08 +0000 (16:57 +0000)]
Treat conversions between the same size as downconv to get rid of unnecessary conversions.

[r22477]

15 years agoUse turn_back_am() to implement peephole_ia32_Imul_split().
Christoph Mallon [Sat, 4 Oct 2008 15:35:14 +0000 (15:35 +0000)]
Use turn_back_am() to implement peephole_ia32_Imul_split().

[r22471]

15 years agoOnly deactivate AM support for a node with an immediate, if the match flags do not...
Christoph Mallon [Sat, 4 Oct 2008 15:15:17 +0000 (15:15 +0000)]
Only deactivate AM support for a node with an immediate, if the match flags do not include match_am_and_immediates.  This allows folding reloads into IMul with immediate.

[r22470]

15 years agoFix fehler157: Lowering Shrs was missing a Conv.
Christoph Mallon [Sat, 4 Oct 2008 13:15:35 +0000 (13:15 +0000)]
Fix fehler157: Lowering Shrs was missing a Conv.

[r22469]

15 years agofehler157: Wrong mode for lower half of lowered 64bit Mul.
Christoph Mallon [Sat, 4 Oct 2008 12:59:55 +0000 (12:59 +0000)]
fehler157: Wrong mode for lower half of lowered 64bit Mul.

[r22468]

15 years agoUse gen_binop() in gen_Mulh().
Christoph Mallon [Sat, 4 Oct 2008 12:52:00 +0000 (12:52 +0000)]
Use gen_binop() in gen_Mulh().

[r22467]

15 years agoEnsure that empty functions get their ret $0 by skipping iro_Start and beo_RegParams.
Christoph Mallon [Sat, 4 Oct 2008 12:26:31 +0000 (12:26 +0000)]
Ensure that empty functions get their ret $0 by skipping iro_Start and beo_RegParams.

[r22465]

15 years agoSimplify node construction in gen_Mulh().
Christoph Mallon [Sat, 4 Oct 2008 11:50:45 +0000 (11:50 +0000)]
Simplify node construction in gen_Mulh().

[r22464]

15 years agoMerge ia32_am_type_t and ia32_am_arity_t, because (type == ia32_am_None) == (arity...
Christoph Mallon [Sat, 4 Oct 2008 11:43:37 +0000 (11:43 +0000)]
Merge ia32_am_type_t and ia32_am_arity_t, because (type == ia32_am_None) == (arity == ia32_am_arity_none).

[r22463]

15 years agoset_ia32_op_type() want ia32_AddrModeS, not ia32_am_Source (though they happen to...
Christoph Mallon [Sat, 4 Oct 2008 11:06:30 +0000 (11:06 +0000)]
set_ia32_op_type() want ia32_AddrModeS, not ia32_am_Source (though they happen to be the same value).

[r22461]

15 years agoMake ia32_get_admissible_noreg() static.
Christoph Mallon [Sat, 4 Oct 2008 10:34:00 +0000 (10:34 +0000)]
Make ia32_get_admissible_noreg() static.

[r22459]

15 years agofehler156: aligning the stack does not work.
Christoph Mallon [Sat, 4 Oct 2008 10:17:17 +0000 (10:17 +0000)]
fehler156: aligning the stack does not work.

[r22458]

15 years agoEnable folding reloads into unary ia32 instructions (only binary was possible).
Christoph Mallon [Sat, 4 Oct 2008 09:51:49 +0000 (09:51 +0000)]
Enable folding reloads into unary ia32 instructions (only binary was possible).

[r22457]

15 years agoRemove ia32_am_ternary. The only users were Div an IDiv, which are perfectly fine...
Christoph Mallon [Sat, 4 Oct 2008 07:59:00 +0000 (07:59 +0000)]
Remove ia32_am_ternary.  The only users were Div an IDiv, which are perfectly fine with being declared unary.  Further the only place, where the value was tested (in turn_back_am()) set the wrong operand then.  Though, effectively this was unreachable code, because Div/IDiv generate no sensible flags.

[r22456]

15 years agoUse ia32_copy_am_attrs() for splitting IMul reg, mem, imm and also reset base and...
Christoph Mallon [Sat, 4 Oct 2008 07:43:39 +0000 (07:43 +0000)]
Use ia32_copy_am_attrs() for splitting IMul reg, mem, imm and also reset base and index.

[r22455]

15 years agoClean up turn_back_am(), panic on unknown arity.
Christoph Mallon [Sat, 4 Oct 2008 07:42:14 +0000 (07:42 +0000)]
Clean up turn_back_am(), panic on unknown arity.

[r22454]

15 years agoSmall simplification.
Christoph Mallon [Sat, 4 Oct 2008 07:39:36 +0000 (07:39 +0000)]
Small simplification.

[r22453]

15 years agoPut the flags, which are modified by Inc/Dec, into a variable.
Christoph Mallon [Sat, 4 Oct 2008 07:11:14 +0000 (07:11 +0000)]
Put the flags, which are modified by Inc/Dec, into a variable.

[r22452]

15 years agoImprove upper_bits_clean(): Recurse on Projs and failed Shr.
Christoph Mallon [Fri, 3 Oct 2008 21:47:33 +0000 (21:47 +0000)]
Improve upper_bits_clean(): Recurse on Projs and failed Shr.

[r22450]

15 years agoconvert bitfield initializer tarvals before using them
Matthias Braun [Fri, 3 Oct 2008 18:09:25 +0000 (18:09 +0000)]
convert bitfield initializer tarvals before using them

[r22441]

15 years agofix firm outputting additional .skips after .string
Matthias Braun [Fri, 3 Oct 2008 17:30:39 +0000 (17:30 +0000)]
fix firm outputting additional .skips after .string

[r22438]

15 years agomac assembler doesn't know .skip, use .space
Matthias Braun [Fri, 3 Oct 2008 17:21:17 +0000 (17:21 +0000)]
mac assembler doesn't know .skip, use .space

[r22437]

15 years agoLet is_non_null_Confirm() work as advertised for SymConsts.
Christoph Mallon [Thu, 2 Oct 2008 17:32:13 +0000 (17:32 +0000)]
Let is_non_null_Confirm() work as advertised for SymConsts.

[r22417]

15 years ago- reduce the number of created confirms further
Michael Beck [Thu, 2 Oct 2008 14:02:28 +0000 (14:02 +0000)]
- reduce the number of created confirms further

[r22415]

15 years agoreduce the number of created Confirms
Michael Beck [Thu, 2 Oct 2008 13:55:27 +0000 (13:55 +0000)]
reduce the number of created Confirms

[r22414]

15 years ago- BugFix: ensure, that no self-loops are constructed (this work-aound might be too...
Michael Beck [Thu, 2 Oct 2008 13:50:34 +0000 (13:50 +0000)]
- BugFix: ensure, that no self-loops are constructed (this work-aound might be too restrictive)
- typos fixed

[r22413]

15 years ago- BugFix: remove_confirms() now does NOT deactivate confirms for all graphs except...
Michael Beck [Thu, 2 Oct 2008 13:34:00 +0000 (13:34 +0000)]
- BugFix: remove_confirms() now does NOT deactivate confirms for all graphs except the first one
- added debug output
- implemnted global NULL pointer test elimination using Confirm magic

[r22412]

15 years agoadd global_null_ptr_elimination flag
Michael Beck [Thu, 2 Oct 2008 13:32:04 +0000 (13:32 +0000)]
add global_null_ptr_elimination flag

[r22411]

15 years agoTest case for historical reasons
Andreas Zwinkau [Thu, 2 Oct 2008 13:09:13 +0000 (13:09 +0000)]
Test case for historical reasons

[r22410]

15 years agotest for a rather simply gcc optimization
Michael Beck [Thu, 2 Oct 2008 11:55:23 +0000 (11:55 +0000)]
test for a rather simply gcc optimization

[r22409]

15 years agoBugFix of r22380 (fixes 176.gcc):
Michael Beck [Thu, 2 Oct 2008 11:18:31 +0000 (11:18 +0000)]
BugFix of r22380 (fixes 176.gcc):
 - smaller_mode() had the meaning "can be represented", restored
 - renamed new implemnetation into values_in_mode() with the meaning
   "can be converted into in back" which is different from smaller_mode()

[r22408]

15 years agoReuse prevents_AM check in PBQP transformer.
Sebastian Buchwald [Thu, 2 Oct 2008 11:12:29 +0000 (11:12 +0000)]
Reuse prevents_AM check in PBQP transformer.

[r22407]

15 years agoPanic if proj num is unexpected
Andreas Zwinkau [Wed, 1 Oct 2008 14:25:05 +0000 (14:25 +0000)]
Panic if proj num is unexpected

[r22394]

15 years agofix endless loops
Matthias Braun [Wed, 1 Oct 2008 14:05:41 +0000 (14:05 +0000)]
fix endless loops

[r22393]

15 years agosimplify and speedup belady/loopana a bit
Matthias Braun [Wed, 1 Oct 2008 14:00:49 +0000 (14:00 +0000)]
simplify and speedup belady/loopana a bit

[r22392]

15 years agocreate an index, as this heavily speeds up some queries
Matthias Braun [Wed, 1 Oct 2008 11:38:47 +0000 (11:38 +0000)]
create an index, as this heavily speeds up some queries

[r22391]