Chris Lattner
c4f8226aaf
Emit x86 instructions for: A = B op C, where A and B are 16-bit registers,
...
C is a constant which can be sign-extended from 8 bits without value loss,
and op is one of: add, sub, imul, and, or, xor.
This allows the JIT to emit the one byte version of the constant instead of
the two or 4 byte version. Because these instructions are very common, this
can save a LOT of code space. For example, I sampled two benchmarks, 176.gcc
and 254.gap.
BM Old New Reduction
176.gcc 2673621 2548962 4.89%
254.gap 498261 475104 4.87%
Note that while the percentage is not spectacular, this did eliminate
124.6 _KILOBYTES_ of codespace from gcc. Not bad.
Note that this doesn't effect the llc version at all, because the assembler
already does this optimization.
llvm-svn: 9284
2003-10-20 05:53:31 +00:00
Chris Lattner
bdc522f19d
Hrm, a relic from the past. How cute :)
...
llvm-svn: 9283
2003-10-20 05:45:49 +00:00
Chris Lattner
c83d8249cb
Further cleanups and simplifications
...
llvm-svn: 9282
2003-10-20 04:48:06 +00:00
Chris Lattner
fce0650cee
Eliminate code for pointer size and endianness emulation.
...
llvm-svn: 9281
2003-10-20 04:11:23 +00:00
Misha Brukman
be506fc1c5
The Grammar Police was here.
...
llvm-svn: 9280
2003-10-20 04:03:10 +00:00
Misha Brukman
f6a30433c7
* Fixed grammar in header
...
* Added description of `mem2reg'
llvm-svn: 9279
2003-10-20 03:59:05 +00:00
Chris Lattner
5a577c0b28
* Rename X86::IMULr16 -> X86::IMULrr16
...
* Implement R1 = R2 * C where R1 and R2 are 32 or 16 bits. This avoids an
extra copy into a register, reducing register pressure.
llvm-svn: 9278
2003-10-20 03:42:58 +00:00
Chris Lattner
091340ca13
Don't bother forwarding function references which are external to the program entirely
...
llvm-svn: 9274
2003-10-19 23:32:50 +00:00
Chris Lattner
3a0b78c289
Ok, return an explicit path to the shared object, unbreaking code generator
...
debugging with the JIT
llvm-svn: 9273
2003-10-19 21:54:13 +00:00
Chris Lattner
84a991bc86
Fix iterator invalidation problem
...
llvm-svn: 9272
2003-10-19 21:48:27 +00:00
Chris Lattner
7a4e225f37
Eliminate unused class
...
llvm-svn: 9270
2003-10-19 21:39:41 +00:00
Chris Lattner
87843f87b8
Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
...
llvm-svn: 9269
2003-10-19 21:34:28 +00:00
Chris Lattner
97433b8e95
Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
...
This allows removal of a special case from the instvisitor
llvm-svn: 9268
2003-10-19 21:34:11 +00:00
Chris Lattner
3d519c7bab
* Multiplications by 2^X are turned into shifts. This factors code out of the
...
getelementptr code path for use by other code paths (like malloc and alloca).
* Optimize comparisons with zero
* Generate neg, not, inc, and dec instructions, when possible.
This gives some code size wins, which might translate into performance. We'll
see tommorow in the nightly tester.
llvm-svn: 9267
2003-10-19 21:09:10 +00:00
Chris Lattner
57825f087d
Add some new instructions. Wheee
...
llvm-svn: 9266
2003-10-19 19:25:35 +00:00
Brian Gaeke
db147d9518
Change it to match llvmgcc.html ... why do we have separate pages for these two?
...
llvm-svn: 9265
2003-10-19 18:23:05 +00:00
Brian Gaeke
88418331a9
Clarify the roles of gccld and gccas.
...
Mention that they should really read the gcc manual.
llvm-svn: 9264
2003-10-19 18:15:18 +00:00
Brian Gaeke
7905c65733
Minor edits; also expand description of '-v' option.
...
llvm-svn: 9263
2003-10-19 18:09:24 +00:00
Brian Gaeke
30757a00b5
Tweak -plugin description to match bugpoint.html
...
llvm-svn: 9262
2003-10-19 18:08:57 +00:00
Brian Gaeke
2008cfe5ed
Mostly rewritten.
...
llvm-svn: 9261
2003-10-19 18:03:11 +00:00
Chris Lattner
b121b83750
A minor fix
...
llvm-svn: 9260
2003-10-19 17:37:33 +00:00
Brian Gaeke
d77898b36a
Take out extra paragraph tag.
...
llvm-svn: 9259
2003-10-19 17:37:12 +00:00
Brian Gaeke
32af55ebfe
Make this (-run) set look like the other (-disable) set.
...
llvm-svn: 9258
2003-10-19 17:35:35 +00:00
Brian Gaeke
49bf38f650
Always say "the test program", part 2.
...
Refer to the various "modules" of bugpoint as "debuggers", not
"debugging modes" or "modules". I think this is more evocative of
how they typically act, and it's shorter.
Add a note about how a linker bug can crash bugpoint early.
llvm-svn: 9257
2003-10-19 17:30:36 +00:00
Chris Lattner
c027e8fcec
Two minor fixes
...
llvm-svn: 9256
2003-10-19 17:27:12 +00:00
Brian Gaeke
bdd4bcee15
Minor edits to Description section.
...
Add Design Philosophy as a separate subsection. Clarify its last sentence.
Give Automatic Mode Selection a uniquely-named anchor.
Always call the program the "test program", instead of the "initial program",
the "LLVM program", the "test case", the "resultant module", etc.
Try to explain the assumptions a little more, instead of just describing the
process.
llvm-svn: 9255
2003-10-19 17:20:15 +00:00
Brian Gaeke
a545ceafad
Spell-check.
...
Many minor edits.
Rewrite some of the options section for grammatical parallelism,
clarity, and brevity.
llvm-svn: 9254
2003-10-19 17:03:59 +00:00
Chris Lattner
4054f75405
DeHTMLify the email so that it only gets sent out if something changes.
...
Add printouts about failed building and testing.
llvm-svn: 9253
2003-10-19 16:54:00 +00:00
Chris Lattner
9107ee3a11
.string adds an implicit zero at the end. This is not what we wanted.
...
This fixes PR#44.
llvm-svn: 9252
2003-10-19 02:51:01 +00:00
Chris Lattner
9a758cd924
Add debugtype, make output marginally more nice
...
llvm-svn: 9251
2003-10-19 02:27:40 +00:00
Chris Lattner
5c98a2d33a
Fix PR #47
...
llvm-svn: 9250
2003-10-19 02:14:58 +00:00
Chris Lattner
de87c8a892
Fix bug: Jello/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.llx
...
This also fixes miscompilation of 176.gcc.
llvm-svn: 9249
2003-10-19 00:26:11 +00:00
Chris Lattner
a7adb9cbf2
New testcase, distilled from 176.gcc codegen failure
...
llvm-svn: 9248
2003-10-18 23:54:45 +00:00
Chris Lattner
008529a320
Update compile information
...
llvm-svn: 9247
2003-10-18 21:55:47 +00:00
Chris Lattner
babd7c5dfd
Add usage blurb
...
llvm-svn: 9246
2003-10-18 21:55:35 +00:00
Chris Lattner
27798b47fb
Without this option, the -run-llc mode does not work with shared objects at
...
all, making it pointless for use with the code generator debugger. With it,
it works like a charm.
llvm-svn: 9245
2003-10-18 21:54:47 +00:00
Chris Lattner
e7ba106c53
Add bugpoint advice section
...
llvm-svn: 9244
2003-10-18 21:34:15 +00:00
Chris Lattner
4aa68a71a7
Print -fno-strict-aliasing as well
...
llvm-svn: 9243
2003-10-18 21:08:57 +00:00
Chris Lattner
23628ef2fb
Don't leave a trail of bugpoint-execution-output-* breadcrumbs all over the place
...
llvm-svn: 9242
2003-10-18 21:02:51 +00:00
Chris Lattner
8aa9d7a872
Expand the --args section
...
llvm-svn: 9241
2003-10-18 20:57:23 +00:00
Chris Lattner
a4b1041fc0
* Add the -additional-so option
...
* Add info about codegen and miscompilation mode
llvm-svn: 9240
2003-10-18 20:54:37 +00:00
Chris Lattner
af764921bf
Beef up the description of bugpoint a lot. Update for renamed options
...
llvm-svn: 9239
2003-10-18 20:36:15 +00:00
Chris Lattner
6dc01b06f7
Change run-lli -> run-int
...
Many people associate lli with the jit, so we don't want to suprise them
llvm-svn: 9238
2003-10-18 20:30:48 +00:00
Chris Lattner
aea6238a66
Default to using the CBE instead of the Interpreter if no -run-* option is specified
...
llvm-svn: 9237
2003-10-18 20:18:20 +00:00
Chris Lattner
620cb7e35a
Fix warning
...
llvm-svn: 9236
2003-10-18 19:48:10 +00:00
Chris Lattner
b06ba9f4b3
Print stuff to stdout if something changes.
...
llvm-svn: 9235
2003-10-18 19:31:39 +00:00
Chris Lattner
a65c470b02
If we detect a pass crash during miscompilation testing, immediately enter the
...
crash debugger
llvm-svn: 9234
2003-10-18 19:27:48 +00:00
Chris Lattner
3ff64cf568
add support for new linkage types
...
llvm-svn: 9228
2003-10-18 06:30:21 +00:00
Chris Lattner
e4a69325ff
Fix PR#50
...
llvm-svn: 9227
2003-10-18 06:14:59 +00:00
Chris Lattner
29825508f0
Add support for the new varargs intrinsics and instructions
...
llvm-svn: 9226
2003-10-18 05:57:43 +00:00