Commit Graph

1873 Commits

Author SHA1 Message Date
Chris Lattner
bd8227f529 rename the child field to 'next'. This is not a parent/child
relationship, this is a linear list relationship.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96561 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 02:53:41 +00:00
Chris Lattner
8ef9c7958a eliminate the MatcherNodeWithChild class, give the 'child'
field to MatcherNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96560 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 02:49:24 +00:00
Chris Lattner
dcdcef2cb3 fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96541 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 00:23:27 +00:00
Chris Lattner
03ddb20bfd redisable this to save people a small amount of build time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96497 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 19:19:50 +00:00
Chris Lattner
0a3f39985b move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots.  Patch by
Nathan Keynes!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 18:52:56 +00:00
Chris Lattner
84aa60b522 reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96466 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 06:53:36 +00:00
Chris Lattner
781f359c1a improve comments, the matcher is now feature complete, on to codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96464 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 06:47:35 +00:00
Chris Lattner
409ac586e8 sink special case "cannotyetselect" for intrinsics out of the
tblgen splatted code into the implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96460 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 06:28:22 +00:00
Chris Lattner
9a747f1305 Emulate the current isel's "IsChainCompatible" logic for now.
I'd like to eventually rip it out, but for now producing the
same selections as the old matcher is more important.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96458 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 06:23:39 +00:00
Chris Lattner
8dc4f2bb60 properly record chain inputs to complex patterns,
resolving a fixme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96457 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 06:08:25 +00:00
Chris Lattner
d9c1a344a0 simplify IsChainCompatible codegen, add comments. no
functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 05:35:28 +00:00
Chris Lattner
785d16fe75 Prep work to handle input chains of matched patterns and checking for
'ischaincompatible' when a pattern has more than one input chain.  Need
to do some commenting and cleanup now that I understand how this works.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 02:16:19 +00:00
Chris Lattner
2f7ecdeb1d record input chains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96437 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 01:34:15 +00:00
Chris Lattner
c642b84fb8 prefix captured value names with $ so they look like
variables.  Use the fancy OpNo variable instead of i,
which has the right index including chains.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96436 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 01:27:29 +00:00
Chris Lattner
c96087b343 improve comments on OPC_Record to say what we're recording a node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 01:03:09 +00:00
Chris Lattner
5be6e5990b improve comments in generated matcher a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 00:39:26 +00:00
Chris Lattner
e609a513f3 make the new isel generator plop out a CheckComplexPattern function
for evaluating complex patterns.  Some cleanup has to happen before
this can be used though.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96419 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 00:31:50 +00:00
Chris Lattner
c2676b2909 fix inverted condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96416 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 00:11:30 +00:00
Chris Lattner
53a2f60062 complex patterns don't get 'record' nodes, they implicitly
record all their results.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96412 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 23:16:25 +00:00
Chris Lattner
05446e7d47 clean up some code, eliminate NodeIsComplexPattern, which
does the same thing as getComplexPatternInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96411 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 23:13:59 +00:00
Chris Lattner
5b08f77096 fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96409 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 22:38:31 +00:00
Chris Lattner
92d3ada814 fix rdar://7653908, a crash on a case where we would fold a load
into a roundss intrinsic, producing a cyclic dag.  The root cause
of this is badness handling ComplexPattern nodes in the old dagisel
that I noticed through inspection.  Eliminate a copy of the of the
code that handled ComplexPatterns by making EmitChildMatchCode call
into EmitMatchCode.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96408 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 22:35:06 +00:00
Chris Lattner
6bc1b51377 simplify this code. In the new world order there is no
need to scan the entire subtree of the pattern anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96369 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 19:19:58 +00:00
Chris Lattner
21390d7984 convert the new matcher to check intermediate nodes for a single
use and only call IsProfitableToFold/IsLegalToFold on the load
being folded, like the old dagiselemitter does.  This 
substantially simplifies the code and improves opportunities for
sharing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96368 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 19:15:55 +00:00
Chris Lattner
29c6270328 change dag isel emitter to only call 'IsProfitableToFold' on nodes
with chains.  On interior nodes that lead up to them, we just directly
check that there is a single use.  This generates slightly more
efficient code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96366 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 19:03:34 +00:00
Chris Lattner
ccba15f914 mark all the generated node predicates 'const'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96337 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 07:26:36 +00:00
Chris Lattner
050a03d0f3 generate code for node and pattern predicates. Note that this won't
build if enabled, it will fail with constness issues. I'll resolve 
these next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96336 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 07:21:10 +00:00
Chris Lattner
e02ea54cfd refactor some code into a local class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96334 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 06:52:01 +00:00
Chris Lattner
e2de49d9a1 remove now dead code and fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96333 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 06:15:00 +00:00
Chris Lattner
6e6975d419 remove dead code. This is never generated for any targets in mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96332 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 06:14:22 +00:00
Chris Lattner
e39650a805 add support for the new isel matcher to generate
(isprofitable|islegal)tofold checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96331 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 06:10:58 +00:00
Evan Cheng
014bf215c3 Split SelectionDAGISel::IsLegalAndProfitableToFold to
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use.

This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96255 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15 19:41:07 +00:00
Chris Lattner
da272d1a70 Check in the first big step of rewriting DAGISelEmitter to
produce a table based matcher instead of gobs of C++ Code.

Though it's not done yet, the shrinkage seems promising,
the table for the X86 ISel is 75K and still has a lot of 
optimization to come (compare to the ~1.5M of .o generated
the old way, much of which will go away).

The code is currently disabled by default (the #if 0 in
DAGISelEmitter.cpp).  When enabled it generates a dead
SelectCode2 function in the DAGISel Header which will
eventually replace SelectCode.

There is still a lot of stuff left to do, which are
documented with a trail of FIXMEs.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15 08:04:42 +00:00
Mikhail Glushenkov
0b1a39577b Revert r96130 ("Forward parameter options as '-option=param'").
This behaviour must be configurable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96210 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15 03:17:06 +00:00
Chris Lattner
751d5aa1ea constize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96199 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14 22:33:49 +00:00
Chris Lattner
4766132036 clean up a bunch of code, move some random predicates
on TreePatternNode to be methods on TreePatternNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14 22:22:58 +00:00
Chris Lattner
c87bf389dc remove the DisablePatternForFastISel predicate, which is a check
that predated -fast-isel which attempted to speed up the dag pattern
matchers at -O0.  Since fast-isel is around, this is basically 
obsolete and removing it shrinks the generated dag isels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96188 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14 21:11:53 +00:00
Chris Lattner
383fed9c7a add an insertion operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96187 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14 21:10:33 +00:00
Chris Lattner
523f6a5848 tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96186 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14 21:10:15 +00:00
Mikhail Glushenkov
18c67b994c Forward parameter options as '-option=parameter'.
Some tools do not like the '-option parameter' form. Should this be
configurable?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96130 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 22:37:28 +00:00
Chris Lattner
a0cdf17f37 pull a bunch of huge inline methods in the PatternCodeEmitter
class out of line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96113 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 20:06:50 +00:00
Sean Callanan
cebe955779 Added the rdtscp instruction to the x86 instruction
tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96073 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 02:06:11 +00:00
Sean Callanan
95a5a7d570 Fixed encodings for invlpg, invept, and invvpid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96065 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 01:48:34 +00:00
Chris Lattner
a599de2410 remove special cases for vmlaunch, vmresume, vmxoff, and swapgs
fix swapgs to be spelled right.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 00:41:14 +00:00
Chris Lattner
eaca5fa8e6 Remove special cases for [LM]FENCE, MONITOR and MWAIT from
encoder and decoder by using new MRM_ forms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96048 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 23:54:57 +00:00
Sean Callanan
9492be8d10 Reworked the Intel disassembler to support instructions
whose opcodes extend into the ModR/M field using the
Form field of the instruction rather than by special
casing each instruction.  Commented out the special
casing of VMCALL, which is the first instruction to use
this special form.  While I was in the neighborhood,
added a few comments for people modifying the Intel
disassembler. 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96043 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 23:39:46 +00:00
Chris Lattner
0d8db8e0a8 add a bunch of mod/rm encoding types for fixed mod/rm bytes.
This will work better for the disassembler for modeling things
like lfence/monitor/vmcall etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95960 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 02:06:33 +00:00
Daniel Dunbar
3b6910dcd4 MC: Fix bug where trailing tied operands were forgotten; the X86 assembler
matcher is now free of implicit operands!
 - Still need to clean up the code now that we don't to worry about implicit
   operands, and to make it a hard error if an instruction fails to specify all
   of its operands for some reason.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95956 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 01:46:54 +00:00
Chris Lattner
0d7b0aa760 enhance llvm-mc -show-inst to print the enum of an instruction, like so:
testb	%al, %al                ## <MCInst #2412 TEST8rr
                                        ##   <MCOperand Reg:2>
                                        ##   <MCOperand Reg:2>>
	jne	LBB1_7                  ## <MCInst #938 JNE_1
                                        ##   <MCOperand Expr:(LBB1_7)>>



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95935 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11 22:57:32 +00:00
Chris Lattner
e555c9f4a5 work around a gcc bug with -Wuninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95808 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 21:22:51 +00:00
Daniel Dunbar
bef529182f MC/AsmMatcher: Tweak conversion function name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95802 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 21:00:47 +00:00
Daniel Dunbar
af61681ced MC/AsmMatcher: Add support for creating tied operands when constructing MCInsts.
- Pretty messy, but we need to rework how we handle tied operands in MCInst
   anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95774 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 08:15:48 +00:00
Sean Callanan
cf57c7084a Updated the enhanced disassembly library's TableGen
backend to not use exceptions at all except in cases
of actual error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 03:23:23 +00:00
Sean Callanan
2db6ff2285 Updated the TableGen emitter for the Enhanced
Disassembler to take advantage of the refactored
AsmWriterInst.h.  Note removed parser code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 02:47:08 +00:00
Sean Callanan
397170b0ab Changed AsmWriterOperand to also include the index of the
operand into the CodeGenInstruction's list of operands,
which is useful for EDEmitter.  (Still working on PR6219)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95759 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 02:27:43 +00:00
Chris Lattner
a7d479c7bd Introduce a new CodeGenInstruction::ConstraintInfo class
for representing constraint info semantically instead of
as a c expression that will be blatted out to the .inc
file.  Fix X86RecognizableInstr to use this instead of
parsing C code :).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95753 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 01:45:28 +00:00
Sean Callanan
d0bc7f060e Fixed some indentation in the AsmWriterInst
implementation.  Also changed the constructor
so that it does not require a Record, making it
usable by the EDEmitter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95715 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 23:06:35 +00:00
Sean Callanan
3ac97b386b Added AsmWriterInst.cpp to the CMakeList so that
it builds OK on Visual Studio.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95702 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 22:29:16 +00:00
Sean Callanan
d32c02f314 Per PR 6219, factored AsmWriterInst and AsmWriterOperand
out of the AsmWriterEmitter.  This patch does the physical
code movement, but leaves the implementation unchanged. I'll
make any changes necessary to generalize the code in a
separate patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95697 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 21:50:41 +00:00
Chris Lattner
518bb53485 move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h.  #include the new TargetOpcodes.h
into MachineInstr.  Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the 
codebase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 19:54:29 +00:00
Chris Lattner
b8d6e98e56 pass stringref by value instead of by const&
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95627 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:34:28 +00:00
Chris Lattner
0d883e3f84 sink handling of target-independent machine instrs (other
than DEBUG_VALUE :(  ) into the target indep AsmPrinter.cpp
file.   This allows elimination of the 
NO_ASM_WRITER_BOILERPLATE hack among other things.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95177 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-03 01:00:52 +00:00
Daniel Dunbar
e1f6de3fbd AsmMatcherEmitter: Use stable_sort when reordering instructions, so that order
is still deterministic even amongst ambiguous instructions (eventually ambiguous
match orders will be a hard error, but we aren't there yet).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95157 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 23:46:36 +00:00
Daniel Dunbar
a2f5e00347 AsmMatcher: Create operand classes before use, apparently records aren't visited
in the order they were declared.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94868 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30 01:02:37 +00:00
Sean Callanan
9988ab0496 Quick fix to make the header file for the enhanced
disassembly information have a better comment (and
better guard macros).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94781 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29 01:34:29 +00:00
Ted Kremenek
55b88096aa Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29 01:10:25 +00:00
Sean Callanan
95fcebd5c4 Added a custom TableGen backend to support the
enhanced disassembler, and the necessary makefile
rules to build the table for X86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94764 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29 00:21:04 +00:00
Mikhail Glushenkov
ae779383be Escape double quotes in 'help'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94543 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26 14:55:04 +00:00
Sean Callanan
e9b466d4f0 Modified the register matcher function in AsmMatcher to
be static.  Also made it possible for clients to get it
and no other functions from ...GenAsmMatcher.inc by
defining REGISTERS_ONLY before including GenAsmMatcher.inc.
This sets the stage for target-specific lexers that can
identify registers and return AsmToken::Register as
appropriate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94266 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-23 00:40:33 +00:00
Daniel Dunbar
1402f0b2ca AsmMatcher: Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-23 00:26:16 +00:00
Dale Johannesen
243a32f96b Remove DEBUG_DECLARE, looks like we don't need it.
Also, DEBUG_VALUE has side effects.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93498 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-15 01:50:44 +00:00
Chris Lattner
9898671a74 Split the TargetAsmParser "ParseInstruction" interface in half:
the new ParseInstruction method just parses and returns a list of
target operands.  A new MatchInstruction interface is used to
turn the operand list into an MCInst.

This requires new/deleting all the operands, but it also gives 
targets the ability to use polymorphic operands if they want to. 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-14 22:21:20 +00:00
Benjamin Kramer
d4f195999a Reimplement getToken and SplitString as "StringRef helper functions"
- getToken is modeled after StringRef::split but it can split on multiple
  separator chars and skips leading seperators.
- SplitString is a StringRef::split variant for more than 2 elements with the
  same behaviour as getToken.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93161 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-11 18:03:24 +00:00
Dale Johannesen
d2035203a0 Add DEBUG_DECLARE. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-09 01:24:25 +00:00
Dale Johannesen
87563b3937 Add DEBUG_VALUE. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93030 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-08 23:51:25 +00:00
Duncan Sands
7c422ac216 Partially address a README by having functionattrs consider calls to
memcpy, memset and other intrinsics that only access their arguments
to be readnone if the intrinsic's arguments all point to local memory.
This improves the testcase in the README to readonly, but it could in
theory be made readnone, however this would involve more sophisticated
analysis that looks through the memcpy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-06 08:45:52 +00:00
Dan Gohman
7c3ecb6838 Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen
uses several kinds of opcode values which are not declared within
that enum. This fixes PR5946.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92794 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 22:26:32 +00:00
David Greene
6786d5e183 Add an !eq() operator to TableGen. It operates on strings only.
Use !cast<string>() to compare other types of objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92754 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 19:11:42 +00:00
David Greene
f0fd3afeff Have TableGen emit code that uses dbgs() rather than errs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92738 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 17:47:41 +00:00
Dan Gohman
eeb3a00b84 Change SelectCode's argument from SDValue to SDNode *, to make it more
clear what information these functions are actually using.

This is also a micro-optimization, as passing a SDNode * around is
simpler than passing a { SDNode *, int } by value or reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92564 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 01:24:18 +00:00
Daniel Dunbar
5ddcd6be8f tblgen/OptParser: Use EmitSourceFileHeader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92521 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-04 22:03:51 +00:00
Dan Gohman
ba7a662f54 Replace some special-case code which probably was buggy with an assertion
verifying that the special case does not occur.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92504 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-04 20:36:57 +00:00
Dan Gohman
537ab90d8d Remove the CPAttrParentAsRoot code, which is unused, and inconvenient
for a refactoring I'm working on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-04 20:31:55 +00:00
Mikhail Glushenkov
b7935e00eb Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-01 04:40:54 +00:00
Mikhail Glushenkov
d64c90776e Make CheckForSuperfluousOptions handle list form of 'switch_on' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92391 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-01 03:51:02 +00:00
Mikhail Glushenkov
3a481e38c9 Minor simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92390 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-01 03:50:51 +00:00
Mikhail Glushenkov
163dd597c9 Better error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92389 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-01 03:50:34 +00:00
Bill Wendling
7529ece7af Use the 'MadeChange' variable instead of returning 'false' all of the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92155 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-25 13:35:40 +00:00
Daniel Dunbar
96a47829c8 Don't emit trailing semicolon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92133 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-24 17:49:28 +00:00
Mikhail Glushenkov
9bef1bdcf5 Cosmetic issue: more consistent naming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91998 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 12:49:41 +00:00
Mikhail Glushenkov
e0b6570d24 Allow (set_option SwitchOption, true).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91997 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 12:49:30 +00:00
Daniel Dunbar
e5976b8c5c Suppress compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 00:45:10 +00:00
Sean Callanan
7fb35a2fd8 Fixes to the X86 disassembler:
Made LEA memory operands emit only 4 MCInst operands.
Made the scale operand equal 1 for instructions that have no
SIB byte.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22 21:12:55 +00:00
David Greene
f660802f34 Fix a bug in !subst where TableGen would go and resubstitute text it had
just substituted.  This could cause infinite looping in certain
pathological cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-21 21:21:34 +00:00
Nuno Lopes
014dc70907 fix build and while at it remove a redudant include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 11:52:18 +00:00
Daniel Dunbar
8783087f69 More bzero -> memset that I missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91757 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 04:16:57 +00:00
Daniel Dunbar
9e6d1d1f50 Add missing newlines at EOF (for clang++).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 04:16:48 +00:00
Sean Callanan
8ed9f51663 Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
incarnations), integrated into the MC framework.  

The disassembler is table-driven, using a custom TableGen backend to 
generate hierarchical tables optimized for fast decode.  The disassembler 
consumes MemoryObjects and produces arrays of MCInsts, adhering to the 
abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).

The disassembler is documented in detail in

- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
- utils/TableGen/DisassemblerEmitter.cpp (table emitter)

You can test the disassembler by running llvm-mc -disassemble for i386
or x86_64 targets.  Please let me know if you encounter any problems
with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 02:59:52 +00:00
Dan Gohman
2929e1143a Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 01:46:09 +00:00
Mikhail Glushenkov
9503b49462 Make 'set_option' work with list options.
This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"])

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 11:27:26 +00:00
Mikhail Glushenkov
994dbe0073 Add a 'set_option' action for use in OptionPreprocessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 07:49:16 +00:00
Mikhail Glushenkov
24723288a2 Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 07:48:49 +00:00
Mikhail Glushenkov
2d366a21a1 s/TokenizeCmdline/TokenizeCmdLine/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 07:48:34 +00:00
Jim Grosbach
06801722a4 Add @earlyclobber TableGen constraint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 19:43:02 +00:00
Dan Gohman
9b03da6824 Revert 90628, which was incorrect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91448 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 20:21:44 +00:00
Jim Grosbach
f0a4fad995 whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 19:28:13 +00:00
Mikhail Glushenkov
f8bc1e4b27 Convert llvmc tests to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 07:21:14 +00:00
Mikhail Glushenkov
545f96814b Support hook invocation from 'append_cmd'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 07:20:50 +00:00
Mikhail Glushenkov
e4ac23a0ff Validate the generated C++ code in llvmc tests.
Checks that the code generated by 'tblgen --emit-llvmc' can be actually
compiled. Also fixes two bugs found in this way:

