Evan Cheng
19e3f31f6a
Added getNumExplicitOperands and findFirstPredOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37064 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-15 01:26:09 +00:00
Chris Lattner
6b6aef8efc
Fix Transforms/InstCombine/2007-05-14-Crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37057 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-15 00:16:00 +00:00
Lauro Ramos Venancio
5d3d44a848
Fix previous patch. GOTOFF can be used only when the symbol has internal
...
linkage or hidden visibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37055 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 23:20:21 +00:00
Chris Lattner
2944652569
implement a simple fneg optimization/propagation thing. This compiles:
...
CodeGen/PowerPC/fneg.ll into:
_t4:
fmul f0, f3, f4
fmadd f1, f1, f2, f0
blr
instead of:
_t4:
fneg f0, f3
fmul f0, f0, f4
fmsub f1, f1, f2, f0
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37054 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 22:04:50 +00:00
Evan Cheng
8dfffd5a07
Only worry about intervening kill if there are more than one live ranges in the interval.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37052 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 21:23:51 +00:00
Evan Cheng
2f6cb2b14c
Fix for PR1406:
...
v1 =
r2 = move v1
= op r2<kill>
...
r2 = move v1
= op r2<kill>
Clear the first r2 kill if v1 and r2 are joined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37050 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 21:10:05 +00:00
Evan Cheng
8b966d9fd0
When marking a register as being implicitly defined, make sure to clear its partial use info as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37046 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 20:39:18 +00:00
Lauro Ramos Venancio
930d161ba2
Optimize PIC implementation. GOTOFF can be used when the symbol is defined
...
and used in the same module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37044 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 18:46:23 +00:00
Lauro Ramos Venancio
69642f11ed
Enable aliases on arm-linux.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37042 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 18:32:56 +00:00
Reid Spencer
9bd57b6561
Give names to the final result values of the part_set computations. This
...
just aids in readability and debugability of the output. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37037 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 17:21:17 +00:00
Dan Gohman
d9efdb2012
Correct a few comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37034 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 14:31:17 +00:00
Dan Gohman
a196b993e0
Add passes -view-cfg and -view-cfg-only that are like -print-cfg and
...
-print-cfg-only except they use the ViewCFG function, which displays the
CFG rendered with graphviz with gv.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37033 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 14:25:08 +00:00
Reid Spencer
69944e85aa
Make the results for the rotate functions correct when rotateAmt == 0.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37026 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 00:15:28 +00:00
Reid Spencer
19dc32a2d4
Add some things needed by the llvm-gcc version supporting bit accurate integer
...
types:
1. Functions to compute div/rem at the same time.
2. Further assurance that an APInt with 0 bitwidth cannot be constructed.
3. Left and right rotate operations.
4. An exactLogBase2 function which requires an exact power of two or it
returns -1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37025 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 23:44:59 +00:00
Chris Lattner
40c1b66d88
Fix PR1413
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37023 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 22:19:27 +00:00
Chris Lattner
79cfddf646
Fix Transforms/GlobalOpt/2007-05-13-Crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37020 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 21:28:07 +00:00
Anton Korobeynikov
185bc8905a
Emit function debug frames in one atom. This will prevent us from generating incorrect assembler in case of both
...
debug information & exception information presented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37019 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 17:30:11 +00:00
Anton Korobeynikov
8c7c17354c
Emit multiple common EH frames for multiple (including blank) personality
...
functions. This partly fixes PR1414: now we're restricted only to one
personality function per eh frame, not per module. Further work on
"multiple personalities" topic needs representative example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37018 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 15:42:26 +00:00
Anton Korobeynikov
0ff3ca4f92
More DWARF-related things cleanup:
...
1. Fix PR1380
2. Apply Duncan's patch from PR1410
3. Insert workaround for "one personality function per module" as noted in PR1414
4. Emit correct debug frames for x86/linux. This partly fixes DebugInfo/2006-11-06-StackTrace.cpp: stack trace is
shown correctly, but arguments for function on top of stack are displayed incorrectly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37015 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 22:36:25 +00:00
Reid Spencer
92c7283500
Fix shl to produce the correct result when the bitwidth is > 64 and the
...
shift amount is 0. Previously this code would do a lshr by the bit width
which can lead to incorrect results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37010 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 18:01:57 +00:00
Reid Spencer
5156f5b214
Get the size of auto arrays right, regardless of its changing size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37006 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 11:07:40 +00:00
Chris Lattner
384003d2c0
allow partially materialized modules to be written out, which just strips out
...
the functions which haven't been read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36999 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 23:51:59 +00:00
Devang Patel
1e4c23a2d1
Fix http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049516.html
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36998 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 23:14:43 +00:00
Chris Lattner
7d8ed8a941
significantly improve debug output of lsr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36996 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 22:40:34 +00:00
Dan Gohman
86296cca63
Update comments to say "vector" instead of "packed".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36995 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 21:43:24 +00:00
Dan Gohman
23d9d27c26
Fix typos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36994 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 21:10:54 +00:00
Dan Gohman
c767844fc9
This patch extends the LoopUnroll pass to be able to unroll loops
...
with unknown trip counts. This is left off by default, and a
command-line option enables it. It also begins to separate loop
unrolling into a utility routine; eventually it might be made usable
from other passes.
It currently works by inserting conditional branches between each
unrolled iteration, unless it proves that the trip count is a
multiple of a constant integer > 1, which it currently only does in
the rare case that the trip count expression is a Mul operator with
a ConstantInt operand. Eventually this information might be provided
by other sources, for example by a pass that peels/splits the loop
for this purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36990 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 20:53:41 +00:00
Chris Lattner
3aea1bdca5
fix regressions from my previous checking, including
...
Transforms/InstCombine/2006-12-08-ICmp-Combining.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36989 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 16:58:45 +00:00
Anton Korobeynikov
22d5c37f32
Perform correct actions numbers/sizes computation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36988 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 08:47:35 +00:00
Anton Korobeynikov
29c9cafe46
Fix action No calculation in multiple-invoke-one-LP mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36987 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 08:23:57 +00:00
Chris Lattner
8885887b9c
fix Transforms/InstCombine/2007-05-10-icmp-or.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36984 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 05:55:56 +00:00
Chris Lattner
a24b04e9e5
fix a memory leak
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36981 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 00:43:26 +00:00
Chris Lattner
39253260b9
Fix a bug where the bcreader could crash on .bc files that were an exact
...
multiple of the page size, due to a bug in MappedFile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36980 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-11 00:00:27 +00:00
Dale Johannesen
54f4a6780a
Do not generate branches to entry block. This fixes several test suite
...
failures on PPC (can happen only when prologue code is null)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36979 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 23:59:23 +00:00
Anton Korobeynikov
432a7faf03
Ooops. Some debugging stuff :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36978 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 22:38:46 +00:00
Anton Korobeynikov
eeb37e0b80
Allow multiple invokes per landing pad. This (probably) fixes PR1410.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36977 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 22:34:59 +00:00
Duncan Sands
c1fe16610a
Later computations assume we are aligned at this point.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36975 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 18:40:24 +00:00
Anton Korobeynikov
e25514d0a5
TypeIds are indexed by j, not i
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36974 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 15:10:34 +00:00
Dale Johannesen
76b38fcabe
Make tail merging handle many more cases (all it can, I think).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36966 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 01:01:49 +00:00
Chris Lattner
0f1621bb4c
add some notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36965 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-10 00:08:04 +00:00
Evan Cheng
2c4f94363a
Can't fold the bit_convert is the store is a truncating store.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36962 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-09 21:49:47 +00:00
Anton Korobeynikov
7294b58ecd
Do not assert, when case range split metric is zero and JTs are not allowed: just emit binary tree in this case. This
...
fixes PR1403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36959 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-09 20:07:08 +00:00
Devang Patel
fd98dc9a76
Fix PR1333
...
Testcases :
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049451.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049452.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36955 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-09 08:24:12 +00:00
Evan Cheng
42d712b306
Switch BCC, MOVCCr, etc. to PredicateOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36948 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 21:08:43 +00:00
Evan Cheng
f88b3a5698
PredicateOperand can be used as a normal operand for isel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36947 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 21:06:08 +00:00
Bill Wendling
e23e00ddea
Change names from RA to something unique to get rid of naming conflicts with
...
certain linkers...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36944 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 19:02:46 +00:00
Evan Cheng
56184904cd
Eliminate MarkVirtRegAliveInBlock recursion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36943 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 19:00:00 +00:00
Evan Cheng
43182ac0d6
R0 is a sub-register of X0, etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36939 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 17:03:51 +00:00
Dan Gohman
1cc0096d55
Fix various whitespace inconsistencies.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36936 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 15:19:19 +00:00
Dan Gohman
f742c2363c
Correct the comment for ApproximateLoopSize to reflect what it actually does.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36935 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 15:14:19 +00:00
Chris Lattner
a9bb713130
Make a preemptive bitcode format change to support PR1146. This lets us do
...
pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should
be merged into the 2.0 release branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36928 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 05:38:01 +00:00
Dale Johannesen
6603a1bff0
Don't generate branch to entry block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36917 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 01:01:04 +00:00
Lauro Ramos Venancio
356e72c4f1
Fix PR1390 in a better way.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36916 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 23:15:16 +00:00
Evan Cheng
c2cd2b29f5
Forgot a check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36910 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 21:36:06 +00:00
Evan Cheng
c4e600362e
This is no longer needed after enabling the DAG combiner xform.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36909 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 21:29:41 +00:00
Evan Cheng
59d5b68dff
Enable a couple of xforms:
...
- (store (bitconvert v)) -> (store v) if resultant store does not require
higher alignment
- (bitconvert (load v)) -> (load (bitconvert*)v) if resultant load does not
require higher alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36908 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 21:27:48 +00:00
Dale Johannesen
7d33b4c59b
Handle some non-exit blocks in tail merging.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36907 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 20:57:21 +00:00
Duncan Sands
4fee7034d5
Parameter attributes on invoke calls were being lost due to the wrong
...
attribute index being used. Fix proposed by Anton Korobeynikov, who
asked me to implement and commit it for him. This is PR1398.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36906 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 20:49:28 +00:00
Jeff Cohen
0fea8ebb4a
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36901 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 15:21:46 +00:00
Chris Lattner
5499da8833
Enhance MemoryBuffer to return error messages in strings if they occur.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 23:32:36 +00:00
Chris Lattner
1ce6f8da72
Fix PR1395, by passing the ID correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36894 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 23:13:56 +00:00
Chris Lattner
31c2ec3afb
add this back
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36892 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 20:31:17 +00:00
Anton Korobeynikov
b682448ebd
Detabify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36891 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 20:14:21 +00:00
Anton Korobeynikov
f13090c436
Update MSIL BE. This patch fixes most weird glitches outlined in
...
README.txt. Patch by Roman Samoilov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36890 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 20:13:33 +00:00
Chris Lattner
f527cbb0f4
lib/Bytecode is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36889 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:51:20 +00:00
Chris Lattner
38a5f74882
move this to lib/Archive
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36888 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:50:53 +00:00
Chris Lattner
6593380c0e
build lib/Archive instead of lib/Bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36887 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:50:06 +00:00
Chris Lattner
d61070e3ce
adjust this to live in lib/Archive
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36886 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:49:28 +00:00
Chris Lattner
a066e378e9
remove bytecode reader
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36882 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:42:57 +00:00
Chris Lattner
b11f1a9ee1
remove the old bc writer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36881 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:33:40 +00:00
Chris Lattner
5f32c01dea
fix off-by-one that caused the llvm2cpp test to fail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:27:46 +00:00
Chris Lattner
4eab2e57f9
Flush the file after writing bitcode so that clients who don't close their
...
ofstreams will be ok.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36878 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:19:23 +00:00
Chris Lattner
9e66233361
remove this file for now, we can bring it back from cvs if we need it in
...
the future (and integrate it with membuffer, etc)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36876 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:10:47 +00:00
Chris Lattner
d6f595946d
remove libbzip2, it is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36875 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:05:34 +00:00
Nick Lewycky
ecd94c804a
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 13:37:16 +00:00
Chris Lattner
73a978a753
don't build bzip2 for now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36871 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:31:32 +00:00
Chris Lattner
dfa8d8c6ee
disable this for now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36870 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:31:06 +00:00
Chris Lattner
beb4cb696d
don't build bcreader/bcwriter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36869 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:30:31 +00:00
Chris Lattner
4bcca0f2ac
switch this to bitcode instead of bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36867 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:29:13 +00:00
Chris Lattner
c1d5624d71
Switch this over to bitcode instead of bytecode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36866 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:28:33 +00:00
Chris Lattner
33f1d5b328
Fix a nasty problem where we would miss enumeration of some types. This fixes
...
issues with CE_CAST etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36864 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 08:35:19 +00:00
Chris Lattner
7108dce324
Allow structs with zero fields.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36862 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 08:21:50 +00:00
Bill Wendling
11d8fdaf6a
3DNowA implies 3DNow. 64-bit implies SSE1, SSE2, and I assume MMX.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36860 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:56:19 +00:00
Chris Lattner
bfcc38040b
add a missing check
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36859 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:33:01 +00:00
Chris Lattner
82e791dc42
Fix MemoryBuffer::getFile to return null if it has an error opening the
...
file instead of aborting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36858 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:24:46 +00:00
Chris Lattner
6f6f5125e2
Fix a bug in my previous patch
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36857 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:24:03 +00:00
Chris Lattner
e07c15c734
add bitcode support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36856 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 06:18:07 +00:00
Chris Lattner
1a019e5ffd
add bitcode support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36855 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 06:02:13 +00:00
Chris Lattner
f283a5e53a
pull some win32 code into common code, add bitcode identification support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36846 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 05:32:21 +00:00
Chris Lattner
2cb1ad92d1
teach this to read from bitcode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36843 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 05:18:53 +00:00
Nate Begeman
9a22530696
Reference correct header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36834 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 04:00:55 +00:00
Jeff Cohen
650c938c41
Keep header file free of 'possible loss of data' warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36832 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 03:23:14 +00:00
Jeff Cohen
332376bc60
Unbreak VC++.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36831 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 03:12:47 +00:00
Chris Lattner
f9f2e83170
add abbrevs for binops and casts. This shrinks a testcase from 725132->682500
...
bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36829 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 02:38:57 +00:00
Chris Lattner
e8e1e4bf8a
add a new CreateBitcodeWriterPass method, which creates a bitcode writer as
...
a pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36828 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 02:30:12 +00:00
Chris Lattner
2bce93a2ae
implement reading/writing of inlineasm objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36827 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 01:58:20 +00:00
Chris Lattner
94687acd21
add some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36823 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 01:28:01 +00:00
Chris Lattner
7a303d1591
enumerate the operands of a constant before we enumerate the constant itself
...
This avoids fwd references in the reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36822 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 01:00:28 +00:00
Chris Lattner
cb3d91b05b
add a denser encoding for null terminated strings, add a 6-bit abbrev as
...
well. This shrinks kc++ from 2724088 to 2717360 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36821 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:53:07 +00:00
Chris Lattner
817f08a0e5
add an abbreviation for the string constants opzn, shrinking the constnats
...
block from:
Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1722
Total Size: 3.85976e+06b/482470B/120617W
% of file: 16.7609
Average Size: 2241.44b/280.18B/70.045W
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 1/0.00058072
Tot/Avg Records: 26423/15.3444
% Abbrev Recs: 69.1746
to:
Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1724
Total Size: 2.62406e+06b/328008B/82001.9W
% of file: 12.041
Average Size: 1522.08b/190.26B/47.5649W
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 2/0.00116009
Tot/Avg Records: 26280/15.2436
% Abbrev Recs: 68.9992
This shrinks kc++ from 2815788 to 2724088 bytes, which means the bitcode
file is now smaller than the bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36820 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:42:18 +00:00