Commit Graph

8546 Commits

Author SHA1 Message Date
John Criswell ca342f5f83 Made the Requirements information its own major section and moved it
between the "Getting Started Quickly" and "Getting Started Slowly" sections.
:)
Removed some of the nit-picky requirements information (i.e. GNU tar and
GNU zip).
Attempted to compact the requirements information so that it is less scary.

llvm-svn: 9290
2003-10-20 16:39:52 +00:00
Brian Gaeke 4bc3958c7b Make replaceMachineCodeForFunction() return void.
llvm-svn: 9289
2003-10-20 15:17:12 +00:00
Brian Gaeke 67a5a865ae Make replaceMachineCodeForFunction return void.
llvm-svn: 9288
2003-10-20 15:15:17 +00:00
Brian Gaeke a585d7e768 Make replaceMachineCodeForFunction return void.
Make it assert by default.

llvm-svn: 9287
2003-10-20 15:14:33 +00:00
Chris Lattner f187b7691d Apparently the dependencies are wrong for this file, so it didn't rebuild it
when changing Instruction.def.  :(

llvm-svn: 9286
2003-10-20 14:12:52 +00:00
Chris Lattner 2d9c117e21 Reorder for minor efficiency gain
llvm-svn: 9285
2003-10-20 05:54:26 +00:00
Chris Lattner 6acb1bedb1 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 f2a34aa278 Hrm, a relic from the past. How cute :)
llvm-svn: 9283
2003-10-20 05:45:49 +00:00
Chris Lattner 369246d855 Further cleanups and simplifications
llvm-svn: 9282
2003-10-20 04:48:06 +00:00
Chris Lattner 358e7c3edb Eliminate code for pointer size and endianness emulation.
llvm-svn: 9281
2003-10-20 04:11:23 +00:00
Misha Brukman 42856eb1bd The Grammar Police was here.
llvm-svn: 9280
2003-10-20 04:03:10 +00:00
Misha Brukman c265fdc3bb * Fixed grammar in header
* Added description of `mem2reg'

llvm-svn: 9279
2003-10-20 03:59:05 +00:00
Chris Lattner 97e1b55723 * 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 4705141f28 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 2b97d6e7cd 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 a4004f6678 Fix iterator invalidation problem
llvm-svn: 9272
2003-10-19 21:48:27 +00:00
Chris Lattner 24c67e8553 Eliminate unused class
llvm-svn: 9270
2003-10-19 21:39:41 +00:00
Chris Lattner b94550e537 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 fc0bf07db4 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 bf87734fa0 * 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 55a8ef0cc8 Add some new instructions. Wheee
llvm-svn: 9266
2003-10-19 19:25:35 +00:00
Brian Gaeke 98e1f50d0c 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 7c49d984d2 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 cfd030726c Minor edits; also expand description of '-v' option.
llvm-svn: 9263
2003-10-19 18:09:24 +00:00
Brian Gaeke e4cea8cd34 Tweak -plugin description to match bugpoint.html
llvm-svn: 9262
2003-10-19 18:08:57 +00:00
Brian Gaeke 70e81e2320 Mostly rewritten.
llvm-svn: 9261
2003-10-19 18:03:11 +00:00
Chris Lattner d46f945b43 A minor fix
llvm-svn: 9260
2003-10-19 17:37:33 +00:00
Brian Gaeke c852194dec Take out extra paragraph tag.
llvm-svn: 9259
2003-10-19 17:37:12 +00:00
Brian Gaeke 8ef235e2fc Make this (-run) set look like the other (-disable) set.
llvm-svn: 9258
2003-10-19 17:35:35 +00:00
Brian Gaeke 33534d7ba9 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 90f86a79c4 Two minor fixes
llvm-svn: 9256
2003-10-19 17:27:12 +00:00
Brian Gaeke abe08a6ee0 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 c8cff0e914 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 eb9d2155f3 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 406ac8e741 .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 4aad8b9ed8 Add debugtype, make output marginally more nice
llvm-svn: 9251
2003-10-19 02:27:40 +00:00
Chris Lattner 97d7f8373c Fix PR #47
llvm-svn: 9250
2003-10-19 02:14:58 +00:00
Chris Lattner ee898b35a1 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 f6e098c586 New testcase, distilled from 176.gcc codegen failure
llvm-svn: 9248
2003-10-18 23:54:45 +00:00
Chris Lattner a9a7c92cea Update compile information
llvm-svn: 9247
2003-10-18 21:55:47 +00:00
Chris Lattner 849619e23e Add usage blurb
llvm-svn: 9246
2003-10-18 21:55:35 +00:00
Chris Lattner 0132ae4117 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 f021940b49 Add bugpoint advice section
llvm-svn: 9244
2003-10-18 21:34:15 +00:00
Chris Lattner 667ad30e5a Print -fno-strict-aliasing as well
llvm-svn: 9243
2003-10-18 21:08:57 +00:00
Chris Lattner 759b9931fe 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 9d7eeb6f96 Expand the --args section
llvm-svn: 9241
2003-10-18 20:57:23 +00:00
Chris Lattner 4b3da850f4 * 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 b0ce7e2782 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 9e52550555 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 16d36a1875 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