- forward_transformed_value didn't work with non-list arguments
- cl::ZeroOrOne is now called cl::Optional

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 03:04:52 +00:00
Mikhail Glushenkov
abf2d986c9 Allow $CALL(Hook, '$INFILE') for non-join tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 03:04:02 +00:00
Daniel Dunbar
e854273892 Remove unneeded ';' and a class/struct mismatch (noticed by clang).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-09 02:58:09 +00:00
Mikhail Glushenkov
bc39a795f4 Simplify a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 19:16:13 +00:00
Mikhail Glushenkov
06d266170b Throw 'const char*' instead of 'std::string'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 19:15:57 +00:00
Mikhail Glushenkov
5b9b3ba2ba Deprecate 'unpack_values'.
Use 'forward_values' + 'comma_separated' instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 18:25:54 +00:00
Mikhail Glushenkov
8245a1dd53 Implement 'forward_value' and 'forward_transformed_value'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 17:03:05 +00:00
Mikhail Glushenkov
632eb20c34 Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 10:51:55 +00:00
Dan Gohman
7004b9cf33 Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 00:05:43 +00:00
Daniel Dunbar
d90ade54cd OptParser: Emit HelpText field for option groups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90599 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:41:24 +00:00
Mikhail Glushenkov
97955005b3 Forward -save-temps to llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 06:51:30 +00:00
Daniel Dunbar
405887419f Sketch TableGen disassembler emitter, based on patch by Sean Callanan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 02:13:23 +00:00
Dan Gohman
9e763b88b0 Delete some dead and non-obvious code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89729 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24 01:48:15 +00:00
Dan Gohman
735afe14ee Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.
Note that "hasDotLocAndDotFile"-style debug info was already broken;
people wanting this functionality should implement it in the
AsmPrinter/DwarfWriter code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89711 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 23:20:51 +00:00
Bob Wilson
21870411d9 Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 04:24:42 +00:00
Bob Wilson
2214dc0764 Fix pr5470. Tablegen handles template arguments by temporarily setting their
values, resolving references to them, and then removing the definitions.
If a template argument is set to an undefined value, we need to resolve
references to that argument to an explicit undefined value.  The current code
leaves the reference to the template argument as it is, which causes an
assertion failure later when the definition of the template argument is
removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 03:58:57 +00:00
Bob Wilson
a8449e6aaa Fix some spelling in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21 22:44:20 +00:00
Bob Wilson
8478a5bcfb Avoid a redundant assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21 22:39:27 +00:00
Daniel Dunbar
a627ef57ec TableGen/OptParser: When ordering options, make "sentinel" options appear before
everything else.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19 18:22:16 +00:00
Douglas Gregor
74f2ca8c4a De-bork CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89272 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18 23:20:09 +00:00
Daniel Dunbar
2d6a8fb827 TableGen: Add initial backend for clang Driver's option parsing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18 21:29:51 +00:00
Benjamin Kramer
f2a39bd24f Implement DISABLE_INLINE for MSVC. This required changing the position in all
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88798 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14 16:37:18 +00:00
Evan Cheng
fae3e92345 Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88753 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14 03:42:17 +00:00
Sandeep Patel
bf177ee6fd Show command-line args and features passed into backend in debug output. Approved by Evan Cheng.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-11 03:23:46 +00:00
Anton Korobeynikov
c2fd919ea2 It is invalid to infer the value type from the result #0 of the node
since the instruction might use the other result of different type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86462 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-08 12:14:54 +00:00
Chris Lattner
c128b3e74e clang++ points out that this is pointless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86239 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 06:33:01 +00:00
Dan Gohman
42046abd1f Don't print a redundant tab for inline asm, and do use the new printKill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86206 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 00:19:43 +00:00
Chris Lattner
ec8e1b709e mark some constant global const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-03 18:30:31 +00:00
Anton Korobeynikov
3a639a07ea Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364.
PS: It seems that blackfin usage of copy_to_regclass is completely bogus!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85766 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-02 00:11:39 +00:00
Dan Gohman
8c2b52552c Initial target-independent CodeGen support for BlockAddresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85556 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 01:27:03 +00:00
Dan Gohman
e1f188fe27 Move some code from being emitted as boilerplate duplicated in every
*ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85530 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 22:30:23 +00:00
Dan Gohman
533297b58d Rename usesCustomDAGSchedInserter to usesCustomInserter, and update a
bunch of associated comments, because it doesn't have anything to do
with DAGs or scheduling. This is another step in decoupling MachineInstr
emitting from scheduling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 18:10:34 +00:00
Johnny Chen
f7bb23f343 Sorry to break the build.
I was trying to check the WIP file to some local repository, but ended up
checking in the llvm repository.  Oops!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85470 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 02:04:53 +00:00
Johnny Chen
1846dfa450 Minor tweak to forgo the the curly braces for most case blocks, except when
declaring local variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 01:45:07 +00:00
Mikhail Glushenkov
d5a72d9642 80-col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85215 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 09:02:49 +00:00
Chandler Carruth
8b67f774e9 Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 01:35:46 +00:00
Mikhail Glushenkov
b6c3483905 Make 'unset_option' work on list options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 04:15:07 +00:00
Mikhail Glushenkov
4858a1d51e Implement any_[not_]empty and list versions of switch_on and [not_]empty.
Useful for OptionPreprocessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 02:13:13 +00:00
Mikhail Glushenkov
ccef6dec0c More refactoring...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 21:24:28 +00:00
Mikhail Glushenkov
4d21ae7cf4 Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84450 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 22:51:30 +00:00
Daniel Dunbar
9bd34602fb Move UnescapeString to a static function for its sole client; its inefficient and broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 20:43:42 +00:00
Daniel Dunbar
3446cf142e Use raw_ostream::write_escaped instead of EscapeString.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 20:43:19 +00:00
Mikhail Glushenkov
0a22fb6664 First draft of the OptionPreprocessor.
More to follow...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84352 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 20:09:29 +00:00
Mikhail Glushenkov
5a1a53e450 This variable is never used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84351 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 20:08:47 +00:00
Mikhail Glushenkov
2cea7bdef9 Disallow multiple instances of PluginPriority.
Several instances of PluginPriority in a single file most probably signifies a
programming error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 20:08:30 +00:00
Jakob Stoklund Olesen
11ee508d7b Report errors correctly for unselected target intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15 18:50:03 +00:00
Mikhail Glushenkov
0b599391f8 Omit the 'out_file_index != -1' check when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83619 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 05:45:21 +00:00
Mikhail Glushenkov
39482dde66 Input files should go before all other options.
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83524 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 04:40:08 +00:00
Evan Cheng
799d697bf8 Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When
set, these flags indicate the instructions source / def operands have special
register allocation requirement that are not captured in their register classes.
Post-allocation passes (e.g. post-alloc scheduler) should not change their
allocations. e.g. ARM::LDRD require the two definitions to be allocated
even / odd register pair.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-01 08:21:18 +00:00
Jakob Stoklund Olesen
26207e5bf1 Introduce the TargetInstrInfo::KILL machine instruction and get rid of the
unused DECLARE instruction.

KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF
in the places where IMPLICIT_DEF is just used to alter liveness of physical
registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83006 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 20:32:26 +00:00
Mikhail Glushenkov
ad981bfbcc Add a way to query the number of input files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 01:16:42 +00:00
Mikhail Glushenkov
9d7a2dc284 A bit prettier formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82955 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 01:15:44 +00:00
Dan Gohman
c76909abfe Improve MachineMemOperand handling.
- Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions.
   This eliminates MachineInstr's std::list member and allows the data to be
   created by isel and live for the remainder of codegen, avoiding a lot of
   copying and unnecessary translation. This also shrinks MemSDNode.
 - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated
   fields for MachineMemOperands.
 - Change MemSDNode to have a MachineMemOperand member instead of its own
   fields with the same information. This introduces some redundancy, but
   it's more consistent with what MachineInstr will eventually want.
 - Ignore alignment when searching for redundant loads for CSE, but remember
   the greatest alignment.

Target-specific code which previously used MemOperandSDNodes with generic
SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range
so that the SelectionDAG framework knows that MachineMemOperand information
is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 20:36:54 +00:00
Dan Gohman
602b0c8c17 Rename getTargetNode to getMachineNode, for consistency with the
naming scheme used in SelectionDAG, where there are multiple kinds
of "target" nodes, but "machine" nodes are nodes which represent
a MachineInstr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82790 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 18:54:59 +00:00
David Goodwin
1f52895692 Make the end-of-itinerary mark explicit. Some cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82709 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24 20:22:50 +00:00
Mikhail Glushenkov
f8349ac8b8 Use raw_ostream::indent instead of passing strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82456 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-21 15:53:44 +00:00
Chris Lattner
c19418f31f convert some stuff to StringRef to avoid temporary std::strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18 18:31:37 +00:00
Chris Lattner
700676087f add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82236 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18 18:10:19 +00:00
Chris Lattner
f96271afed slightly increase prettiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 01:27:50 +00:00
Chris Lattner
f6761be50d emit the register table as a massive string to avoid relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 01:26:18 +00:00
Chris Lattner
44da5fbf97 move StringToOffsetTable out to its own header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 01:19:16 +00:00
Chris Lattner
3200fc9bad factor string table generation out to its own class. This changes
the encoding of the AsmStrs table saving a byte or two.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 01:16:36 +00:00
Chris Lattner
e7f3107772 eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 22:45:04 +00:00
Chris Lattner
d95148f073 the tblgen produced 'getRegisterName' method does not access
the object, make it static instead of const.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81711 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 20:19:22 +00:00
Chris Lattner
05af2616d0 make tblgen produce a function that returns the name for a physreg.
Nothing is using this info yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81707 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 20:08:00 +00:00
Owen Anderson
69110c90bf Eliminate some unnecessary implicit constructors in generated DAG ISel code.
Partial fix for PR4946.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 09:01:57 +00:00
Chris Lattner
5f12c21320 PHI nodes can never reach the asmprinter, assert and die instead of printing
out an illegal "PHINODE" instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81495 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 00:41:15 +00:00
Mikhail Glushenkov
2d04ec5fe6 Distinguish between 'empty' and empty DAG marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81448 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
684a8b0f10 Add a logical 'not' operator to llvmc's TableGen dialect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81447 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-10 16:21:38 +00:00
Chris Lattner
c5ea263a23 remove DebugLoc from MCInst and eliminate "Comment printing" from
the MCInst path of the asmprinter.  Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter.  This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.

This also fixes an xcore strangeness where it inserted two tabs
before every instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09 23:14:36 +00:00
Chris Lattner
28179db68b Fix a subtle bug in "return;" generation which caused us to miss
a return in one case.  Instead of sprinking return handling code
throughout the asmprinter generator, just treat it like any other
normal statement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81395 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09 23:09:29 +00:00
Chris Lattner
634cca377a hoist the call to processDebugLoc out of the generated
asm printer into the "printInstruction" routine.  This
fixes a problem where the experimental asmprinter would
drop debug labels in some cases, and fixes issues on ppc/xcore
where pseudo instructions like "mr" didn't get debug locs properly.

It is annoying that this moves the call from one place into each
target, but a future set of more invasive refactorings will fix
that problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81377 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09 20:34:59 +00:00
Duncan Sands
b7c5bdf843 Remove some unused variables and methods warned about by
icc (#177, partial).  Patch by Erick Tryzelaar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-06 08:33:48 +00:00
Bob Wilson
cdfa01bf0f PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type
inferencing.  As far as I can tell, these are equivalent to the existing
MVT::fAny, iAny and vAny types, and having both of them makes it harder
to reason about and modify the type inferencing code.

The specific problem in PR4795 occurs when updating a vAny type to be fAny
or iAny, or vice versa.  Both iAny and fAny include vector types -- they
intersect with the set of types represented by vAny.  When merging them,
choose fAny/iAny to represent the intersection.  This is not perfect, since
fAny/iAny also include scalar types, but it is good enough for TableGen's
type inferencing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-29 05:53:25 +00:00
Bob Wilson
fd87e6a7aa Fix bad length argument to substr calls. Apparently I'm the first one to
attempt more than 2 constraints on an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 22:50:39 +00:00
Dan Gohman
baa26395cc Make LLVM command-line tools overwrite their output files without -f.
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".

Add a -f option to llvm-extract and llvm-link, for consistency.

Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.

Update Makefiles and documentation accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 15:34:52 +00:00
Chris Lattner
23132b188b prune the #includes in raw_ostream.h by moving a
member out of line. ftostr is not particularly speedy,
so that method is presumably not perf sensitive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 03:52:50 +00:00
Chris Lattner
74382b7c69 Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
   for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
   clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
   instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:45:37 +00:00
Benjamin Kramer
5b9e7ef627 Try to fix MSVC build after r79846.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79850 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 10:39:21 +00:00
Daniel Dunbar
6f5cc82686 Fix non-determinism in DAGISel emitter.
- This manifested as non-determinism in the .inc output in rare cases (when two
   distinct patterns ended up being equivalent, which is rather rare). That
   meant the pattern matching was non-deterministic, which could eventually mean
   the code generator selected different instructions based on the arch.

 - It's probably worth making the DAGISel ensure a total ordering (or force the
   user to), but the simple fix here is to totally order the Record* maps based
   on a unique ID.

 - PR4672, PR4711.

Yay:
--
ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum
d1099ff34b21459a5a3e7021c225c080e6017ece  -
ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum
d1099ff34b21459a5a3e7021c225c080e6017ece  -
--

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79846 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 09:47:37 +00:00
Chris Lattner
45cfe545ec Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 06:03:38 +00:00
Chris Lattner
569f121f4e remove some DOUTs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:44:11 +00:00
Chris Lattner
17e9edc4a7 Change raw_fd_ostream to take flags as an optional bitmask
instead of as two bools.  Use this to add a F_Append flag
which has the obvious behavior.

Other unrelated changes conflated into this patch:

1. REmove EH stuff from llvm-dis and llvm-as, the try blocks
   are dead.
2. Simplify the filename inference code in llvm-as/llvm-dis,
   because raw_fd_ostream does the right thing with '-'.
3. Switch machine verifier to use raw_ostream instead of ostream
   (Which is the thing that needed append in the first place).




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 02:51:22 +00:00
Devang Patel
24f20e0832 Record variable debug info at ISel time directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 17:12:53 +00:00
David Goodwin
fac8541dd4 Extend the instruction itinerary model to include the ability to indicate the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 16:02:57 +00:00
Chris Lattner
8f4b1ec02b the MinPad argument to PadToColumn only really makes sense to be 1,
just remove the argument and replace it with 1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 15:48:08 +00:00
Owen Anderson
1d0be15f89 Push LLVMContexts through the IntegerType APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 21:58:54 +00:00
Bob Wilson
36e3e668be Add a new "SDTCisVec" SDTypeConstraint. This complements the vAny type.
There have been a few times where I've wanted this but ended up leaving the
operand type unconstrained.  It is easy to add this now and should help
catch errors in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 22:30:59 +00:00
Dan Gohman
a9ad04191c This void is implicit in C++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 22:10:57 +00:00
David Goodwin
1a8f36e3ce Enhance the InstrStage object to enable the specification of an Itinerary with overlapping stages. The default is to maintain the current behavior that the "next" stage immediately follows the previous one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:31:53 +00:00
Owen Anderson
23b9b19b1a Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78759 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 00:36:31 +00:00
Daniel Dunbar
1095f2ae26 llvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')
We now match all of 403.gcc (as emitted by clang). :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78750 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 23:23:44 +00:00
Daniel Dunbar
7417b761c2 Add 'isCodeGenOnly' bit to Instruction .td records.
- Used to mark fake instructions which don't correspond to an actual machine
   instruction (or are duplicates of a real instruction). This is to be used for
   "special cases" in the .td files, which should be ignored by things like the
   assembler and disassembler. We still need a good solution to handle pervasive
   duplication, like with the Int_ instructions.

 - Set the bit on fake "mov 0" style instructions, which allows turning an
   assembler matcher warning into a hard error.

 - -2 FIXMEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78731 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 22:17:52 +00:00
Daniel Dunbar
59fc42debd llvm-mc/AsmParser: Allow target to specific a comment delimiter, which will be
used to strip hard coded comments out of .td assembly strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78716 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 20:59:47 +00:00
Owen Anderson
825b72b057 Split EVT into MVT and EVT, the former representing _just_ a primitive type, while
the latter is capable of representing either a primitive or an extended type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 20:47:22 +00:00
Daniel Dunbar
8409bfbbc3 llvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
related.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78706 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 20:10:07 +00:00
Bob Wilson
9b6a53a0ce Fix a few more places in TableGen that need to handle EVT::vAny types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 05:03:38 +00:00
Daniel Dunbar
ea6408f8cd llvm-mc/AsmParser: Implement automatic classification of RegisterClass operands.
- This drops us to 123 ambiguous instructions (previously ~500) on X86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78636 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 02:59:53 +00:00
Bob Wilson
61fc4cf7aa Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic
arguments that are vectors of any size and element type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 01:14:02 +00:00
Owen Anderson
e50ed30282 Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 22:56:29 +00:00
Daniel Dunbar
5c468e3d70 llvm-mc/AsmParser: Allow .td users to redefine the names of the methods to call
on target specific operands for testing class membership and converting to
MCInst operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 21:00:45 +00:00
Daniel Dunbar
ac6b4f2c0c llvm-mc/AsmMatcher: Remove some code which has been obsoleted by move to
explicit parser match classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78588 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 19:08:50 +00:00
Daniel Dunbar
338825c192 llvm-mc/AsmMatcher: Change assembler parser match classes to their own record
structure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 18:41:10 +00:00
Daniel Dunbar
fdb1f493ab llvm-mc/AsmParser: Check for matches with super classes when matching
instruction operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 16:05:47 +00:00
Daniel Dunbar
db2ddb5dc5 llvm-mc/AsmParser: Fix thinko in ClassInfo::operator<.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78533 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09 08:23:23 +00:00
Daniel Dunbar
72fa87f0cf llvm-mc/AsmParser: Add hack to ignore Int_* and *_Int instructions for now, to
make it easier to see interesting ambiguities.
 - Also, check that user doesn't try to redefine the super class. This is a wart
   in the current design, in that assembler match classes aren't explicitly
   declared somewhere (so there isn't a unique place to declare the super
   class). This should probably be fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09 08:19:00 +00:00
