Commit Graph

8546 Commits

Author SHA1 Message Date
John Criswell
3ab71367d0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9290 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 16:39:52 +00:00
Brian Gaeke
17b53a8733 Make replaceMachineCodeForFunction() return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9289 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 15:17:12 +00:00
Brian Gaeke
682ce72e60 Make replaceMachineCodeForFunction return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9288 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 15:15:17 +00:00
Brian Gaeke
a42649e3dd Make replaceMachineCodeForFunction return void.
Make it assert by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9287 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 15:14:33 +00:00
Chris Lattner
f6cd38d2fc Apparently the dependencies are wrong for this file, so it didn't rebuild it
when changing Instruction.def.  :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9286 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 14:12:52 +00:00
Chris Lattner
bacc773d20 Reorder for minor efficiency gain
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9285 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 05:54:26 +00:00
Chris Lattner
43a5ff8d40 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9284 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 05:53:31 +00:00
Chris Lattner
e738656c0b Hrm, a relic from the past. How cute :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 05:45:49 +00:00
Chris Lattner
6ac1d71588 Further cleanups and simplifications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9282 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 04:48:06 +00:00
Chris Lattner
6c09db2959 Eliminate code for pointer size and endianness emulation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9281 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 04:11:23 +00:00
Misha Brukman
44ffd5adac The Grammar Police was here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9280 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 04:03:10 +00:00
Misha Brukman
0fc20c82bc * Fixed grammar in header
* Added description of `mem2reg'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 03:59:05 +00:00
Chris Lattner
c01d1232fe * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9278 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 03:42:58 +00:00
Chris Lattner
9fc2adc487 Don't bother forwarding function references which are external to the program entirely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 23:32:50 +00:00
Chris Lattner
6ebe44d22f Ok, return an explicit path to the shared object, unbreaking code generator
debugging with the JIT


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:54:13 +00:00
Chris Lattner
b656c20cf1 Fix iterator invalidation problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:48:27 +00:00
Chris Lattner
a626e0242e Eliminate unused class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9270 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:39:41 +00:00
Chris Lattner
3b237fcd38 Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:34:28 +00:00
Chris Lattner
4661dc6a6a 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:34:11 +00:00
Chris Lattner
b2acc51bb2 * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:09:10 +00:00
Chris Lattner
f634a103ee Add some new instructions. Wheee
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9266 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 19:25:35 +00:00
Brian Gaeke
294fab1d07 Change it to match llvmgcc.html ... why do we have separate pages for these two?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9265 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 18:23:05 +00:00
Brian Gaeke
102ed5c3a7 Clarify the roles of gccld and gccas.
Mention that they should really read the gcc manual.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9264 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 18:15:18 +00:00
Brian Gaeke
e08ad2e67b Minor edits; also expand description of '-v' option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 18:09:24 +00:00
Brian Gaeke
f101788e40 Tweak -plugin description to match bugpoint.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 18:08:57 +00:00
Brian Gaeke
51b2ab8ea2 Mostly rewritten.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9261 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 18:03:11 +00:00
Chris Lattner
e99e734b27 A minor fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9260 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:37:33 +00:00
Brian Gaeke
768a318e31 Take out extra paragraph tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:37:12 +00:00
Brian Gaeke
28dbfcefa4 Make this (-run) set look like the other (-disable) set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:35:35 +00:00
Brian Gaeke
6ff3310c49 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9257 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:30:36 +00:00
Chris Lattner
129e7a88b0 Two minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9256 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:27:12 +00:00
Brian Gaeke
237b366564 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9255 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:20:15 +00:00
Brian Gaeke
b9b3c33177 Spell-check.
Many minor edits.
Rewrite some of the options section for grammatical parallelism,
 clarity, and brevity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 17:03:59 +00:00
Chris Lattner
be197877cf DeHTMLify the email so that it only gets sent out if something changes.
Add printouts about failed building and testing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 16:54:00 +00:00
Chris Lattner
b169841166 .string adds an implicit zero at the end. This is not what we wanted.
This fixes PR#44.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 02:51:01 +00:00
Chris Lattner
0b1fe84e81 Add debugtype, make output marginally more nice
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 02:27:40 +00:00
Chris Lattner
7b2ccffa59 Fix PR #47
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9250 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 02:14:58 +00:00
Chris Lattner
a81fc68f8e Fix bug: Jello/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.llx
This also fixes miscompilation of 176.gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9249 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 00:26:11 +00:00
Chris Lattner
547eaefb0e New testcase, distilled from 176.gcc codegen failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 23:54:45 +00:00
Chris Lattner
365f09a0e1 Update compile information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:55:47 +00:00
Chris Lattner
670406d269 Add usage blurb
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9246 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:55:35 +00:00
Chris Lattner
1f0f1621f0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9245 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:54:47 +00:00
Chris Lattner
634ec56986 Add bugpoint advice section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:34:15 +00:00
Chris Lattner
b715497a56 Print -fno-strict-aliasing as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9243 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:08:57 +00:00
Chris Lattner
1a28a2b76d Don't leave a trail of bugpoint-execution-output-* breadcrumbs all over the place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9242 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:02:51 +00:00
Chris Lattner
0b4ffea866 Expand the --args section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:57:23 +00:00
Chris Lattner
5cd840c047 * Add the -additional-so option
* Add info about codegen and miscompilation mode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9240 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:54:37 +00:00
Chris Lattner
d1eb6f7984 Beef up the description of bugpoint a lot. Update for renamed options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9239 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:36:15 +00:00
Chris Lattner
367e1ee5be Change run-lli -> run-int
Many people associate lli with the jit, so we don't want to suprise them


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9238 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:30:48 +00:00
Chris Lattner
25d66473c6 Default to using the CBE instead of the Interpreter if no -run-* option is specified
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9237 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:18:20 +00:00