Daniel Dunbar
5fe6338ac8 llvm-mc/AsmParser: Implement user defined super classes.
- We can now discriminate SUB32ri8 from SUB32ri, for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78530 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09 07:20:21 +00:00
Daniel Dunbar
2b54481a77 llvm-mc/AsmParser: Separate instruction ordering for ambiguity detection.
- We want the ordering operation to be simple, since we run it on every
   match. The old ordering is also not a strict weak ordering when there are
   ambiguities, which makes MSVC unhappy.

 - While we are at it, detect all ambiguities instead of just the adjacent
   ones. There are actually 655, for X86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09 06:05:33 +00:00
Daniel Dunbar
6745d42e8e llvm-mc/AsmParser: Define match classes in the .td file.
-2 FIXMEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78523 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09 05:18:30 +00:00
Daniel Dunbar
606e8ad796 llvm-mc/AsmParser: Sketch infrastructure for ordering instructions & detecting
ambiguities.
 - Currently there are 483 ambiguities to resolve. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78522 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09 04:00:06 +00:00
Chris Lattner
8246bef02a fix edito
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 23:43:55 +00:00
Daniel Dunbar
af3e9d43a2 llvm-mc/AsmMatcher: Tweak string matcher (missed a newline).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 23:43:16 +00:00
Daniel Dunbar
72ffae90ce llvm-mc/AsmMatcher: Tweak string matcher.
- Track whether we need to insert an explicit 'break'.

 - Invert conditional when matching a single prefix to reduce
   nesting/bracing/breaking.

 - wc -l of X86GenAsmMatcher.inc decreased by 10%. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 22:57:25 +00:00
Daniel Dunbar
245f05843f llvm-mc/AsmMatcher: Switch token matching to use the new string matcher.
Also, redefined MatchRegisterName to just return the register value or a
sentinel, to simplify the generated code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78504 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 21:22:41 +00:00
Chris Lattner
70add884e4 add a little function to do arbitrary string pattern matching in a
much more efficient way than a sequence of if's.  Switch MatchRegisterName
to use it.  It would be nice if someone could factor this out to a shared
place in tblgen :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 20:02:57 +00:00
Chris Lattner
d39bd3aa5c add another const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78487 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 19:16:05 +00:00
Chris Lattner
c604953460 remove a useless anon-ns, make table const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78486 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 19:15:25 +00:00
Benjamin Kramer
fa1165abb8 MSVC doesn't like member variables with the same name as the class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78462 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 10:06:30 +00:00
Daniel Dunbar
a3741fa28b llvm-mc/AsmMatcher: Improve match code.
- This doesn't actually improve the algorithm (its still linear), but the
   generated (match) code is now fairly compact and table driven. Still need a
   generic string matcher.

 - The table still needs to be compressed, this is quite simple to do and should
   shrink it to under 16k.

 - This also simplifies and restructures the code to make the match classes more
   explicit, in anticipation of resolving ambiguities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78461 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 07:50:56 +00:00
Daniel Dunbar
b7479c0355 llvm-mc/AsmMatcher: Switch to a unified function to convert operands to MCInst,
so that terminal states are as simple as possible.
 - If we were willing to assume that the order that operands get inserted in the
   MCInst is fixed we could actually dispose with this altogether, although it
   might be nice to have the flexibility to change it later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 05:24:34 +00:00
Chris Lattner
41aefdcdd1 make printInstruction return void since its result is omitted. Make the
error condition get trapped with an assert.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78449 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 01:32:19 +00:00
Chris Lattner
2698cb6811 don't check the result of printInstruction anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78444 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08 00:05:42 +00:00
Benjamin Kramer
fadf13128f Unbreak build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 23:37:47 +00:00
Chris Lattner
59e8677b19 fix the column output stuff in the asmwriter from being dynamic and
driven by TAI to being static, driven by tblgen.  This means that a
target doesn't get impacted by this stuff at all if it doesn't opt
into it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 23:13:38 +00:00
Chris Lattner
3d4ad297c1 strength reduce anonymous namespace to static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78417 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 22:27:19 +00:00
Daniel Dunbar
2234e5eee6 llvm-mc/AsmMatcher: Move emit for register -> enum matcher into a separate routine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78408 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 21:01:44 +00:00
Daniel Dunbar
2724915c17 llvm-mc/AsmMatcher: Tweaks in response to feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 20:33:39 +00:00
Daniel Dunbar
20927f26fc llvm-mc/AsmMatcher: Move to a slightly more sane matching design.
- Still not very sane, but a least its not 60k lines on X86. :)

 - In terms of correctness, currently some things are hard wired for X86, and we
   still don't properly resolve ambiguities (this is ignoring the instructions
   we don't even match due to funny .td stuff or other corner cases).

The high level changes:
 1. Represent tokens which are significant for matching explicitly as separate
    operands. This uniformly handles not only the instruction mnemonic, but
    also 'signficiant' syntax like the '*' in "call * ...".

 2. Separate the matching of operands to an instruction from the construction of
    the MCInst. In theory this can be done during matching, but since the number
    of variations is small I think it makes sense to decompose the problems.

 3. Improved a few of the mechanisms to at least successfully flatten / tokenize
    the assembly strings for PowerPC and ARM.

 4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm
    moving towards for handling ambiguous instructions. The high-bit is to infer
    a partial ordering of the operand classes (and force the user to specify one
    if we can't) and use that to resolve ambiguities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78378 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 08:26:05 +00:00
Owen Anderson
d7f2a6cb3f Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78258 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 23:16:16 +00:00
Daniel Dunbar
b341577401 Suppress compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 21:42:40 +00:00
David Greene
a5bb59f856 Fix some column padding bugs, reorganize things as suggested by Chris
and eliminate complexity.  Yay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 21:00:52 +00:00
Daniel Dunbar
53a7f16dcc TableGen / AsmMatcher: Tweaks to avoid generating completely bogus match
functions.
 - Fix variant flattening when the variant embeds an operand reference.

 - Ignore instructions which reference an operand multiple times (e.g., "xorb
   $dst, $dst"), and operands which have extra flags (e.g., "$dst:subreg32").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04 20:36:45 +00:00
Anton Korobeynikov
4ab15535e7 Add 'Indirect' LocInfo class and use to pass __m128 on win64. Also minore fixes here and there (mostly __m64).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77964 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03 08:13:56 +00:00
Daniel Dunbar
cdcb388a58 Change MCOperand to use Create style instead of Make style for constructing
operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77837 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-02 00:09:22 +00:00
David Greene
bef8768bd0 Simplify operand padding by keying off tabs in the asm stream. If
padding is disabled, tabs get replaced by spaces except in the case of
the first operand, where the tab is output to line up the operands after
the mnemonics.

Add some better comments and eliminate redundant code.

Fix some testcases to not assume tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 21:57:10 +00:00
Daniel Dunbar
a027d222e1 llvm-mc: Match a few X86 instructions.
- This is "experimental" code, I am feeling my way around and working out the
   best way to do things (and learning tblgen in the process). Comments welcome,
   but keep in mind this stuff will change radically.

 - This is enough to match "subb" and friends, but not much else. The next step is to
   automatically generate the matchers for individual operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 02:32:59 +00:00
Daniel Dunbar
7212f80966 Remove unintended changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77616 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 18:29:44 +00:00
Daniel Dunbar
bd17a295c1 Remove itohexstr, which only had one user.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77613 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 18:18:54 +00:00
Daniel Dunbar
fe09b2098a Twines: Don't allow implicit conversion from integers, this is too tricky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 17:37:43 +00:00
Dan Gohman
2395f01198 Minor whitespace tidiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 01:33:17 +00:00
Owen Anderson
debcb01b0f Move types back to the 2.5 API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 22:17:13 +00:00
Chris Lattner
cb778a8634 1. Introduce a new TargetOperandInfo::getRegClass() helper method
and convert code to using it, instead of having lots of things
   poke the isLookupPtrRegClass() method directly.

2. Make PointerLikeRegClass contain a 'kind' int, and store it in
   the existing regclass field of TargetOperandInfo when the
   isLookupPtrRegClass() predicate is set.  Make getRegClass pass
   this into TargetRegisterInfo::getPointerRegClass(), allowing
   targets to have multiple ptr_rc things.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77504 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 21:10:12 +00:00
Chris Lattner
a938ac6223 make ptr_rc derive from a new PointerLikeRegClass tblgen class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77503 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 20:43:05 +00:00
David Greene
c8d0605036 Re-enable comment and operand padding.
Compile times pre-change:
========================
Program                                                                  | GCCAS  Bytecode LLC compile LLC-BETA compile JIT codegen | GCC     CBE     LLC     LLC-BETA JIT     | GCC/CBE GCC/LLC GCC/LLC-BETA LLC/LLC-BETA
MultiSource/Applications/Burg/burg                                       | 0.4600 109848   0.8920      *                0.8760      |    0.00    0.00    0.00 *           0.91 | -       -       n/a          n/a 
MultiSource/Applications/ClamAV/clamscan                                 | 5.1563 1318528  6.8244      *                3.9042      |    0.20    0.20    0.21 *           4.32 | 1.00    0.95    n/a          n/a 
MultiSource/Applications/JM/ldecod/ldecod                                | 3.3082 661960   2.5961      *                2.0801      |    0.08    0.07    0.06 *           2.30 | -       -       n/a          n/a 
MultiSource/Applications/JM/lencod/lencod                                | 6.2883 1442696  6.5964      *                5.6723      |    8.51    8.65    8.37 *          14.76 | 0.98    1.02    n/a          n/a 
MultiSource/Applications/SIBsim4/SIBsim4                                 | 0.4040 84528    0.4480      *                0.4440      |    4.33 *          4.76 *           5.43 | n/a     0.91    n/a          n/a 
MultiSource/Applications/SPASS/SPASS                                     | 6.3684 1594748  5.5563      *                4.0522      |   12.59   12.45   12.23 *          17.21 | 1.01    1.03    n/a          n/a 
MultiSource/Applications/aha/aha                                         | 0.0280 7104     0.0360      *                0.0280      |    2.23    2.86    2.98 *           3.09 | 0.78    0.75    n/a          n/a 
MultiSource/Applications/d/make_dparser                                  | 1.1040 299996   0.9440      *                0.8080      |    0.04 *          0.03 *           0.92 | n/a     -       n/a          n/a 
MultiSource/Applications/hbd/hbd                                         | 0.2280 82120    0.3880      *                0.3440      |    0.00    0.00    0.00 *           0.36 | -       -       n/a          n/a 
MultiSource/Applications/hexxagon/hexxagon                               | 0.2040 49820    0.2160      *                0.1880      |   12.00    8.97    9.93 *           9.68 | 1.34    1.21    n/a          n/a 
MultiSource/Applications/kimwitu++/kc                                    | 5.3843 1725192  *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
MultiSource/Applications/lambda-0.1.3/lambda                             | 0.2000 67120    0.3080      *                0.2440      |    6.12    5.55    5.76 *           6.85 | 1.10    1.06    n/a          n/a 
MultiSource/Applications/lemon/lemon                                     | 0.3240 104052   0.5440      *                0.0040      |    0.08    0.05    0.06 *         113.63 | -       -       n/a          n/a 
MultiSource/Applications/lua/lua                                         | 1.5400 557040   2.2561      *                1.7001      |   28.56 *         31.36 *          33.29 | n/a     0.91    n/a          n/a 
MultiSource/Applications/minisat/minisat                                 | 0.2440 45840    0.2040      *                *           |   12.85 *         12.41 *        *       | n/a     1.04    n/a          n/a 
MultiSource/Applications/obsequi/Obsequi                                 | 0.3480 59808    0.2800      *                0.2840      |    2.68 *          2.80 *           3.23 | n/a     0.96    n/a          n/a 
MultiSource/Applications/oggenc/oggenc                                   | 1.5480 803888   1.1800      *                0.9600      |    0.17 *          0.17 *           1.26 | n/a     1.00    n/a          n/a 
MultiSource/Applications/sgefa/sgefa                                     | 0.0880 16476    0.0840      *                0.0760      |    0.78    0.83    0.85 *           0.97 | 0.94    0.92    n/a          n/a 
MultiSource/Applications/siod/siod                                       | 0.7120 344048   1.8761      *                0.8120      |    3.62    3.88    3.69 *           4.76 | 0.93    0.98    n/a          n/a 
MultiSource/Applications/spiff/spiff                                     | 0.1600 50964    0.2440      *                *           |    1.08    1.10    1.14 *        *       | 0.98    0.95    n/a          n/a 
MultiSource/Applications/sqlite3/sqlite3                                 | 3.9362 1133884  5.1683      *                3.7162      |    4.55 *          5.32 *           9.68 | n/a     0.86    n/a          n/a 
MultiSource/Applications/treecc/treecc                                   | 0.6800 292592   1.2160      *                0.3200      |    0.00    0.00    0.00 *           0.36 | -       -       n/a          n/a 
MultiSource/Applications/viterbi/viterbi                                 | 0.0280 5576     0.0240      *                0.0200      |   12.25   18.43   12.26 *          12.35 | 0.66    1.00    n/a          n/a 
MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000                       | 3.1561 463676   2.5721      *                1.9081      |    7.60    8.29    9.01 *           9.90 | 0.92    0.84    n/a          n/a 
MultiSource/Benchmarks/ASC_Sequoia/AMGmk/AMGmk                           | 0.1040 13992    0.0680      *                0.0720      |   31.04   23.70   21.64 *          22.44 | 1.31    1.43    n/a          n/a 
MultiSource/Benchmarks/ASC_Sequoia/CrystalMk/CrystalMk                   | 0.0400 8248     0.0280      *                0.0280      |   12.10   12.64   11.93 *          12.18 | 0.96    1.01    n/a          n/a 
MultiSource/Benchmarks/ASC_Sequoia/IRSmk/IRSmk                           | 0.0200 5592     0.0240      *                0.0240      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/BitBench/drop3/drop3                              | 0.0200 3588     0.0160      *                0.0120      |    0.51    0.71    0.47 *           0.50 | 0.72    1.09    n/a          n/a 
MultiSource/Benchmarks/BitBench/five11/five11                            | 0.0160 2724     0.0120      *                0.0120      |    2.48    2.51    2.42 *           2.44 | 0.99    1.02    n/a          n/a 
MultiSource/Benchmarks/BitBench/uudecode/uudecode                        | 0.0120 2864     0.0080      *                0.0120      |    0.11    0.15    0.14 *           0.15 | 0.73    0.79    n/a          n/a 
MultiSource/Benchmarks/BitBench/uuencode/uuencode                        | 0.0120 2728     0.0120      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1                    | 0.0280 8072     0.0360      *                0.0360      |    2.00    1.86    1.85 *           1.88 | 1.08    1.08    n/a          n/a 
MultiSource/Benchmarks/Fhourstones/fhourstones                           | 0.0480 10820    0.0440      *                0.0440      |    1.80    1.87    1.77 *           1.94 | 0.96    1.02    n/a          n/a 
MultiSource/Benchmarks/FreeBench/analyzer/analyzer                       | 0.0400 10116    0.0480      *                0.0440      |    0.10    0.12    0.10 *           0.17 | 0.83    1.00    n/a          n/a 
MultiSource/Benchmarks/FreeBench/distray/distray                         | 0.0120 6944     0.0280      *                0.0280      |    0.25    0.30    0.24 *           0.29 | 0.83    1.04    n/a          n/a 
MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow                   | 0.0880 18880    0.0840      *                0.0680      |    0.34    0.37    0.38 *           0.48 | 0.92    0.89    n/a          n/a 
MultiSource/Benchmarks/FreeBench/mason/mason                             | 0.0160 6144     0.0200      *                0.0160      |    0.41    0.24    0.25 *           0.27 | 1.71    1.64    n/a          n/a 
MultiSource/Benchmarks/FreeBench/neural/neural                           | 0.0560 8772     0.0480      *                0.0480      |    0.26    0.31    0.24 *           0.29 | 0.84    1.08    n/a          n/a 
MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2                   | 0.0480 11040    0.0440      *                0.0480      |    0.29    0.30    0.26 *           0.32 | 0.97    1.12    n/a          n/a 
MultiSource/Benchmarks/FreeBench/pifft/pifft                             | 0.2480 58904    0.2960      *                0.2800      |    0.12    0.14    0.15 *           0.45 | 0.86    0.80    n/a          n/a 
MultiSource/Benchmarks/MallocBench/cfrac/cfrac                           | 0.2200 92136    0.3000      *                0.2800      |    1.78 *          1.66 *           1.95 | n/a     1.07    n/a          n/a 
MultiSource/Benchmarks/MallocBench/espresso/espresso                     | 1.3760 407284   2.0041      *                1.3720      |    0.57    0.58    0.56 *           2.00 | 0.98    1.02    n/a          n/a 
MultiSource/Benchmarks/MallocBench/gs/gs                                 | 1.1400 376444   1.4400      *                0.6240      |    0.04 *          0.04 *           0.73 | n/a     -       n/a          n/a 
MultiSource/Benchmarks/McCat/01-qbsort/qbsort                            | 0.0160 3456     0.0160      *                0.0160      |    0.07    0.06    0.06 *           0.09 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/03-testtrie/testtrie                        | 0.0160 3780     0.0160      *                0.0240      |    0.01    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/04-bisect/bisect                            | 0.0120 3984     0.0200      *                0.0160      |    0.16    0.25    0.18 *           0.21 | 0.64    0.89    n/a          n/a 
MultiSource/Benchmarks/McCat/05-eks/eks                                  | 0.1000 7532     0.0400      *                0.0360      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/08-main/main                                | 0.0600 12004    0.0360      *                0.0400      |    0.05    0.03    0.03 *           0.08 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/09-vor/vor                                  | 0.0720 23092    0.0920      *                0.0960      |    0.15    0.13    0.14 *           0.25 | 1.15    1.07    n/a          n/a 
MultiSource/Benchmarks/McCat/12-IOtest/iotest                            | 0.0160 2576     0.0120      *                0.0159      |    0.38    0.27    0.24 *           0.27 | 1.41    1.58    n/a          n/a 
MultiSource/Benchmarks/McCat/15-trie/trie                                | 0.0080 3216     0.0160      *                0.0160      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/17-bintr/bintr                              | 0.0160 3668     0.0160      *                0.0160      |    0.12    0.11    0.11 *           0.14 | 1.09    1.09    n/a          n/a 
MultiSource/Benchmarks/McCat/18-imp/imp                                  | 0.0680 21096    0.1000      *                0.0880      |    0.08    0.08    0.10 *           0.21 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/automotive-basicmath/automotive-basicmath | 0.0160 4808     0.0280      *                0.0240      |    0.55    0.54    0.55 *           0.58 | 1.02    1.00    n/a          n/a 
MultiSource/Benchmarks/MiBench/automotive-bitcount/automotive-bitcount   | 0.0160 3532     0.0160      *                0.0200      |    0.11    0.16    0.14 *           0.16 | 0.69    0.79    n/a          n/a 
MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan         | 0.2720 64100    0.2840      *                0.2760      |    0.06    0.08    0.05 *           0.34 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg               | 1.1640 201192   0.7360      *                0.3800      |    0.00    0.00    0.00 *           0.41 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame               | 1.3200 331160   1.1360      *                0.9720      |    0.34 *          0.33 *           1.38 | n/a     1.03    n/a          n/a 
MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset         | 7.6004 1392340  5.9563      *                5.1283      |    0.23 *          0.22 *           5.57 | n/a     1.05    n/a          n/a 
MultiSource/Benchmarks/MiBench/network-dijkstra/network-dijkstra         | 0.0120 3456     0.0160      *                0.0120      |    0.05    0.05    0.05 *           0.07 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/network-patricia/network-patricia         | 0.0200 4268     0.0200      *                0.0200      |    0.16    0.17    0.16 *           0.19 | 0.94    1.00    n/a          n/a 
MultiSource/Benchmarks/MiBench/office-ispell/office-ispell               | 0.4920 128824   0.6520      *                0.2080      |    0.00    0.00    0.00 *           0.22 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/office-stringsearch/office-stringsearch   | 0.0240 13212    0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish       | 0.1080 31024    0.0880      *                0.0520      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/security-rijndael/security-rijndael       | 0.1320 51332    0.0840      *                0.0560      |    0.05    0.04    0.07 *           0.14 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/security-sha/security-sha                 | 0.0200 4764     0.0200      *                0.0200      |    0.01    0.02    0.02 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32             | 0.0080 3180     0.0080      *                0.0000      |    0.32    0.29    0.31 *           0.30 | 1.10    1.03    n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-FFT/telecomm-fft                 | 0.0120 4852     0.0240      *                0.0200      |    0.07    0.06    0.06 *           0.09 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-adpcm/telecomm-adpcm             | 0.0080 2192     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm                 | 0.3440 73804    0.2120      *                0.1520      |    0.23    0.21    0.22 *           0.39 | 1.10    1.05    n/a          n/a 
MultiSource/Benchmarks/NPB-serial/is/is                                  | 0.0080 5108     0.0200      *                0.3200      |   11.11   10.74   11.04 *          10.79 | 1.03    1.01    n/a          n/a 
MultiSource/Benchmarks/Olden/bh/bh                                       | 0.0840 15196    0.0680      *                0.0720      |    2.51 *          2.17 *           2.26 | n/a     1.16    n/a          n/a 
MultiSource/Benchmarks/Olden/bisort/bisort                               | 0.0160 3672     0.0200      *                0.0240      |    1.02    1.13    1.06 *           1.12 | 0.90    0.96    n/a          n/a 
MultiSource/Benchmarks/Olden/em3d/em3d                                   | 0.0360 6424     0.0320      *                0.0280      |    3.61    4.85    3.42 *           3.43 | 0.74    1.06    n/a          n/a 
MultiSource/Benchmarks/Olden/health/health                               | 0.0360 7576     0.0240      *                0.0320      |    0.63 *          0.61 *           0.67 | n/a     1.03    n/a          n/a 
MultiSource/Benchmarks/Olden/mst/mst                                     | 0.0320 4176     0.0200      *                0.0200      |    0.19    0.19    0.19 *           0.23 | 1.00    1.00    n/a          n/a 
MultiSource/Benchmarks/Olden/perimeter/perimeter                         | 0.0160 12280    0.0680      *                0.0680      |    0.39    0.38    0.41 *           0.46 | 1.03    0.95    n/a          n/a 
MultiSource/Benchmarks/Olden/power/power                                 | 0.0320 8572     0.0280      *                0.0280      |    3.37    3.39    3.08 *           3.08 | 0.99    1.09    n/a          n/a 
MultiSource/Benchmarks/Olden/treeadd/treeadd                             | 0.0080 1812     0.0080      *                0.0080      |    8.40    0.49    0.45 *           0.45 | 17.14   18.67   n/a          n/a 
MultiSource/Benchmarks/Olden/tsp/tsp                                     | 0.0200 6984     0.0240      *                0.0240      |    2.88    2.91    2.65 *           2.68 | 0.99    1.09    n/a          n/a 
MultiSource/Benchmarks/Olden/voronoi/voronoi                             | 0.0640 13420    0.0520      *                0.0520      |    0.50    0.50    0.46 *           0.54 | 1.00    1.09    n/a          n/a 
MultiSource/Benchmarks/OptimizerEval/optimizer-eval                      | 0.0480 28884    0.1120      *                0.1240      |  114.08  118.50  114.69 *         106.23 | 0.96    0.99    n/a          n/a 
MultiSource/Benchmarks/PAQ8p/paq8p                                       | 0.8880 194020   *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/NP/np                                | 0.0000 1184     0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/city/city                            | 0.1040 23800    0.0760      *                0.0480      |    0.00    0.00    0.00 *           0.06 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/deriv1/deriv1                        | 0.0240 12984    0.0440      *                0.0240      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/deriv2/deriv2                        | 0.0440 14516    0.0520      *                0.0320      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/employ/employ                        | 0.0760 21948    0.0840      *                0.0600      |    0.01    0.00    0.00 *           0.07 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/family/family                        | 0.0040 3392     0.0120      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/fsm/fsm                              | 0.0160 1880     0.0080      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/garage/garage                        | 0.0160 7424     0.0240      *                0.0240      |    0.00    0.01    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/life/life                            | 0.0280 6304     0.0280      *                0.0200      |    1.44    1.42    1.46 *           1.79 | 1.01    0.99    n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/objects/objects                      | 0.0200 9860     0.0400      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/ocean/ocean                          | 0.0440 8856     0.0280      *                0.0360      |    0.14    0.16    0.15 *           0.19 | 0.88    0.93    n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/office/office                        | 0.0520 12968    0.0360      *                0.0320      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/primes/primes                        | 0.0040 1592     0.0040      *                0.0040      |    0.46    0.46    0.47 *           0.47 | 1.00    0.98    n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/shapes/shapes                        | 0.0520 16060    0.0560      *                0.0480      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/simul/simul                          | 0.0159 4164     0.0160      *                0.0040      |    0.01    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/trees/trees                          | 0.0320 11272    0.0440      *                0.0320      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/vcirc/vcirc                          | 0.0080 1804     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc              | 1.8081 545152   2.7801      *                0.5280      |    0.00    0.00    0.00 *           0.56 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/agrep/agrep                            | 0.3440 90404    0.4160      *                0.1560      |    0.00    0.00    0.00 *           0.17 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/allroots/allroots                      | 0.0120 3512     0.0160      *                0.0160      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/archie-client/archie                   | 0.1640 47672    0.1880      *                0.0320      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/assembler/assembler                    | 0.1680 61488    0.3400      *                0.2680      |    0.00    0.00    0.00 *           0.28 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/bison/mybison                          | 0.3200 108708   0.8880      *                0.7600      |    0.00    0.00    0.00 *           0.79 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/cdecl/cdecl                            | 0.0960 48928    0.2800      *                0.2960      |    0.00    0.00    0.00 *           0.31 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/compiler/compiler                      | 0.0920 36336    0.2120      *                0.0360      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/fixoutput/fixoutput                    | 0.0120 5980     0.0320      *                0.0280      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/football/football                      | 0.3240 85220    0.4480      *                0.0280      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo                            | 0.1160 35268    0.1760      *                0.2080      |    0.08    0.06    0.07 *           0.29 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/loader/loader                          | 0.0920 28112    0.1200      *                0.0840      |    0.00    0.00    0.00 *           0.08 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig                      | 0.0440 14648    0.0760      *                0.0720      |    0.00    0.00    0.00 *           0.07 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/simulator/simulator                    | 0.2400 64272    0.2760      *                0.0400      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail                  | 0.1080 39464    0.2240      *                0.1720      |    0.01    0.00    0.00 *           0.18 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/unix-tbl/unix-tbl                      | 0.2720 75600    0.3840      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/Ptrdist/anagram/anagram                           | 0.0200 7644     0.0320      *                0.0360      |    1.35    1.15    1.34 *           1.38 | 1.17    1.01    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/bc/bc                                     | 0.3720 125596   0.6160      *                0.5960      |    0.67    0.68    0.68 *           1.30 | 0.99    0.99    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/ft/ft                                     | 0.0280 7152     0.0320      *                0.0320      |    1.59    1.62    1.62 *           1.63 | 0.98    0.98    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/ks/ks                                     | 0.0400 11892    0.0520      *                0.0520      |    2.13    2.24    2.34 *           2.30 | 0.95    0.91    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/yacr2/yacr2                               | 0.1760 48272    0.2520      *                0.2680      |    0.91    0.95    1.31 *           1.58 | 0.96    0.69    n/a          n/a 
MultiSource/Benchmarks/SciMark2-C/scimark2                               | 0.0600 15428    0.0760      *                0.0800      |   27.87 *         28.42 *          28.58 | n/a     0.98    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-3des/enc-3des                        | 0.1600 21512    0.0920      *                0.0880      |    2.32    2.21    2.22 *           2.34 | 1.05    1.05    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-md5/enc-md5                          | 0.0520 7660     0.0400      *                0.0400      |    2.33    2.18    2.10 *           2.14 | 1.07    1.11    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1                          | 0.0200 3900     0.0160      *                0.0160      |    0.79    0.50    0.82 *           0.89 | 1.58    0.96    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-rc4/enc-rc4                          | 0.0120 2956     0.0120      *                0.0080      |    1.37    1.54    1.20 *           1.26 | 0.89    1.14    n/a          n/a 
MultiSource/Benchmarks/Trimaran/netbench-crc/netbench-crc                | 0.0120 32656    0.0120      *                0.0080      |    1.12    1.10    1.08 *           1.11 | 1.02    1.04    n/a          n/a 
MultiSource/Benchmarks/Trimaran/netbench-url/netbench-url                | 0.0280 40864    0.0400      *                0.0400      |    2.95    3.26    4.00 *           4.50 | 0.90    0.74    n/a          n/a 
MultiSource/Benchmarks/VersaBench/8b10b/8b10b                            | 0.0080 2168     0.0080      *                0.0040      |    9.11    7.13    5.20 *           5.14 | 1.28    1.75    n/a          n/a 
MultiSource/Benchmarks/VersaBench/beamformer/beamformer                  | 0.0320 5748     0.0200      *                0.0240      |    1.94    2.57    2.21 *           2.25 | 0.75    0.88    n/a          n/a 
MultiSource/Benchmarks/VersaBench/bmm/bmm                                | 0.0120 2924     0.0120      *                0.0240      |    2.54    2.72    2.48 *           2.51 | 0.93    1.02    n/a          n/a 
MultiSource/Benchmarks/VersaBench/dbms/dbms                              | 0.1040 36324    0.2040      *                0.1960      |    1.94    2.22    1.84 *           2.08 | 0.87    1.05    n/a          n/a 
MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes                          | 0.0640 9772     0.0200      *                0.0160      |    3.00    2.88    2.86 *           2.89 | 1.04    1.05    n/a          n/a 
MultiSource/Benchmarks/llubenchmark/llu                                  | 0.0160 3712     0.0200      *                0.0160      |   13.48   13.66   13.13 *          13.47 | 0.99    1.03    n/a          n/a 
MultiSource/Benchmarks/mafft/pairlocalalign                              | 3.9162 341756   1.7401      *                *           |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio              | 0.0080 2324     0.0080      *                0.0080      |    0.01    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio              | 0.0120 2192     0.0080      *                0.0080      |    0.01    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/g721/g721encode/encode                 | 0.0760 13112    0.0560      *                0.0360      |    0.06    0.06    0.08 *           0.12 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/gsm/toast/toast                        | 0.3520 73804    0.2160      *                0.1440      |    0.02    0.03    0.02 *           0.19 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg                     | 1.2040 170484   0.6320      *                0.4080      |    0.02    0.00    0.00 *           0.46 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode             | 0.4440 101604   0.4720      *                0.3920      |    0.03    0.02    0.02 *           0.44 | -       -       n/a          n/a 
MultiSource/Benchmarks/sim/sim                                           | 0.0760 28120    0.1400      *                0.1400      |    5.52    5.66    5.39 *           5.63 | 0.98    1.02    n/a          n/a 
MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4                             | 7.8485 1966488  4.8003      *                4.5322      |    0.73 *          0.77 *           5.70 | n/a     0.95    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/functionobjects                        | 0.1760 35452    0.1400      *                0.1320      |    4.05    5.77    3.56 *           3.77 | 0.70    1.14    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/loop_unroll                            | 0.9280 318836   1.5600      *                1.6120      |    1.85    1.97    1.84 *           3.57 | 0.94    1.01    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding          | 0.8000 185368   1.9881      *                2.0041      |    1.45    2.52    1.39 *           3.48 | 0.58    1.04    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant            | 0.5200 137288   1.0040      *                1.0000      |    4.17    4.93    3.83 *           4.86 | 0.85    1.09    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/stepanov_abstraction                   | 0.2560 37428    0.1280      *                0.1280      |    5.24   11.63    5.19 *           5.35 | 0.45    1.01    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/stepanov_vector                        | 0.2760 41136    0.1480      *                0.1480      |    3.09    7.09    3.03 *           3.21 | 0.44    1.02    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/fannkuch                           | 0.0160 2672     0.0080      *                0.0040      |    4.23    4.09    3.60 *           3.49 | 1.03    1.18    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/fasta                              | 0.0120 3020     0.0120      *                0.0120      |    1.29    1.66    1.32 *           1.31 | 0.78    0.98    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/n-body                             | 0.0160 3192     0.0120      *                0.0080      |    2.37    2.12    2.07 *           2.09 | 1.12    1.14    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/nsieve-bits                        | 0.0000 1120     0.0080      *                0.0040      |    1.66    1.76    1.68 *           1.56 | 0.94    0.99    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/partialsums                        | 0.0040 1660     0.0120      *                0.0040      |    1.17    1.19    1.22 *           1.23 | 0.98    0.96    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/puzzle                             | 0.0080 1264     0.0080      *                0.0040      |    0.60    0.98    0.56 *           0.58 | 0.61    1.07    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/recursive                          | 0.0000 3444     0.0240      *                0.0280      |    1.23    1.12    1.02 *           1.05 | 1.10    1.21    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/spectral-norm                      | 0.0160 2792     0.0120      *                0.0080      |    3.08    3.10    2.08 *           2.09 | 0.99    1.48    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/almabench                            | 0.0080 5816     0.0120      *                0.0120      |   18.99    8.40    8.37 *           8.42 | 2.26    2.27    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/fftbench                             | 0.0960 22440    0.0720      *                0.0720      |    2.53 *          2.65 *           2.75 | n/a     0.95    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/huffbench                            | 0.0200 6616     0.0320      *                0.0280      |   18.90   21.98   18.80 *          19.12 | 0.86    1.01    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/lpbench                              | 0.0280 4408     0.0200      *                0.0200      |   14.41   16.14   14.63 *          15.43 | 0.89    0.98    n/a          n/a 
SingleSource/Benchmarks/Dhrystone/dry                                    | 0.0120 1268     0.0040      *                0.0040      |    2.62    0.46    0.63 *           0.64 | 5.70    4.16    n/a          n/a 
SingleSource/Benchmarks/Dhrystone/fldry                                  | 0.0120 1300     0.0040      *                0.0040      |    2.85    1.80    0.47 *           0.51 | 1.58    6.06    n/a          n/a 
SingleSource/Benchmarks/McGill/chomp                                     | 0.0440 6140     0.0360      *                0.0360      |    1.37    1.02    1.38 *           1.10 | 1.34    0.99    n/a          n/a 
SingleSource/Benchmarks/McGill/exptree                                   | 0.0120 4800     0.0200      *                0.0240      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/McGill/misr                                      | 0.0160 2700     0.0160      *                0.0120      |    0.36    0.30    0.31 *           0.34 | 1.20    1.16    n/a          n/a 
SingleSource/Benchmarks/McGill/queens                                    | 0.0080 3316     0.0160      *                0.0120      |    2.90    2.57    2.46 *           2.58 | 1.13    1.18    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/bigfib                                  | 0.2240 41088    0.1680      *                0.1320      |    0.64 *          0.66 *           0.81 | n/a     0.97    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/mandel-text                             | 0.0080 1152     0.0080      *                0.0080      |    2.64    3.19    2.34 *           2.35 | 0.83    1.13    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/oopack_v1p8                             | 0.0400 9456     0.0320      *                0.0320      |    0.22    0.35    0.18 *           0.22 | 0.63    1.22    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/ray                                     | 0.0720 17280    0.0520      *                0.0520      |    6.75    8.21    5.02 *           5.18 | 0.82    1.34    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/sphereflake                             | 0.0560 16904    0.0640      *                0.0600      |    3.42    5.60    3.37 *           3.47 | 0.61    1.01    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/stepanov_container                      | 0.2520 46076    0.1600      *                0.1480      |    8.13    7.88    7.50 *           7.66 | 1.03    1.08    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/stepanov_v1p2                           | 0.0640 10008    0.0360      *                0.0320      |    8.19   15.84    8.18 *           8.21 | 0.52    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/ReedSolomon                                 | 0.0680 10188    0.0440      *                0.0440      |    7.89    8.63    7.44 *           7.84 | 0.91    1.06    n/a          n/a 
SingleSource/Benchmarks/Misc/fbench                                      | 0.0160 5364     0.0200      *                0.0200      |    2.20    2.27    2.54 *           2.61 | 0.97    0.87    n/a          n/a 
SingleSource/Benchmarks/Misc/ffbench                                     | 0.0200 4340     0.0160      *                0.0160      |    0.97    1.08    1.10 *           1.13 | 0.90    0.88    n/a          n/a 
SingleSource/Benchmarks/Misc/flops                                       | 0.0200 6552     0.0280      *                0.0280      |   16.68   13.01   15.85 *          15.51 | 1.28    1.05    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-1                                     | 0.0040 1152     0.0000      *                0.0000      |    4.48    4.05    4.61 *           4.08 | 1.11    0.97    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-2                                     | 0.0040 1252     0.0040      *                0.0040      |    2.22    2.51    2.21 *           2.22 | 0.88    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-3                                     | 0.0040 1172     0.0040      *                0.0040      |    2.74    3.22    3.00 *           3.08 | 0.85    0.91    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-4                                     | 0.0040 1152     0.0000      *                0.0040      |    4.05    1.35    1.39 *           1.40 | 3.00    2.91    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-5                                     | 0.0040 1284     0.0040      *                0.0040      |    6.85    3.92    4.46 *           4.51 | 1.75    1.54    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-6                                     | 0.0040 1284     0.0040      *                0.0040      |    5.09    4.86    5.10 *           5.11 | 1.05    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-7                                     | 0.0040 1080     0.0040      *                0.0000      |    6.21    6.14    6.18 *           6.51 | 1.01    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-8                                     | 0.0040 1288     0.0040      *                0.0040      |    5.42    3.92    2.36 *           2.36 | 1.38    2.30    n/a          n/a 
SingleSource/Benchmarks/Misc/himenobmtxpa                                | 0.0520 9672     0.0400      *                0.0480      |    1.41    2.55    2.06 *           2.22 | 0.55    0.68    n/a          n/a 
SingleSource/Benchmarks/Misc/mandel                                      | 0.0040 1084     0.0040      *                0.0040      |    1.50    1.65    1.69 *           2.02 | 0.91    0.89    n/a          n/a 
SingleSource/Benchmarks/Misc/mandel-2                                    | 0.0040 1052     0.0040      *                0.0040      |    1.21    1.39    1.03 *           1.05 | 0.87    1.17    n/a          n/a 
SingleSource/Benchmarks/Misc/oourafft                                    | 0.0760 13464    0.0520      *                0.0520      |    6.32    8.76    8.12 *           7.27 | 0.72    0.78    n/a          n/a 
SingleSource/Benchmarks/Misc/perlin                                      | 0.0160 4476     0.0160      *                0.0200      |    5.97    6.71    6.85 *           6.86 | 0.89    0.87    n/a          n/a 
SingleSource/Benchmarks/Misc/pi                                          | 0.0040 1152     0.0040      *                0.0040      |    1.00    0.94    1.01 *           0.93 | 1.06    0.99    n/a          n/a 
SingleSource/Benchmarks/Misc/richards_benchmark                          | 0.0160 5752     0.0160      *                0.0160      |    0.95    1.09    1.16 *           1.32 | 0.87    0.82    n/a          n/a 
SingleSource/Benchmarks/Misc/salsa20                                     | 0.0160 2700     0.0120      *                0.0120      |   10.50    9.39    9.51 *           9.82 | 1.12    1.10    n/a          n/a 
SingleSource/Benchmarks/Misc/whetstone                                   | 0.0160 3356     0.0200      *                0.0160      |    2.47    2.53    2.50 *           2.52 | 0.98    0.99    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ackermann                           | 0.0360 11116    0.0360      *                0.0280      |    1.86    1.04    1.15 *           1.11 | 1.79    1.62    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ary                                 | 0.0440 9192     0.0280      *                0.0280      |    0.12    0.15    0.14 *           0.18 | 0.80    0.86    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ary2                                | 0.0440 9808     0.0320      *                0.0360      |    0.14    0.14    0.15 *           0.18 | 1.00    0.93    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ary3                                | 0.0480 11680    0.0400      *                0.0440      |    5.59    5.58    5.99 *           5.75 | 1.00    0.93    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/except                              | 0.0360 11384    *           *                *           |    0.28 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/fibo                                | 0.0240 7952     0.0280      *                0.0280      |    2.58    0.58    0.56 *           0.61 | 4.45    4.61    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/hash                                | 0.0760 15128    0.0440      *                0.0440      |    0.79    0.79    0.77 *           0.96 | 1.00    1.03    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/hash2                               | 0.0920 20148    0.0680      *                0.0640      |    4.80    4.78    4.70 *           4.75 | 1.00    1.02    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/heapsort                            | 0.0040 3016     0.0040      *                0.0079      |    5.57    6.03    5.45 *           5.39 | 0.92    1.02    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/hello                               | 0.0280 8392     0.0240      *                0.0240      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/lists                               | 0.0480 11472    0.0400      *                0.0360      |    6.08    6.19    6.18 *           6.54 | 0.98    0.98    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/lists1                              | 0.0840 16308    0.0640      *                0.0680      |    0.38    0.38    0.39 *           0.51 | 1.00    0.97    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/matrix                              | 0.0440 12240    0.0440      *                0.0440      |    3.41    3.53    3.48 *           3.55 | 0.97    0.98    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/methcall                            | 0.0360 10872    0.0239      *                0.0240      |    6.00    6.45    5.72 *           7.85 | 0.93    1.05    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/moments                             | 0.0480 9092     0.0240      *                0.0280      |    0.22    0.24    0.23 *           0.28 | 0.92    0.96    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/nestedloop                          | 0.0280 8124     0.0280      *                0.0240      |    8.02    0.17    0.17 *           0.21 | 47.18   47.18   n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/objinst                             | 0.0400 11068    0.0360      *                0.0280      |    6.91    5.64    5.69 *           5.83 | 1.23    1.21    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/random                              | 0.0280 7924     0.0240      *                0.0240      |    6.70    4.40    4.70 *           4.68 | 1.52    1.43    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/reversefile                         | 0.1040 17488    0.0560      *                0.0400      |    0.00 *          0.01 *           0.04 | n/a     -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/sieve                               | 0.0680 12648    0.0440      *                0.0360      |    2.23    2.43    2.37 *           2.37 | 0.92    0.94    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/spellcheck                          | 0.1000 27360    0.0880      *                0.0440      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/strcat                              | 0.0480 10628    0.0360      *                0.0320      |    0.15 *          0.10 *           0.17 | n/a     1.50    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/sumcol                              | 0.0240 9084     0.0280      *                0.0200      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/wc                                  | 0.0360 11192    0.0360      *                0.0320      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/wordfreq                            | 0.0800 18464    0.0600      *                0.0200      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout/ackermann                               | 0.0040 1180     0.0080      *                0.0040      |    0.00    0.01    0.01 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout/ary3                                    | 0.0040 1140     0.0040      *                0.0040      |    5.97    5.42    7.90 *           5.45 | 1.10    0.76    n/a          n/a 
SingleSource/Benchmarks/Shootout/fib2                                    | 0.0080 964      0.0080      *                0.0040      |    2.60    0.72    0.56 *           0.58 | 3.61    4.64    n/a          n/a 
SingleSource/Benchmarks/Shootout/hash                                    | 0.0160 2948     0.0120      *                0.0120      |    6.60    6.59    6.58 *           5.70 | 1.00    1.00    n/a          n/a 
SingleSource/Benchmarks/Shootout/heapsort                                | 0.0080 1424     0.0080      *                0.0040      |    5.08    5.98    5.24 *           5.28 | 0.85    0.97    n/a          n/a 
SingleSource/Benchmarks/Shootout/hello                                   | 0.0000 576      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout/lists                                   | 0.0120 3180     0.0120      *                0.0160      |    5.71    6.02    5.90 *           6.59 | 0.95    0.97    n/a          n/a 
SingleSource/Benchmarks/Shootout/matrix                                  | 0.0200 4080     0.0120      *                0.0120      |    2.68    4.80    4.01 *           4.03 | 0.56    0.67    n/a          n/a 
SingleSource/Benchmarks/Shootout/methcall                                | 0.0040 1568     0.0080      *                0.0119      |    4.88    4.67    4.66 *           6.56 | 1.04    1.05    n/a          n/a 
SingleSource/Benchmarks/Shootout/nestedloop                              | 0.0040 1040     0.0080      *                0.0040      |    8.02    0.19    0.17 *           0.18 | 42.21   47.18   n/a          n/a 
SingleSource/Benchmarks/Shootout/objinst                                 | 0.0040 1664     0.0080      *                0.0120      |    5.12    5.18    5.01 *           4.98 | 0.99    1.02    n/a          n/a 
SingleSource/Benchmarks/Shootout/random                                  | 0.0000 840      0.0000      *                0.0040      |    4.42    4.43    4.71 *           4.71 | 1.00    0.94    n/a          n/a 
SingleSource/Benchmarks/Shootout/sieve                                   | 0.0040 1264     0.0040      *                0.0040      |    7.92    7.75    6.41 *           6.56 | 1.02    1.24    n/a          n/a 
SingleSource/Benchmarks/Shootout/strcat                                  | 0.0040 1316     0.0040      *                0.0040      |    0.16    0.16    0.17 *           0.18 | 1.00    0.94    n/a          n/a 
SingleSource/Benchmarks/Stanford/Bubblesort                              | 0.0080 1420     0.0080      *                0.0080      |    0.05    0.05    0.05 *           0.06 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/IntMM                                   | 0.0080 1472     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Oscar                                   | 0.0120 3008     0.0080      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Perm                                    | 0.0080 3124     0.0160      *                0.0160      |    0.02    0.04    0.04 *           0.05 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Puzzle                                  | 0.0920 4720     0.0160      *                0.0200      |    0.17    0.22    0.18 *           0.22 | 0.77    0.94    n/a          n/a 
SingleSource/Benchmarks/Stanford/Queens                                  | 0.0080 2232     0.0120      *                0.0120      |    0.03    0.04    0.04 *           0.06 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Quicksort                               | 0.0080 1688     0.0040      *                0.0080      |    0.04    0.04    0.04 *           0.05 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/RealMM                                  | 0.0120 1504     0.0120      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Towers                                  | 0.0080 2432     0.0120      *                0.0080      |    0.02    0.02    0.02 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Treesort                                | 0.0120 2248     0.0120      *                0.0120      |    0.07    0.09    0.09 *           0.10 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-05-14-array-init                        | 0.0000 584      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-05-14-expr_stmt                         | 0.0000 484      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-06-08-BaseType                          | 0.0000 496      0.0000      *                0.0000      |    0.01    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-06-08-VirtualFunctions                  | 0.0040 620      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-06-13-Crasher                           | 0.0000 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-08-20-EnumSizeProblem                   | 0.0040 456      0.0000      *                0.0000      |    0.01    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-09-29-NonPODsByValue                    | 0.0000 576      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2008-01-29-ParamAliasesReturn                | 0.0040 604      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/BuiltinTypeInfo                              | 0.0000 728      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/EH/ConditionalExpr                           | 0.0000 712      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/EH/ctor_dtor_count                           | 0.0000 1048     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/ctor_dtor_count-2                         | 0.0000 1592     *           *                *           |    0.01 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/dead_try_block                            | 0.0040 568      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/EH/exception_spec_test                       | 0.0040 2464     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/function_try_block                        | 0.0040 2452     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/simple_rethrow                            | 0.0040 1444     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/simple_throw                              | 0.0000 956      *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/throw_rethrow_test                        | 0.0040 1792     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/global_ctor                                  | 0.0040 1344     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/global_type                                  | 0.0000 456      0.0000      *                0.0000      |    0.00    0.01    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/ofstream_ctor                                | 0.0240 9224     0.0200      *                0.0240      |    0.01    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Regression/C++/pointer_member                               | 0.0000 660      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/pointer_method                               | 0.0000 664      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/short_circuit_dtor                           | 0.0000 644      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-14-initialize-string                   | 0.0000 680      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-21-BitfieldHandling                    | 0.0000 1152     0.0040      *                0.0040      |    0.00 *          0.00 *           0.00 | n/a     -       n/a          n/a 
SingleSource/Regression/C/2003-05-21-UnionBitfields                      | 0.0040 580      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-21-UnionTest                           | 0.0000 580      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-22-LocalTypeTest                       | 0.0000 624      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-22-VarSizeArray                        | 0.0000 580      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-23-TransparentUnion                    | 0.0040 576      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-06-16-InvalidInitializer                  | 0.0000 456      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-06-16-VolatileError                       | 0.0000 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-10-12-GlobalVarInitializers               | 0.0000 664      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2004-02-03-AggregateCopy                       | 0.0040 588      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Regression/C/2004-03-15-IndirectGoto                        | 0.0000 860      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2004-08-12-InlinerAndAllocas                   | 0.0040 824      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2005-05-06-LongLongSignedShift                 | 0.0040 608      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2008-01-07-LongDouble                          | 0.0000 596      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/ConstructorDestructorAttributes                | 0.0000 760      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/DuffsDevice                                    | 0.0040 1084     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/PR1386                                         | 0.0000 588      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/PR491                                          | 0.0000 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/PR640                                          | 0.0080 2076     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/badidx                                         | 0.0040 1004     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/bigstack                                       | 0.0080 4116     0.0120      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/callargs                                       | 0.0040 928      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/casts                                          | 0.0040 3596     0.0160      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Regression/C/globalrefs                                     | 0.0000 932      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/matrixTranspose                                | 0.0080 1344     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/pointer_arithmetic                             | 0.0000 488      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/sumarray                                       | 0.0000 948      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/sumarray2d                                     | 0.0040 1080     0.0040      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/sumarraymalloc                                 | 0.0040 1164     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/test_indvars                                   | 0.0080 1436     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/testtrace                                      | 0.0040 1136     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-04-17-PrintfChar                             | 0.0000 576      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-ArgumentTest                           | 0.0040 624      0.0000      *                0.0040      |    0.01    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest                               | 0.0040 1504     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest1                              | 0.0000 608      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest2                              | 0.0000 728      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest3                              | 0.0000 684      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-ManyArguments                          | 0.0040 696      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-03-NotTest                                | 0.0040 664      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-19-DivTest                                | 0.0040 688      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-08-02-CastTest                               | 0.0000 584      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-08-02-CastTest2                              | 0.0000 608      0.0040      *                0.0000      |    0.00    0.01    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-08-19-CodegenBug                             | 0.0000 568      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-09-ArrayResolution                        | 0.0000 644      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-12-StructureArgs                          | 0.0000 636      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-12-StructureArgsSimple                    | 0.0040 604      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-13-BadLoad                                | 0.0000 572      0.0000      *                0.0000      |    0.00    0.01    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-12-13-MishaTest                              | 0.0040 584      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-04-22-Switch                                 | 0.0040 736      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-02-DependentPHI                           | 0.0040 816      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-07-VarArgs                                | 0.0080 2828     0.0120      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-12-MinIntProblem                          | 0.0000 568      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-14-AtExit                                 | 0.0040 688      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-26-Shorts                                 | 0.0040 2012     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-31-CastToBool                             | 0.0000 916      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-31-LongShifts                             | 0.0040 920      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-06-IntOverflow                            | 0.0000 812      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-08-BitOpsTest                             | 0.0000 592      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-09-LoadShorts                             | 0.0000 1520     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-09-SignedArgs                             | 0.0080 1672     0.0080      *                0.0080      |    0.00    0.00    0.01 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-10-SignConversions                        | 0.0000 792      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-08-05-CastFPToUint                           | 0.0040 720      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-08-11-VaListArg                              | 0.0080 3108     0.0160      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-08-20-FoldBug                                | 0.0000 568      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-09-18-BitFieldTest                           | 0.0040 612      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-10-13-SwitchTest                             | 0.0000 652      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-10-29-ScalarReplBug                          | 0.0000 580      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2004-02-02-NegativeZero                           | 0.0000 640      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2004-06-20-StaticBitfieldInit                     | 0.0000 684      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2004-11-28-GlobalBoolLayout                       | 0.0000 880      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls                       | 0.0160 2144     0.0080      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-05-12-Int64ToFP                              | 0.0040 684      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-05-13-SDivTwo                                | 0.0040 648      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-07-15-Bitfield-ABI                           | 0.0040 596      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-07-17-INT-To-FP                              | 0.0040 928      0.0080      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-11-29-LongSwitch                             | 0.0040 584      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-01-23-UnionInit                              | 0.0040 2124     0.0040      *                0.0040      |    0.00 *          0.00 *           0.01 | n/a     -       n/a          n/a 
SingleSource/UnitTests/2006-01-29-SimpleIndirectCall                     | 0.0000 796      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-02-04-DivRem                                 | 0.0000 672      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-01-float_varg                             | 0.0040 660      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-04-DynAllocAndRestore                     | 0.0000 480      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-07-Compare64BitConstant                   | 0.0000 592      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-11-LoadConstants                          | 0.0280 2704     0.0360      *                0.0320      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-01-04-KNR-Args                               | 0.0040 668      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-03-02-VaCopy                                 | 0.0040 944      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-04-10-BitfieldTest                           | 0.0000 604      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-04-25-weak                                   | 0.0000 512      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2008-04-18-LoopBug                                | 0.0040 1052     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2008-04-20-LoopBug2                               | 0.0040 1068     0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2008-07-13-InlineSetjmp                           | 0.0000 832      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2009-04-16-BitfieldInitialization                 | 0.0040 1888     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/AtomicOps                                         | 0.0040 812      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/FloatPrecision                                    | 0.0000 616      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/cast                                | 0.0080 2560     0.0280      *                0.0280      |    0.01    0.02    0.02 *           0.05 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/cast-bug                            | 0.0040 628      0.0000      *                0.0040      |    0.01    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/cast2                               | 0.0000 592      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/ccc                                 | 0.0000 760      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/div                                 | 0.0040 1340     0.0040      *                0.0040      |    0.00    0.00    0.01 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/factor                              | 0.0080 1008     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/rem                                 | 0.0320 9136     0.0880      *                0.0840      |    0.00    0.00    0.01 *           0.10 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/shr                                 | 0.0000 1448     0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/StructModifyTest                                  | 0.0000 688      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/TestLoop                                          | 0.0040 680      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/Threads/tls                                       | 0.0000 876      0.0040      *                *           |    0.00    0.00    0.00 *        *       | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.expandfft                          | 0.0320 6336     0.0240      *                0.0240      |    0.68    1.43    0.58 *           0.61 | 0.48    1.17    n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.isamax                             | 0.0120 3156     0.0080      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.shift                              | 0.0040 828      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.stepfft                            | 0.0480 9860     0.0440      *                0.0440      |    0.68    1.37    0.64 *           0.68 | 0.50    1.06    n/a          n/a 
SingleSource/UnitTests/Vector/build                                      | 0.0000 804      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/build2                                     | 0.0000 1144     0.0040      *                0.0040      |    1.54    1.56    2.03 *           2.05 | 0.99    0.76    n/a          n/a 
SingleSource/UnitTests/Vector/divides                                    | 0.0000 656      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/multiplies                                 | 0.0120 1652     0.0120      *                0.0120      |    1.26    1.24    3.31 *           3.25 | 1.02    0.38    n/a          n/a 
SingleSource/UnitTests/Vector/simple                                     | 0.0040 1216     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/sumarray                                   | 0.0000 940      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/sumarray-dbl                               | 0.0040 1004     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/printargs                                         | 0.0000 760      0.0040      *                0.0000      |    0.01    0.00    0.00 *           0.00 | -       -       n/a          n/a 

Post-change:
===========
Program                                                                  | GCCAS  Bytecode LLC compile LLC-BETA compile JIT codegen | GCC     CBE     LLC     LLC-BETA JIT     | GCC/CBE GCC/LLC GCC/LLC-BETA LLC/LLC-BETA
MultiSource/Applications/Burg/burg                                       | 0.4440 109848   0.8840      *                0.8680      |    0.00    0.00    0.00 *           0.92 | -       -       n/a          n/a 
MultiSource/Applications/ClamAV/clamscan                                 | 5.1803 1318528  6.8444      *                3.9642      |    0.18    0.20    0.20 *           4.36 | 0.90    0.90    n/a          n/a 
MultiSource/Applications/JM/ldecod/ldecod                                | 2.7441 661960   2.5761      *                2.0801      |    0.06    0.08    0.07 *           2.29 | -       -       n/a          n/a 
MultiSource/Applications/JM/lencod/lencod                                | 8.0565 1442696  6.6084      *                5.7203      |    8.47    8.71    8.33 *          14.82 | 0.97    1.02    n/a          n/a 
MultiSource/Applications/SIBsim4/SIBsim4                                 | 0.4280 84528    0.4360      *                0.4480      |    4.30 *          4.73 *           5.39 | n/a     0.91    n/a          n/a 
MultiSource/Applications/SPASS/SPASS                                     | 6.2723 1594748  5.5923      *                4.0522      |   12.77   12.03   12.42 *          17.52 | 1.06    1.03    n/a          n/a 
MultiSource/Applications/aha/aha                                         | 0.0240 7104     0.0320      *                0.0280      |    2.23    2.85    3.00 *           3.11 | 0.78    0.74    n/a          n/a 
MultiSource/Applications/d/make_dparser                                  | 1.0760 299996   0.9760      *                0.8080      |    0.03 *          0.03 *           0.93 | n/a     -       n/a          n/a 
MultiSource/Applications/hbd/hbd                                         | 0.2480 82120    0.4080      *                0.3360      |    0.00    0.00    0.00 *           0.38 | -       -       n/a          n/a 
MultiSource/Applications/hexxagon/hexxagon                               | 0.1920 49820    0.2040      *                0.1960      |   12.04    9.00    9.92 *           9.66 | 1.34    1.21    n/a          n/a 
MultiSource/Applications/kimwitu++/kc                                    | 5.3083 1725192  *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
MultiSource/Applications/lambda-0.1.3/lambda                             | 0.1960 67120    0.3360      *                0.2560      |    6.14    5.56    5.74 *           6.83 | 1.10    1.07    n/a          n/a 
MultiSource/Applications/lemon/lemon                                     | 0.3360 104052   0.5560      *                0.0080      |    0.09    0.06    0.06 *         113.61 | -       -       n/a          n/a 
MultiSource/Applications/lua/lua                                         | 1.5240 557040   2.2481      *                1.6441      |   28.54 *         31.44 *          33.39 | n/a     0.91    n/a          n/a 
MultiSource/Applications/minisat/minisat                                 | 0.2120 45840    0.2040      *                *           |   12.74 *         12.36 *        *       | n/a     1.03    n/a          n/a 
MultiSource/Applications/obsequi/Obsequi                                 | 0.3560 59808    0.2800      *                0.2840      |    2.72 *          2.76 *           3.18 | n/a     0.99    n/a          n/a 
MultiSource/Applications/oggenc/oggenc                                   | 1.5600 803888   1.1920      *                0.9680      |    0.17 *          0.17 *           1.26 | n/a     1.00    n/a          n/a 
MultiSource/Applications/sgefa/sgefa                                     | 0.0800 16476    0.0840      *                0.0840      |    0.79    0.83    0.84 *           0.97 | 0.95    0.94    n/a          n/a 
MultiSource/Applications/siod/siod                                       | 0.7200 344048   1.8121      *                0.8000      |    3.69    3.87    3.71 *           4.73 | 0.95    0.99    n/a          n/a 
MultiSource/Applications/spiff/spiff                                     | 0.1680 50964    0.2480      *                *           |    1.09    1.10    1.14 *        *       | 0.99    0.96    n/a          n/a 
MultiSource/Applications/sqlite3/sqlite3                                 | 3.9202 1133884  5.1443      *                3.6602      |    4.54 *          5.28 *           9.58 | n/a     0.86    n/a          n/a 
MultiSource/Applications/treecc/treecc                                   | 0.7240 292592   1.2040      *                0.3400      |    0.00    0.00    0.00 *           0.37 | -       -       n/a          n/a 
MultiSource/Applications/viterbi/viterbi                                 | 0.0320 5576     0.0240      *                0.0280      |   12.27   18.49   12.38 *          12.34 | 0.66    0.99    n/a          n/a 
MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000                       | 3.1521 463676   2.5521      *                1.9161      |    7.48    9.09    7.55 *          10.22 | 0.82    0.99    n/a          n/a 
MultiSource/Benchmarks/ASC_Sequoia/AMGmk/AMGmk                           | 0.0960 13992    0.0680      *                0.0600      |   22.98   31.13   22.41 *          22.35 | 0.74    1.03    n/a          n/a 
MultiSource/Benchmarks/ASC_Sequoia/CrystalMk/CrystalMk                   | 0.0400 8248     0.0280      *                0.0280      |   12.13   12.64   11.96 *          12.19 | 0.96    1.01    n/a          n/a 
MultiSource/Benchmarks/ASC_Sequoia/IRSmk/IRSmk                           | 0.0240 5592     0.0240      *                0.0240      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/BitBench/drop3/drop3                              | 0.0120 3588     0.0120      *                0.0160      |    0.50    0.71    0.47 *           0.50 | 0.70    1.06    n/a          n/a 
MultiSource/Benchmarks/BitBench/five11/five11                            | 0.0120 2724     0.0080      *                0.0080      |    2.47    2.49    2.43 *           2.43 | 0.99    1.02    n/a          n/a 
MultiSource/Benchmarks/BitBench/uudecode/uudecode                        | 0.0040 2864     0.0120      *                0.0080      |    0.12    0.14    0.13 *           0.15 | 0.86    0.92    n/a          n/a 
MultiSource/Benchmarks/BitBench/uuencode/uuencode                        | 0.0120 2728     0.0120      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1                    | 0.0360 8072     0.0360      *                0.0360      |    2.03    1.93    1.85 *           1.91 | 1.05    1.10    n/a          n/a 
MultiSource/Benchmarks/Fhourstones/fhourstones                           | 0.0600 10820    0.0440      *                0.0520      |    1.83    1.85    1.82 *           1.99 | 0.99    1.01    n/a          n/a 
MultiSource/Benchmarks/FreeBench/analyzer/analyzer                       | 0.0440 10116    0.0480      *                0.0440      |    0.10    0.13    0.11 *           0.16 | 0.77    0.91    n/a          n/a 
MultiSource/Benchmarks/FreeBench/distray/distray                         | 0.0240 6944     0.0280      *                0.0320      |    0.25    0.30    0.25 *           0.29 | 0.83    1.00    n/a          n/a 
MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow                   | 0.0680 18880    0.0800      *                0.0720      |    0.34    0.37    0.37 *           0.46 | 0.92    0.92    n/a          n/a 
MultiSource/Benchmarks/FreeBench/mason/mason                             | 0.0160 6144     0.0200      *                0.0200      |    0.40    0.24    0.25 *           0.28 | 1.67    1.60    n/a          n/a 
MultiSource/Benchmarks/FreeBench/neural/neural                           | 0.0440 8772     0.0440      *                0.0480      |    0.26    0.31    0.23 *           0.29 | 0.84    1.13    n/a          n/a 
MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2                   | 0.0560 11040    0.0480      *                0.0520      |    0.29    0.30    0.26 *           0.33 | 0.97    1.12    n/a          n/a 
MultiSource/Benchmarks/FreeBench/pifft/pifft                             | 0.2600 58904    0.2800      *                0.2840      |    0.13    0.14    0.15 *           0.45 | 0.93    0.87    n/a          n/a 
MultiSource/Benchmarks/MallocBench/cfrac/cfrac                           | 0.2160 92136    0.3000      *                0.2800      |    1.78 *          1.70 *           1.96 | n/a     1.05    n/a          n/a 
MultiSource/Benchmarks/MallocBench/espresso/espresso                     | 1.4040 407284   1.9841      *                1.3600      |    0.58    0.58    0.55 *           2.00 | 1.00    1.05    n/a          n/a 
MultiSource/Benchmarks/MallocBench/gs/gs                                 | 1.1200 376444   1.3960      *                0.6200      |    0.04 *          0.04 *           0.72 | n/a     -       n/a          n/a 
MultiSource/Benchmarks/McCat/01-qbsort/qbsort                            | 0.0120 3456     0.0160      *                0.0200      |    0.05    0.05    0.05 *           0.08 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/03-testtrie/testtrie                        | 0.0160 3780     0.0200      *                0.0200      |    0.01    0.00    0.01 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/04-bisect/bisect                            | 0.0120 3984     0.0160      *                0.0200      |    0.17    0.25    0.19 *           0.21 | 0.68    0.89    n/a          n/a 
MultiSource/Benchmarks/McCat/05-eks/eks                                  | 0.0880 7532     0.0360      *                0.0360      |    0.01    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/08-main/main                                | 0.0680 12004    0.0320      *                0.0360      |    0.05    0.03    0.02 *           0.06 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/09-vor/vor                                  | 0.0800 23092    0.0920      *                0.0920      |    0.13    0.14    0.13 *           0.25 | 0.93    1.00    n/a          n/a 
MultiSource/Benchmarks/McCat/12-IOtest/iotest                            | 0.0120 2576     0.0120      *                0.0120      |    0.36    0.24    0.24 *           0.27 | 1.50    1.50    n/a          n/a 
MultiSource/Benchmarks/McCat/15-trie/trie                                | 0.0040 3216     0.0160      *                0.0200      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/McCat/17-bintr/bintr                              | 0.0120 3668     0.0160      *                0.0240      |    0.10    0.10    0.10 *           0.14 | 1.00    1.00    n/a          n/a 
MultiSource/Benchmarks/McCat/18-imp/imp                                  | 0.0720 21096    0.0920      *                0.1040      |    0.08    0.08    0.10 *           0.22 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/automotive-basicmath/automotive-basicmath | 0.0160 4808     0.0200      *                0.0280      |    0.55    0.57    0.53 *           0.60 | 0.96    1.04    n/a          n/a 
MultiSource/Benchmarks/MiBench/automotive-bitcount/automotive-bitcount   | 0.0160 3532     0.0120      *                0.0080      |    0.12    0.16    0.14 *           0.15 | 0.75    0.86    n/a          n/a 
MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan         | 0.2800 64100    0.2800      *                0.2680      |    0.05    0.08    0.06 *           0.35 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg               | 1.2880 201192   0.8120      *                0.4280      |    0.01    0.00    0.00 *           0.48 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame               | 1.3840 331160   1.1440      *                0.9400      |    0.35 *          0.33 *           1.34 | n/a     1.06    n/a          n/a 
MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset         | 7.5284 1392340  5.9403      *                5.1323      |    0.21 *          0.21 *           5.60 | n/a     1.00    n/a          n/a 
MultiSource/Benchmarks/MiBench/network-dijkstra/network-dijkstra         | 0.0120 3456     0.0160      *                0.0200      |    0.05    0.05    0.05 *           0.07 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/network-patricia/network-patricia         | 0.0280 4268     0.0240      *                0.0240      |    0.16    0.17    0.16 *           0.20 | 0.94    1.00    n/a          n/a 
MultiSource/Benchmarks/MiBench/office-ispell/office-ispell               | 0.5080 128824   0.6520      *                0.2000      |    0.00    0.00    0.00 *           0.20 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/office-stringsearch/office-stringsearch   | 0.0200 13212    0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish       | 0.0960 31024    0.0920      *                0.0480      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/security-rijndael/security-rijndael       | 0.1280 51332    0.0800      *                0.0640      |    0.04    0.05    0.07 *           0.14 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/security-sha/security-sha                 | 0.0160 4764     0.0160      *                0.0160      |    0.01    0.03    0.02 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32             | 0.0040 3180     0.0080      *                0.0040      |    0.33    0.29    0.31 *           0.30 | 1.14    1.06    n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-FFT/telecomm-fft                 | 0.0200 4852     0.0200      *                0.0240      |    0.08    0.06    0.06 *           0.09 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-adpcm/telecomm-adpcm             | 0.0080 2192     0.0040      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm                 | 0.3680 73804    0.2160      *                0.1480      |    0.22    0.23    0.22 *           0.38 | 0.96    1.00    n/a          n/a 
MultiSource/Benchmarks/NPB-serial/is/is                                  | 0.0160 5108     0.0160      *                0.3240      |   10.75   11.07   10.63 *          11.42 | 0.97    1.01    n/a          n/a 
MultiSource/Benchmarks/Olden/bh/bh                                       | 0.0960 15196    0.0760      *                0.0760      |    2.51 *          2.16 *           2.26 | n/a     1.16    n/a          n/a 
MultiSource/Benchmarks/Olden/bisort/bisort                               | 0.0080 3672     0.0160      *                0.0240      |    1.05    1.12    1.08 *           1.12 | 0.94    0.97    n/a          n/a 
MultiSource/Benchmarks/Olden/em3d/em3d                                   | 0.0280 6424     0.0280      *                0.0320      |    3.50    4.86    3.42 *           3.43 | 0.72    1.02    n/a          n/a 
MultiSource/Benchmarks/Olden/health/health                               | 0.0280 7576     0.0280      *                0.0280      |    0.61 *          0.62 *           0.63 | n/a     0.98    n/a          n/a 
MultiSource/Benchmarks/Olden/mst/mst                                     | 0.0240 4176     0.0160      *                0.0240      |    0.19    0.19    0.20 *           0.34 | 1.00    0.95    n/a          n/a 
MultiSource/Benchmarks/Olden/perimeter/perimeter                         | 0.0200 12280    0.0720      *                0.0640      |    0.38    0.36    0.36 *           0.42 | 1.06    1.06    n/a          n/a 
MultiSource/Benchmarks/Olden/power/power                                 | 0.0320 8572     0.0280      *                0.0320      |    3.38    3.38    3.08 *           3.10 | 1.00    1.10    n/a          n/a 
MultiSource/Benchmarks/Olden/treeadd/treeadd                             | 0.0000 1812     0.0080      *                0.0080      |    7.07    0.39    0.38 *           0.40 | 18.13   18.61   n/a          n/a 
MultiSource/Benchmarks/Olden/tsp/tsp                                     | 0.0200 6984     0.0280      *                0.0200      |    2.90    2.92    2.67 *           2.62 | 0.99    1.09    n/a          n/a 
MultiSource/Benchmarks/Olden/voronoi/voronoi                             | 0.0560 13420    0.0480      *                0.0520      |    0.46    0.48    0.45 *           0.52 | 0.96    1.02    n/a          n/a 
MultiSource/Benchmarks/OptimizerEval/optimizer-eval                      | 0.0680 28884    0.1080      *                0.1800      |  114.14  118.46  115.23 *         105.24 | 0.96    0.99    n/a          n/a 
MultiSource/Benchmarks/PAQ8p/paq8p                                       | 0.7960 194020   *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/NP/np                                | 0.0040 1184     0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/city/city                            | 0.1000 23800    0.0680      *                0.0560      |    0.01    0.01    0.00 *           0.07 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/deriv1/deriv1                        | 0.0360 12984    0.0400      *                0.0320      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/deriv2/deriv2                        | 0.0400 14516    0.0520      *                0.0360      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/employ/employ                        | 0.0760 21948    0.0840      *                0.0640      |    0.01    0.00    0.00 *           0.08 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/family/family                        | 0.0080 3392     0.0160      *                0.0160      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/fsm/fsm                              | 0.0160 1880     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/garage/garage                        | 0.0200 7424     0.0200      *                0.0240      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/life/life                            | 0.0240 6304     0.0280      *                0.0200      |    1.43    1.42    1.46 *           1.49 | 1.01    0.98    n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/objects/objects                      | 0.0280 9860     0.0360      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/ocean/ocean                          | 0.0400 8856     0.0400      *                0.0280      |    0.14    0.15    0.15 *           0.19 | 0.93    0.93    n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/office/office                        | 0.0480 12968    0.0400      *                0.0320      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/primes/primes                        | 0.0080 1592     0.0080      *                0.0040      |    0.46    0.46    0.47 *           0.48 | 1.00    0.98    n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/shapes/shapes                        | 0.0400 16060    0.0480      *                0.0400      |    0.00    0.00    0.00 *           0.06 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/simul/simul                          | 0.0280 4164     0.0080      *                0.0080      |    0.01    0.01    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/trees/trees                          | 0.0360 11272    0.0480      *                0.0440      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C++/vcirc/vcirc                          | 0.0040 1804     0.0000      *                0.0080      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc              | 1.8121 545152   2.7481      *                0.5480      |    0.00    0.00    0.00 *           0.58 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/agrep/agrep                            | 0.3400 90404    0.4320      *                0.1560      |    0.00    0.00    0.00 *           0.18 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/allroots/allroots                      | 0.0160 3512     0.0160      *                0.0200      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/archie-client/archie                   | 0.1680 47672    0.1840      *                0.0360      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/assembler/assembler                    | 0.1560 61488    0.3320      *                0.2600      |    0.00    0.00    0.00 *           0.28 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/bison/mybison                          | 0.3160 108708   0.9040      *                0.7640      |    0.00    0.00    0.00 *           0.80 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/cdecl/cdecl                            | 0.1040 48928    0.2880      *                0.3040      |    0.00    0.00    0.00 *           0.32 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/compiler/compiler                      | 0.0920 36336    0.2160      *                0.0400      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/fixoutput/fixoutput                    | 0.0120 5980     0.0360      *                0.0280      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/football/football                      | 0.3480 85220    0.4520      *                0.0280      |    0.00    0.00    0.00 *           0.04 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo                            | 0.1040 35268    0.1680      *                0.2080      |    0.09    0.06    0.06 *           0.30 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/loader/loader                          | 0.0800 28112    0.1200      *                0.0920      |    0.00    0.00    0.00 *           0.09 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig                      | 0.0440 14648    0.0800      *                0.0680      |    0.00    0.00    0.00 *           0.08 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/simulator/simulator                    | 0.2240 64272    0.2680      *                0.0360      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail                  | 0.1040 39464    0.2280      *                0.1720      |    0.00    0.00    0.00 *           0.18 | -       -       n/a          n/a 
MultiSource/Benchmarks/Prolangs-C/unix-tbl/unix-tbl                      | 0.3000 75600    0.3880      *                0.0160      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
MultiSource/Benchmarks/Ptrdist/anagram/anagram                           | 0.0160 7644     0.0280      *                0.0320      |    1.33    1.18    1.32 *           1.38 | 1.13    1.01    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/bc/bc                                     | 0.3440 125596   0.6040      *                0.5960      |    0.67    0.67    0.68 *           1.30 | 1.00    0.99    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/ft/ft                                     | 0.0400 7152     0.0280      *                0.0320      |    1.57    1.66    1.57 *           1.71 | 0.95    1.00    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/ks/ks                                     | 0.0320 11892    0.0480      *                0.0520      |    2.13    2.23    2.34 *           2.29 | 0.96    0.91    n/a          n/a 
MultiSource/Benchmarks/Ptrdist/yacr2/yacr2                               | 0.1760 48272    0.2560      *                0.2640      |    0.90    0.94    1.32 *           1.59 | 0.96    0.68    n/a          n/a 
MultiSource/Benchmarks/SciMark2-C/scimark2                               | 0.0840 15428    0.0720      *                0.0760      |   27.89 *         28.38 *          28.59 | n/a     0.98    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-3des/enc-3des                        | 0.1600 21512    0.0880      *                0.0920      |    2.32    2.20    2.21 *           2.32 | 1.05    1.05    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-md5/enc-md5                          | 0.0560 7660     0.0400      *                0.0400      |    2.34    2.18    2.10 *           2.15 | 1.07    1.11    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1                          | 0.0200 3900     0.0120      *                0.0160      |    0.79    0.50    0.82 *           0.89 | 1.58    0.96    n/a          n/a 
MultiSource/Benchmarks/Trimaran/enc-rc4/enc-rc4                          | 0.0160 2956     0.0120      *                0.0120      |    1.28    1.52    1.21 *           1.20 | 0.84    1.06    n/a          n/a 
MultiSource/Benchmarks/Trimaran/netbench-crc/netbench-crc                | 0.0080 32656    0.0080      *                0.0120      |    1.11    1.09    1.07 *           1.09 | 1.02    1.04    n/a          n/a 
MultiSource/Benchmarks/Trimaran/netbench-url/netbench-url                | 0.0239 40864    0.0400      *                0.0400      |    2.95    3.27    4.05 *           4.67 | 0.90    0.73    n/a          n/a 
MultiSource/Benchmarks/VersaBench/8b10b/8b10b                            | 0.0040 2168     0.0040      *                0.0080      |    9.09    7.13    5.20 *           5.12 | 1.27    1.75    n/a          n/a 
MultiSource/Benchmarks/VersaBench/beamformer/beamformer                  | 0.0280 5748     0.0200      *                0.0240      |    1.93    2.55    2.22 *           2.25 | 0.76    0.87    n/a          n/a 
MultiSource/Benchmarks/VersaBench/bmm/bmm                                | 0.0200 2924     0.0160      *                0.0240      |    2.54    2.71    2.47 *           2.52 | 0.94    1.03    n/a          n/a 
MultiSource/Benchmarks/VersaBench/dbms/dbms                              | 0.1000 36324    0.2000      *                0.1920      |    1.94    2.22    1.86 *           2.12 | 0.87    1.04    n/a          n/a 
MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes                          | 0.0680 9772     0.0160      *                0.0160      |    3.01    2.87    2.87 *           2.88 | 1.05    1.05    n/a          n/a 
MultiSource/Benchmarks/llubenchmark/llu                                  | 0.0160 3712     0.0160      *                0.0160      |   13.19   14.44   13.20 *          13.79 | 0.91    1.00    n/a          n/a 
MultiSource/Benchmarks/mafft/pairlocalalign                              | 3.8322 341756   1.7401      *                *           |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio              | 0.0120 2324     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio              | 0.0080 2192     0.0080      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/g721/g721encode/encode                 | 0.0720 13112    0.0480      *                0.0360      |    0.06    0.06    0.08 *           0.12 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/gsm/toast/toast                        | 0.3440 73804    0.2200      *                0.1400      |    0.02    0.02    0.02 *           0.19 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg                     | 1.1800 170484   0.6280      *                0.3920      |    0.00    0.00    0.00 *           0.45 | -       -       n/a          n/a 
MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode             | 0.4560 101604   0.4680      *                0.3800      |    0.02    0.02    0.02 *           0.43 | -       -       n/a          n/a 
MultiSource/Benchmarks/sim/sim                                           | 0.0760 28120    0.1440      *                0.1400      |    5.51    5.67    5.39 *           5.63 | 0.97    1.02    n/a          n/a 
MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4                             | 7.8204 1966488  4.7722      *                4.4002      |    0.72 *          0.79 *           5.52 | n/a     0.91    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/functionobjects                        | 0.1760 35452    0.1320      *                0.1240      |    4.06    5.76    3.57 *           3.77 | 0.70    1.14    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/loop_unroll                            | 0.8840 318836   1.4480      *                1.5320      |    1.85    1.93    1.84 *           3.46 | 0.96    1.01    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding          | 0.8240 185368   2.2161      *                2.1681      |    1.45    2.52    1.39 *           3.67 | 0.58    1.04    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant            | 0.5560 137288   1.0000      *                1.0080      |    4.18    4.92    3.82 *           4.91 | 0.85    1.09    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/stepanov_abstraction                   | 0.2600 37428    0.1240      *                0.1200      |    5.24   11.64    5.19 *           5.35 | 0.45    1.01    n/a          n/a 
SingleSource/Benchmarks/Adobe-C++/stepanov_vector                        | 0.2560 41136    0.1440      *                0.1440      |    3.08    7.11    3.03 *           3.21 | 0.43    1.02    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/fannkuch                           | 0.0120 2672     0.0080      *                0.0080      |    4.23    4.10    3.60 *           3.51 | 1.03    1.18    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/fasta                              | 0.0120 3020     0.0120      *                0.0080      |    1.30    1.68    1.31 *           1.31 | 0.77    0.99    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/n-body                             | 0.0120 3192     0.0120      *                0.0080      |    2.37    2.12    2.07 *           2.10 | 1.12    1.14    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/nsieve-bits                        | 0.0040 1120     0.0080      *                0.0080      |    1.68    1.73    1.56 *           1.56 | 0.97    1.08    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/partialsums                        | 0.0040 1660     0.0040      *                0.0040      |    1.19    1.18    1.22 *           1.21 | 1.01    0.98    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/puzzle                             | 0.0080 1264     0.0040      *                0.0040      |    0.58    0.99    0.56 *           0.57 | 0.59    1.04    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/recursive                          | 0.0080 3444     0.0200      *                0.0240      |    1.22    1.12    1.03 *           1.03 | 1.09    1.18    n/a          n/a 
SingleSource/Benchmarks/BenchmarkGame/spectral-norm                      | 0.0160 2792     0.0120      *                0.0120      |    3.08    3.09    2.07 *           2.10 | 1.00    1.49    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/almabench                            | 0.0160 5816     0.0120      *                0.0080      |   19.32    8.42    8.35 *           8.40 | 2.29    2.31    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/fftbench                             | 0.1040 22440    0.0840      *                0.0760      |    2.62 *          2.81 *           2.93 | n/a     0.93    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/huffbench                            | 0.0200 6616     0.0280      *                0.0280      |   18.83   21.93   18.74 *          19.01 | 0.86    1.00    n/a          n/a 
SingleSource/Benchmarks/CoyoteBench/lpbench                              | 0.0280 4408     0.0200      *                0.0160      |   14.19   14.30   14.09 *          13.99 | 0.99    1.01    n/a          n/a 
SingleSource/Benchmarks/Dhrystone/dry                                    | 0.0120 1268     0.0080      *                0.0080      |    2.62    0.46    0.62 *           0.66 | 5.70    4.23    n/a          n/a 
SingleSource/Benchmarks/Dhrystone/fldry                                  | 0.0120 1300     0.0040      *                0.0040      |    2.86    1.82    0.47 *           0.54 | 1.57    6.09    n/a          n/a 
SingleSource/Benchmarks/McGill/chomp                                     | 0.0240 6140     0.0320      *                0.0360      |    1.35    0.99    1.35 *           1.13 | 1.36    1.00    n/a          n/a 
SingleSource/Benchmarks/McGill/exptree                                   | 0.0200 4800     0.0240      *                0.0200      |    0.00    0.01    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/McGill/misr                                      | 0.0120 2700     0.0120      *                0.0080      |    0.37    0.30    0.32 *           0.33 | 1.23    1.16    n/a          n/a 
SingleSource/Benchmarks/McGill/queens                                    | 0.0120 3316     0.0160      *                0.0120      |    2.89    2.57    2.45 *           2.58 | 1.12    1.18    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/bigfib                                  | 0.2000 41088    0.1640      *                0.1400      |    0.61 *          0.62 *           0.77 | n/a     0.98    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/mandel-text                             | 0.0040 1152     0.0040      *                0.0040      |    2.64    3.18    2.33 *           2.34 | 0.83    1.13    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/oopack_v1p8                             | 0.0280 9456     0.0320      *                0.0320      |    0.22    0.34    0.17 *           0.22 | 0.65    1.29    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/ray                                     | 0.0560 17280    0.0600      *                0.0480      |    6.83    8.25    5.10 *           5.22 | 0.83    1.34    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/sphereflake                             | 0.0560 16904    0.0640      *                0.0600      |    3.44    6.99    3.35 *           3.47 | 0.49    1.03    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/stepanov_container                      | 0.2520 46076    0.1600      *                0.1440      |    7.36    8.04    7.56 *           7.63 | 0.92    0.97    n/a          n/a 
SingleSource/Benchmarks/Misc-C++/stepanov_v1p2                           | 0.0640 10008    0.0320      *                0.0320      |    8.20   15.87    8.19 *           8.23 | 0.52    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/ReedSolomon                                 | 0.0600 10188    0.0480      *                0.0440      |    8.04    8.64    7.42 *           7.83 | 0.93    1.08    n/a          n/a 
SingleSource/Benchmarks/Misc/fbench                                      | 0.0160 5364     0.0160      *                0.0240      |    2.19    2.26    2.56 *           2.63 | 0.97    0.86    n/a          n/a 
SingleSource/Benchmarks/Misc/ffbench                                     | 0.0200 4340     0.0200      *                0.0240      |    0.98    1.09    1.11 *           1.12 | 0.90    0.88    n/a          n/a 
SingleSource/Benchmarks/Misc/flops                                       | 0.0200 6552     0.0240      *                0.0280      |   16.69   13.00   15.86 *          16.00 | 1.28    1.05    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-1                                     | 0.0000 1152     0.0040      *                0.0040      |    4.51    4.06    4.62 *           4.08 | 1.11    0.98    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-2                                     | 0.0000 1252     0.0040      *                0.0040      |    2.22    2.51    2.22 *           2.23 | 0.88    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-3                                     | 0.0000 1172     0.0040      *                0.0040      |    2.74    3.21    3.02 *           3.09 | 0.85    0.91    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-4                                     | 0.0000 1152     0.0040      *                0.0000      |    4.06    1.35    1.39 *           1.40 | 3.01    2.92    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-5                                     | 0.0000 1284     0.0040      *                0.0040      |    6.84    3.91    4.45 *           4.49 | 1.75    1.54    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-6                                     | 0.0040 1284     0.0040      *                0.0040      |    5.10    4.85    5.10 *           5.12 | 1.05    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-7                                     | 0.0000 1080     0.0040      *                0.0080      |    6.20    6.12    6.18 *           6.58 | 1.01    1.00    n/a          n/a 
SingleSource/Benchmarks/Misc/flops-8                                     | 0.0080 1288     0.0040      *                0.0000      |    5.41    3.94    2.35 *           2.36 | 1.37    2.30    n/a          n/a 
SingleSource/Benchmarks/Misc/himenobmtxpa                                | 0.0520 9672     0.0400      *                0.0480      |    1.45    2.73    2.07 *           2.17 | 0.53    0.70    n/a          n/a 
SingleSource/Benchmarks/Misc/mandel                                      | 0.0040 1084     0.0040      *                0.0080      |    1.49    1.64    1.68 *           2.00 | 0.91    0.89    n/a          n/a 
SingleSource/Benchmarks/Misc/mandel-2                                    | 0.0040 1052     0.0040      *                0.0040      |    1.22    1.40    1.03 *           1.06 | 0.87    1.18    n/a          n/a 
SingleSource/Benchmarks/Misc/oourafft                                    | 0.0800 13464    0.0520      *                0.0560      |    6.33    8.77    8.17 *           7.22 | 0.72    0.77    n/a          n/a 
SingleSource/Benchmarks/Misc/perlin                                      | 0.0160 4476     0.0160      *                0.0200      |    5.96    6.72    6.83 *           6.87 | 0.89    0.87    n/a          n/a 
SingleSource/Benchmarks/Misc/pi                                          | 0.0040 1152     0.0040      *                0.0040      |    1.00    0.94    1.01 *           0.95 | 1.06    0.99    n/a          n/a 
SingleSource/Benchmarks/Misc/richards_benchmark                          | 0.0160 5752     0.0160      *                0.0200      |    0.94    1.10    1.16 *           1.29 | 0.85    0.81    n/a          n/a 
SingleSource/Benchmarks/Misc/salsa20                                     | 0.0160 2700     0.0080      *                0.0120      |   10.57    9.35    9.65 *           9.76 | 1.13    1.10    n/a          n/a 
SingleSource/Benchmarks/Misc/whetstone                                   | 0.0160 3356     0.0120      *                0.0160      |    2.47    2.53    2.50 *           2.52 | 0.98    0.99    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ackermann                           | 0.0400 11116    0.0360      *                0.0360      |    1.86    1.04    1.15 *           1.10 | 1.79    1.62    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ary                                 | 0.0320 9192     0.0320      *                0.0240      |    0.14    0.13    0.13 *           0.18 | 1.08    1.08    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ary2                                | 0.0520 9808     0.0320      *                0.0320      |    0.14    0.14    0.13 *           0.17 | 1.00    1.08    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/ary3                                | 0.0520 11680    0.0400      *                0.0360      |    5.38    5.39    5.31 *           5.33 | 1.00    1.01    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/except                              | 0.0320 11384    *           *                *           |    0.28 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/fibo                                | 0.0240 7952     0.0240      *                0.0240      |    2.56    0.57    0.54 *           0.61 | 4.49    4.74    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/hash                                | 0.0760 15128    0.0440      *                0.0560      |    0.78    0.79    0.78 *           0.95 | 0.99    1.00    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/hash2                               | 0.1200 20148    0.0560      *                0.0680      |    4.77    4.78    4.68 *           4.78 | 1.00    1.02    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/heapsort                            | 0.0080 3016     0.0080      *                0.0039      |    6.97    6.14    5.46 *           5.44 | 1.14    1.28    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/hello                               | 0.0280 8392     0.0240      *                0.0240      |    0.00    0.00    0.01 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/lists                               | 0.0680 11472    0.0400      *                0.0320      |    6.12    6.16    6.18 *           6.46 | 0.99    0.99    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/lists1                              | 0.0920 16308    0.0600      *                0.0640      |    0.50    0.39    0.40 *           0.64 | 1.28    1.25    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/matrix                              | 0.0400 12240    0.0440      *                0.0360      |    3.40    3.53    3.50 *           3.56 | 0.96    0.97    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/methcall                            | 0.0280 10872    0.0360      *                0.0240      |    6.00    6.45    5.73 *           7.88 | 0.93    1.05    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/moments                             | 0.0520 9092     0.0280      *                0.0240      |    0.20    0.22    0.22 *           0.25 | 0.91    0.91    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/nestedloop                          | 0.0360 8124     0.0240      *                0.0200      |    8.02    0.17    0.17 *           0.20 | 47.18   47.18   n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/objinst                             | 0.0440 11068    0.0360      *                0.0360      |    5.73    5.87    5.69 *           5.72 | 0.98    1.01    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/random                              | 0.0320 7924     0.0240      *                0.0240      |    6.69    4.39    4.70 *           4.67 | 1.52    1.42    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/reversefile                         | 0.1040 17488    0.0560      *                0.0480      |    0.00 *          0.00 *           0.06 | n/a     -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/sieve                               | 0.0560 12648    0.0440      *                0.0440      |    2.26    2.43    2.38 *           2.37 | 0.93    0.95    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/spellcheck                          | 0.1080 27360    0.0720      *                0.0480      |    0.00    0.00    0.00 *           0.05 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/strcat                              | 0.0480 10628    0.0400      *                0.0360      |    0.15 *          0.10 *           0.15 | n/a     1.50    n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/sumcol                              | 0.0400 9084     0.0240      *                0.0160      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/wc                                  | 0.0360 11192    0.0400      *                0.0320      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout-C++/wordfreq                            | 0.0920 18464    0.0640      *                0.0240      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout/ackermann                               | 0.0040 1180     0.0080      *                0.0080      |    0.00    0.00    0.01 *           0.02 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout/ary3                                    | 0.0040 1140     0.0040      *                0.0080      |    5.48    6.28    5.51 *           5.47 | 0.87    0.99    n/a          n/a 
SingleSource/Benchmarks/Shootout/fib2                                    | 0.0040 964      0.0040      *                0.0040      |    2.60    0.72    0.56 *           0.57 | 3.61    4.64    n/a          n/a 
SingleSource/Benchmarks/Shootout/hash                                    | 0.0160 2948     0.0160      *                0.0120      |    6.75    6.65    7.00 *           6.06 | 1.02    0.96    n/a          n/a 
SingleSource/Benchmarks/Shootout/heapsort                                | 0.0080 1424     0.0080      *                0.0040      |    6.32    6.08    6.50 *           5.49 | 1.04    0.97    n/a          n/a 
SingleSource/Benchmarks/Shootout/hello                                   | 0.0000 576      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Benchmarks/Shootout/lists                                   | 0.0200 3180     0.0120      *                0.0120      |    5.66    6.00    5.89 *           6.60 | 0.94    0.96    n/a          n/a 
SingleSource/Benchmarks/Shootout/matrix                                  | 0.0160 4080     0.0120      *                0.0120      |    2.69    4.81    4.01 *           4.05 | 0.56    0.67    n/a          n/a 
SingleSource/Benchmarks/Shootout/methcall                                | 0.0040 1568     0.0080      *                0.0080      |    4.87    4.67    4.66 *           6.57 | 1.04    1.05    n/a          n/a 
SingleSource/Benchmarks/Shootout/nestedloop                              | 0.0080 1040     0.0040      *                0.0040      |    8.01    0.18    0.17 *           0.18 | 44.50   47.12   n/a          n/a 
SingleSource/Benchmarks/Shootout/objinst                                 | 0.0040 1664     0.0080      *                0.0080      |    5.12    5.17    5.04 *           4.98 | 0.99    1.02    n/a          n/a 
SingleSource/Benchmarks/Shootout/random                                  | 0.0040 840      0.0040      *                0.0040      |    4.42    4.43    4.70 *           4.70 | 1.00    0.94    n/a          n/a 
SingleSource/Benchmarks/Shootout/sieve                                   | 0.0040 1264     0.0040      *                0.0040      |    7.83    7.76    6.30 *           6.52 | 1.01    1.24    n/a          n/a 
SingleSource/Benchmarks/Shootout/strcat                                  | 0.0040 1316     0.0080      *                0.0080      |    0.17    0.17    0.17 *           0.18 | 1.00    1.00    n/a          n/a 
SingleSource/Benchmarks/Stanford/Bubblesort                              | 0.0080 1420     0.0080      *                0.0040      |    0.06    0.05    0.05 *           0.06 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/IntMM                                   | 0.0120 1472     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Oscar                                   | 0.0080 3008     0.0120      *                0.0120      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Perm                                    | 0.0080 3124     0.0080      *                0.0120      |    0.02    0.03    0.04 *           0.05 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Puzzle                                  | 0.0840 4720     0.0200      *                0.0240      |    0.17    0.22    0.18 *           0.21 | 0.77    0.94    n/a          n/a 
SingleSource/Benchmarks/Stanford/Queens                                  | 0.0080 2232     0.0120      *                0.0120      |    0.03    0.04    0.04 *           0.06 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Quicksort                               | 0.0120 1688     0.0080      *                0.0080      |    0.05    0.04    0.04 *           0.05 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/RealMM                                  | 0.0080 1504     0.0040      *                0.0080      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Towers                                  | 0.0200 2432     0.0120      *                0.0120      |    0.01    0.02    0.02 *           0.04 | -       -       n/a          n/a 
SingleSource/Benchmarks/Stanford/Treesort                                | 0.0080 2248     0.0160      *                0.0080      |    0.09    0.09    0.09 *           0.11 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-05-14-array-init                        | 0.0000 584      0.0000      *                0.0000      |    0.00    0.01    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-05-14-expr_stmt                         | 0.0000 484      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-06-08-BaseType                          | 0.0040 496      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-06-08-VirtualFunctions                  | 0.0000 620      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-06-13-Crasher                           | 0.0000 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-08-20-EnumSizeProblem                   | 0.0000 456      0.0040      *                0.0000      |    0.00    0.00    0.01 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2003-09-29-NonPODsByValue                    | 0.0000 576      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/2008-01-29-ParamAliasesReturn                | 0.0040 604      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/BuiltinTypeInfo                              | 0.0000 728      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/EH/ConditionalExpr                           | 0.0040 712      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/EH/ctor_dtor_count                           | 0.0040 1048     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/ctor_dtor_count-2                         | 0.0000 1592     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/dead_try_block                            | 0.0040 568      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/EH/exception_spec_test                       | 0.0040 2464     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/function_try_block                        | 0.0080 2452     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/simple_rethrow                            | 0.0040 1444     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/simple_throw                              | 0.0000 956      *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/EH/throw_rethrow_test                        | 0.0080 1792     *           *                *           |    0.00 *       *       *        *       | n/a     n/a     n/a          n/a 
SingleSource/Regression/C++/global_ctor                                  | 0.0040 1344     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/global_type                                  | 0.0040 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/ofstream_ctor                                | 0.0320 9224     0.0280      *                0.0240      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/Regression/C++/pointer_member                               | 0.0000 660      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C++/pointer_method                               | 0.0040 664      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C++/short_circuit_dtor                           | 0.0040 644      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-14-initialize-string                   | 0.0000 680      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-21-BitfieldHandling                    | 0.0040 1152     0.0040      *                0.0040      |    0.00 *          0.00 *           0.00 | n/a     -       n/a          n/a 
SingleSource/Regression/C/2003-05-21-UnionBitfields                      | 0.0040 580      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-21-UnionTest                           | 0.0040 580      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-22-LocalTypeTest                       | 0.0040 624      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-22-VarSizeArray                        | 0.0000 580      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-05-23-TransparentUnion                    | 0.0000 576      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-06-16-InvalidInitializer                  | 0.0000 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-06-16-VolatileError                       | 0.0000 456      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2003-10-12-GlobalVarInitializers               | 0.0040 664      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2004-02-03-AggregateCopy                       | 0.0000 588      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2004-03-15-IndirectGoto                        | 0.0040 860      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2004-08-12-InlinerAndAllocas                   | 0.0040 824      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/2005-05-06-LongLongSignedShift                 | 0.0000 608      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/2008-01-07-LongDouble                          | 0.0000 596      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/ConstructorDestructorAttributes                | 0.0000 760      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/DuffsDevice                                    | 0.0080 1084     0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Regression/C/PR1386                                         | 0.0000 588      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/PR491                                          | 0.0000 456      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/PR640                                          | 0.0080 2076     0.0080      *                0.0080      |    0.00    0.00    0.01 *           0.02 | -       -       n/a          n/a 
SingleSource/Regression/C/badidx                                         | 0.0000 1004     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/bigstack                                       | 0.0120 4116     0.0120      *                0.0080      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Regression/C/callargs                                       | 0.0000 928      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/casts                                          | 0.0080 3596     0.0160      *                0.0160      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/Regression/C/globalrefs                                     | 0.0000 932      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/matrixTranspose                                | 0.0120 1344     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/pointer_arithmetic                             | 0.0000 488      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/sumarray                                       | 0.0040 948      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/sumarray2d                                     | 0.0080 1080     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/Regression/C/sumarraymalloc                                 | 0.0040 1164     0.0040      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/test_indvars                                   | 0.0080 1436     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/Regression/C/testtrace                                      | 0.0080 1136     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-04-17-PrintfChar                             | 0.0000 576      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-ArgumentTest                           | 0.0000 624      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest                               | 0.0040 1504     0.0080      *                0.0080      |    0.00    0.01    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest1                              | 0.0000 608      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest2                              | 0.0040 728      0.0000      *                0.0000      |    0.01    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-CastTest3                              | 0.0000 684      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-02-ManyArguments                          | 0.0000 696      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-03-NotTest                                | 0.0040 664      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-05-19-DivTest                                | 0.0000 688      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-08-02-CastTest                               | 0.0000 584      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-08-02-CastTest2                              | 0.0000 608      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-08-19-CodegenBug                             | 0.0000 568      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-09-ArrayResolution                        | 0.0000 644      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-12-StructureArgs                          | 0.0000 636      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-12-StructureArgsSimple                    | 0.0000 604      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-10-13-BadLoad                                | 0.0000 572      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2002-12-13-MishaTest                              | 0.0040 584      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-04-22-Switch                                 | 0.0000 736      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-02-DependentPHI                           | 0.0040 816      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-07-VarArgs                                | 0.0120 2828     0.0120      *                0.0120      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-12-MinIntProblem                          | 0.0000 568      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-14-AtExit                                 | 0.0040 688      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-26-Shorts                                 | 0.0000 2012     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-31-CastToBool                             | 0.0000 916      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-05-31-LongShifts                             | 0.0040 920      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-06-IntOverflow                            | 0.0000 812      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-08-BitOpsTest                             | 0.0000 592      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-09-LoadShorts                             | 0.0000 1520     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-09-SignedArgs                             | 0.0080 1672     0.0040      *                0.0080      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-07-10-SignConversions                        | 0.0040 792      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-08-05-CastFPToUint                           | 0.0000 720      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-08-11-VaListArg                              | 0.0040 3108     0.0160      *                0.0160      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-08-20-FoldBug                                | 0.0000 568      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-09-18-BitFieldTest                           | 0.0040 612      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-10-13-SwitchTest                             | 0.0000 652      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2003-10-29-ScalarReplBug                          | 0.0000 580      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2004-02-02-NegativeZero                           | 0.0040 640      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2004-06-20-StaticBitfieldInit                     | 0.0040 684      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2004-11-28-GlobalBoolLayout                       | 0.0000 880      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls                       | 0.0120 2144     0.0080      *                0.0080      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-05-12-Int64ToFP                              | 0.0000 684      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-05-13-SDivTwo                                | 0.0040 648      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-07-15-Bitfield-ABI                           | 0.0000 596      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-07-17-INT-To-FP                              | 0.0040 928      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2005-11-29-LongSwitch                             | 0.0000 584      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-01-23-UnionInit                              | 0.0080 2124     0.0080      *                0.0080      |    0.00 *          0.00 *           0.00 | n/a     -       n/a          n/a 
SingleSource/UnitTests/2006-01-29-SimpleIndirectCall                     | 0.0000 796      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-02-04-DivRem                                 | 0.0000 672      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-01-float_varg                             | 0.0000 660      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-04-DynAllocAndRestore                     | 0.0040 480      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-07-Compare64BitConstant                   | 0.0000 592      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2006-12-11-LoadConstants                          | 0.0239 2704     0.0320      *                0.0280      |    0.00    0.00    0.00 *           0.03 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-01-04-KNR-Args                               | 0.0000 668      0.0040      *                0.0040      |    0.01    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-03-02-VaCopy                                 | 0.0000 944      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-04-10-BitfieldTest                           | 0.0000 604      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2007-04-25-weak                                   | 0.0000 512      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2008-04-18-LoopBug                                | 0.0040 1052     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2008-04-20-LoopBug2                               | 0.0040 1068     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/2008-07-13-InlineSetjmp                           | 0.0000 832      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/2009-04-16-BitfieldInitialization                 | 0.0000 1888     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/AtomicOps                                         | 0.0000 812      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/FloatPrecision                                    | 0.0000 616      0.0040      *                0.0040      |    0.01    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/cast                                | 0.0080 2560     0.0240      *                0.0240      |    0.02    0.02    0.01 *           0.04 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/cast-bug                            | 0.0000 628      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/cast2                               | 0.0000 592      0.0000      *                0.0000      |    0.00    0.01    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/ccc                                 | 0.0040 760      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/div                                 | 0.0000 1340     0.0040      *                0.0040      |    0.00    0.01    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/factor                              | 0.0040 1008     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.02 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/rem                                 | 0.0240 9136     0.0880      *                0.0880      |    0.00    0.00    0.00 *           0.09 | -       -       n/a          n/a 
SingleSource/UnitTests/SignlessTypes/shr                                 | 0.0000 1448     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/StructModifyTest                                  | 0.0040 688      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/TestLoop                                          | 0.0040 680      0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/Threads/tls                                       | 0.0000 876      0.0000      *                *           |    0.00    0.00    0.00 *        *       | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.expandfft                          | 0.0240 6336     0.0240      *                0.0240      |    0.69    1.41    0.59 *           0.62 | 0.49    1.17    n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.isamax                             | 0.0120 3156     0.0120      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.shift                              | 0.0040 828      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/SSE/sse.stepfft                            | 0.0560 9860     0.0440      *                0.0440      |    0.69    1.37    0.63 *           0.68 | 0.50    1.10    n/a          n/a 
SingleSource/UnitTests/Vector/build                                      | 0.0040 804      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/build2                                     | 0.0120 1144     0.0040      *                0.0040      |    1.54    1.54    2.04 *           2.03 | 1.00    0.75    n/a          n/a 
SingleSource/UnitTests/Vector/divides                                    | 0.0000 656      0.0000      *                0.0000      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/multiplies                                 | 0.0080 1652     0.0120      *                0.0120      |    1.26    1.24    3.29 *           3.29 | 1.02    0.38    n/a          n/a 
SingleSource/UnitTests/Vector/simple                                     | 0.0040 1216     0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/sumarray                                   | 0.0040 940      0.0040      *                0.0000      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a 
SingleSource/UnitTests/Vector/sumarray-dbl                               | 0.0000 1004     0.0000      *                0.0040      |    0.00    0.00    0.00 *           0.00 | -       -       n/a          n/a 
SingleSource/UnitTests/printargs                                         | 0.0000 760      0.0040      *                0.0040      |    0.00    0.00    0.00 *           0.01 | -       -       n/a          n/a


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77499 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 20:10:24 +00:00
Bob Wilson
09b1366f3f Fix the verifier to handle intrinsics with LLVMMatchType parameters, where
the return type of the intrinsic is not overloaded, i.e., where the type
being matched is some other parameter.  The argument to LLVMMatchType is
an index into the list of overloaded types (ignoring the fixed types),
but VerifyIntrinsicPrototype is expecting its arguments for LLVMMatchType
parameters to be indices into the combined list of _all_ return values and
parameters, not just the overloaded ones.

This patch changes TableGen to keep track for each overloaded type of the
corresponding index into the list of return values and parameters.  It
then generates the values expected by VerifyIntrinsicPrototype.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 16:35:59 +00:00
Evan Cheng
636bef1f35 Revert AsmWriterEmitter.cpp to 74742. The recent changes are causing serious compile time regression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 05:06:11 +00:00
Daniel Dunbar
0e2771f4c4 Match X86 register names to number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 00:02:19 +00:00
Owen Anderson
e922c02019 Get rid of the Pass+Context magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:24:57 +00:00
David Greene
8f6353fb2f Make a bunch of changes suggested by Chris and others to improve
efficiency.  Fix a few formatting bugs along the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76601 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 18:16:24 +00:00
David Greene
76081c4ef7 Re-apply 75490, 75806 and 76177 with fixes and tests. Efficiency comes
next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76486 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 22:02:59 +00:00
Evan Cheng
ba8dc03935 Restore AsmWriterEmitter.cpp back to 74742. The recent changes broke Thumb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76398 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 06:10:07 +00:00
Evan Cheng
3837b64f41 Revert 76177 for now. It's messing up ARM asm printing. Also this significant debate about its efficiency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 01:43:53 +00:00
Daniel Dunbar
22be5225ff tblgen/AsmMatcher: Emit simple matcher for register names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76212 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:51:11 +00:00
David Greene
ab9238e876 Add logic to align instruction operands to columns for pretty-printing.
No target uses this currently.  This patch only adds the mechanism so
that local installations can choose to enable this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 14:24:46 +00:00
David Greene
fe7b16fe65 Get rid of postInstructionAction and call EmitComments directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75806 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15 18:24:03 +00:00
Dan Gohman
a1bdcedc38 Add a Force option to raw_fd_ostream to specify whether opening
an existing file is considered an error. Convert several tools
to use raw_fd_ostream instead of std::ostream, and to use this
new option instead of doing a manual check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15 17:29:42 +00:00
Duncan Sands
a4b0486684 Remove the v3i32 and v3f32 value types: they are not
native for any supported targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15 15:28:52 +00:00
Bob Wilson
ab5a5a6a76 Revert 75308.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-14 00:16:03 +00:00
David Greene
014700c1a8 Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.

This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate.  It also add parameters to
TargetAsmInfo to control comment layout.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75490 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-13 20:25:48 +00:00
Daniel Dunbar
7cab893331 Update CMakeLists.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75389 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-11 21:53:14 +00:00
Daniel Dunbar
d51ffcf303 Stub out assembly matcher (.s -> MCInst) tblgen backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75378 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-11 19:39:44 +00:00
Bob Wilson
28eff96ee6 Add new vector types for 192-bit, 348-bit and 512-bit sizes.
These are needed to represent ARM Neon struct datatypes containing 2, 3 or 4
separate vectors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-10 23:05:09 +00:00
Bob Wilson
bbf1caa46b Refactor TableGen's llvm::getName to share code with llvm::getEnumName,
since names are the same for almost all the types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-10 22:25:24 +00:00
Owen Anderson
d1474d09cb Thread LLVMContext through MVT and related parts of SDISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75153 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 17:57:24 +00:00
Torok Edwin
804e0fea40 Convert more abort() calls to llvm_report_error().
Also remove trailing semicolon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75027 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08 19:04:27 +00:00
Chris Lattner
81cb8caa3e Add a new little "FileCheck" utility for regression testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08 18:44:05 +00:00
Mikhail Glushenkov
8fe4447a0f Add an 'init' option property.
Makes possible to provide default values for options defined in plugins (same as
cl::init).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74905 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:08:41 +00:00
Mikhail Glushenkov
cbc360d567 Refactoring.
Make isList(), isSwitch() and isParameter() member functions of
OptionDescription.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74904 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:08:11 +00:00
Mikhail Glushenkov
b797000820 Comment fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74903 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:07:36 +00:00
Devang Patel
bee9e35ba2 Add new ValueType for metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74882 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-06 23:44:32 +00:00
Daniel Dunbar
1a55180238 Replace std::iostreams with raw_ostream in TableGen.
- Sorry, I can't help myself.

 - No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-03 00:10:29 +00:00
Chris Lattner
0fd38069cb improve the APIs for creating struct and function types with no arguments/elements
to not have to create a temporary vector (in the API at least).  Patch by Jay Foad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01 04:13:31 +00:00
Daniel Dunbar
3fb7683bec Normalize SourceMgr messages.
- Don't print "Parsing" in front of every message.

 - Take additional "type" argument which is prepended to the message (with ": ")
   if given.

 - Update clients to print errors (warnings) as:
<filename>:<line number>: error(warning): ...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74489 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30 00:49:23 +00:00
David Greene
2bfa06d8cd Remove commented code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74471 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29 22:55:52 +00:00
David Greene
2c0266202d Implement !cast<string>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74444 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29 20:05:29 +00:00
David Greene
67acdf2977 Improve TableGen error reporting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29 19:59:52 +00:00
David Greene
9b9838dbd4 Add more vector ValueTypes for AVX and other extended vector instruction
sets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29 16:47:10 +00:00
Evan Cheng
c0ad80fd9e Fix a CodeGenDAGPatterns bug. Check if top level predicates match when it's looking for duplicates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26 05:59:16 +00:00
Mikhail Glushenkov
7bba2333fb Better error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25 18:21:34 +00:00
Mikhail Glushenkov
d80d8690af Make llvmc work again.
Chris recently broke llvmc with his Makefile changes (r75379). That patch made
the global change .o -> .a, which caused built-in llvmc plugins to stop working
since plugin initialization in llvmc is based on static variables not referenced
from the main executable. This patch implements auto-generated forced references
to the plugin libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74000 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 20:46:48 +00:00
Mikhail Glushenkov
0cbb59089b A little bit nicer formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73998 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 20:45:31 +00:00
Mikhail Glushenkov
7c8deb3818 Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73997 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 20:45:07 +00:00
Chris Lattner
14ee48a5ba rename SourceMgr::PrintError to PrintMessage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 21:22:11 +00:00
Chris Lattner
4226bb02fb simplify some error recovery stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73856 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 19:22:49 +00:00
Chris Lattner
d926e048c1 prune #include, fix warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73847 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 05:33:06 +00:00
Chris Lattner
7ee5d5f97b move include searching logic from TGLexer to SourceMgr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 05:06:04 +00:00
Chris Lattner
8070ea3f06 Rename TGSourceMgr -> SourceMgr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73844 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 03:41:50 +00:00
Chris Lattner
1e3a8a4924 rename TGLoc -> SMLoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 03:39:35 +00:00
Chris Lattner
099e198ae8 move TGSourceMgr class out of TableGen into libsupport.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73842 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 03:36:54 +00:00
Chris Lattner
5b842c3690 allow clients of the asmprinter to opt-out of the boilerplate with a #define.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73798 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19 23:57:53 +00:00
Nick Lewycky
fc4c255304 Fix grammaro, and bad indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17 04:23:52 +00:00
Douglas Gregor
956244b337 Add output of the SFINAE bit for Clang's diagnostics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73331 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-14 07:24:49 +00:00