Lauro Ramos Venancio
3551928a2b
Enable aliases on arm-linux.
...
llvm-svn: 37042
2007-05-14 18:32:56 +00:00
Evan Cheng
bc5c15276b
Remove duplicated line.
...
llvm-svn: 37040
2007-05-14 18:03:45 +00:00
Reid Spencer
9cdab38520
Reverse last patch .. premature. Depends on uncommitted CBE patch.
...
llvm-svn: 37039
2007-05-14 17:58:52 +00:00
Reid Spencer
9c6a4d64aa
Update this test to match the (corrected) output from the CBE.
...
llvm-svn: 37038
2007-05-14 17:56:39 +00:00
Reid Spencer
764ae2a21b
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.
llvm-svn: 37037
2007-05-14 17:21:17 +00:00
Reid Spencer
146281ce1a
The wrapping behavior of part_set is not desirable. Adjust the
...
documentation to describe the desired behavior.
llvm-svn: 37036
2007-05-14 16:50:20 +00:00
Reid Spencer
70845c05e4
Revise definition of part_select. The wrapping behavior is not useful so
...
in the reverse case the only difference is that the bits are returned in
reverse order.
llvm-svn: 37035
2007-05-14 16:14:57 +00:00
Dan Gohman
8d40e4d965
Correct a few comments.
...
llvm-svn: 37034
2007-05-14 14:31:17 +00:00
Dan Gohman
90d97ac1e6
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.
llvm-svn: 37033
2007-05-14 14:25:08 +00:00
Dan Gohman
86110bdf06
Use templates for the GraphType for DefaultDOTGraphTraits' members instead
...
of just using void*. This allows it to be used with graph adapters like
Inverse.
llvm-svn: 37032
2007-05-14 14:23:27 +00:00
Dan Gohman
619bfa47e3
Add a addRequiredTransitiveID member function, which is to
...
addRequiredTransitive as addRequiredID is to addRequired.
llvm-svn: 37031
2007-05-14 14:21:46 +00:00
Chris Lattner
97beb5147f
Add a skeleton for future contents
...
llvm-svn: 37028
2007-05-14 06:56:09 +00:00
Chris Lattner
ba12a9d1fb
update comments
...
llvm-svn: 37027
2007-05-14 01:54:16 +00:00
Reid Spencer
98ed7db7ab
Make the results for the rotate functions correct when rotateAmt == 0.
...
llvm-svn: 37026
2007-05-14 00:15:28 +00:00
Reid Spencer
4c50b52f63
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.
llvm-svn: 37025
2007-05-13 23:44:59 +00:00
Chris Lattner
79c2c38ed5
add a link
...
llvm-svn: 37024
2007-05-13 23:38:44 +00:00
Chris Lattner
1904e45d0c
Fix PR1413
...
llvm-svn: 37023
2007-05-13 22:19:27 +00:00
Chris Lattner
3b4ae44057
this crashes globalopt
...
llvm-svn: 37021
2007-05-13 21:28:25 +00:00
Chris Lattner
cea37beb52
Fix Transforms/GlobalOpt/2007-05-13-Crash.ll
...
llvm-svn: 37020
2007-05-13 21:28:07 +00:00
Anton Korobeynikov
1ee0c8d563
Emit function debug frames in one atom. This will prevent us from generating incorrect assembler in case of both
...
debug information & exception information presented.
llvm-svn: 37019
2007-05-13 17:30:11 +00:00
Anton Korobeynikov
bbaf55448b
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.
llvm-svn: 37018
2007-05-13 15:42:26 +00:00
Chris Lattner
8176a2f24e
add initial description of llvm top-level stuff.
...
llvm-svn: 37017
2007-05-13 01:39:44 +00:00
Chris Lattner
d72bb414b6
finish the description of the bitstream format.
...
llvm-svn: 37016
2007-05-13 00:59:52 +00:00
Anton Korobeynikov
13da17843c
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.
llvm-svn: 37015
2007-05-12 22:36:25 +00:00
Reid Spencer
81ee020f64
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.
llvm-svn: 37010
2007-05-12 18:01:57 +00:00
Reid Spencer
5d22b630af
Add a test case for shl of APInt integers > 64 bits by 0 shift amount.
...
llvm-svn: 37009
2007-05-12 17:59:55 +00:00
Reid Spencer
bf283708f7
Get the size of auto arrays right, regardless of its changing size.
...
llvm-svn: 37006
2007-05-12 11:07:40 +00:00
Reid Spencer
ece86af259
Fix a grammaro.
...
llvm-svn: 37005
2007-05-12 08:01:52 +00:00
Chris Lattner
c0490b7c20
fix typo
...
llvm-svn: 37004
2007-05-12 07:50:14 +00:00
Chris Lattner
9ae5b57033
continued description
...
llvm-svn: 37003
2007-05-12 07:49:15 +00:00
Chris Lattner
73387daf33
add a bunch of content.
...
llvm-svn: 37002
2007-05-12 05:37:42 +00:00
Chris Lattner
22a641d43a
first step
...
llvm-svn: 37001
2007-05-12 03:23:40 +00:00
Lauro Ramos Venancio
997a010c63
Add a known QEMU problem.
...
llvm-svn: 37000
2007-05-12 02:36:41 +00:00
Chris Lattner
a26153143e
allow partially materialized modules to be written out, which just strips out
...
the functions which haven't been read.
llvm-svn: 36999
2007-05-11 23:51:59 +00:00
Devang Patel
79a71ec3ad
Fix http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049516.html
...
llvm-svn: 36998
2007-05-11 23:14:43 +00:00
Devang Patel
1b9349d190
New test.
...
llvm-svn: 36997
2007-05-11 23:13:19 +00:00
Chris Lattner
1480e16596
significantly improve debug output of lsr
...
llvm-svn: 36996
2007-05-11 22:40:34 +00:00
Dan Gohman
fead7979f7
Update comments to say "vector" instead of "packed".
...
llvm-svn: 36995
2007-05-11 21:43:24 +00:00
Dan Gohman
b5650ebd6a
Fix typos.
...
llvm-svn: 36994
2007-05-11 21:10:54 +00:00
Dan Gohman
daff5ec052
Remove forward-declarations for classes that don't exist.
...
llvm-svn: 36993
2007-05-11 21:05:57 +00:00
Dan Gohman
fbb784e6af
Add explicit keywords to several constructors that now have one argument.
...
llvm-svn: 36992
2007-05-11 21:04:48 +00:00
Dan Gohman
c272746f44
Simplify BranchInst::getSuccessor, avoiding a conditional operator.
...
llvm-svn: 36991
2007-05-11 20:59:29 +00:00
Dan Gohman
2980d9da45
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.
llvm-svn: 36990
2007-05-11 20:53:41 +00:00
Chris Lattner
600db3eb96
fix regressions from my previous checking, including
...
Transforms/InstCombine/2006-12-08-ICmp-Combining.ll
llvm-svn: 36989
2007-05-11 16:58:45 +00:00
Anton Korobeynikov
67286b1266
Perform correct actions numbers/sizes computation
...
llvm-svn: 36988
2007-05-11 08:47:35 +00:00
Anton Korobeynikov
00d02442b0
Fix action No calculation in multiple-invoke-one-LP mode
...
llvm-svn: 36987
2007-05-11 08:23:57 +00:00
Reid Spencer
c014687788
For PR1411:
...
Don't try to use {} bracketing when setting a variable in site.exp
llvm-svn: 36985
2007-05-11 06:47:16 +00:00
Chris Lattner
fe2b44de9f
fix Transforms/InstCombine/2007-05-10-icmp-or.ll
...
llvm-svn: 36984
2007-05-11 05:55:56 +00:00
Chris Lattner
b6d85ad1e1
new testcase that crashes instcombine
...
llvm-svn: 36983
2007-05-11 05:55:38 +00:00
Devang Patel
d385e3970f
Drop ModuleID from comment.
...
llvm-svn: 36982
2007-05-11 00:45:58 +00:00
Chris Lattner
436370bac8
fix a memory leak
...
llvm-svn: 36981
2007-05-11 00:43:26 +00:00
Chris Lattner
fd96905f12
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
llvm-svn: 36980
2007-05-11 00:00:27 +00:00
Dale Johannesen
cc8f571bc8
Do not generate branches to entry block. This fixes several test suite
...
failures on PPC (can happen only when prologue code is null)
llvm-svn: 36979
2007-05-10 23:59:23 +00:00
Anton Korobeynikov
ee02c7d2fb
Ooops. Some debugging stuff :)
...
llvm-svn: 36978
2007-05-10 22:38:46 +00:00
Anton Korobeynikov
96142de3f0
Allow multiple invokes per landing pad. This (probably) fixes PR1410.
...
llvm-svn: 36977
2007-05-10 22:34:59 +00:00
Duncan Sands
b43fe52136
Later computations assume we are aligned at this point.
...
llvm-svn: 36975
2007-05-10 18:40:24 +00:00
Anton Korobeynikov
ed5dad4306
TypeIds are indexed by j, not i
...
llvm-svn: 36974
2007-05-10 15:10:34 +00:00
Anton Korobeynikov
c52614ba88
These attributes are supported!
...
llvm-svn: 36973
2007-05-10 08:26:24 +00:00
Chris Lattner
3d82dcf1c4
gar. GCC 3.4.2 also miscompiles llvm at -O3. :(
...
llvm-svn: 36972
2007-05-10 06:42:21 +00:00
Chris Lattner
455563bb96
another version of gcc that miscompiles llvm.
...
llvm-svn: 36971
2007-05-10 05:37:14 +00:00
Dale Johannesen
b42c11265c
Another test for tail mergeing
...
llvm-svn: 36967
2007-05-10 01:04:28 +00:00
Dale Johannesen
6e16d09252
Make tail merging handle many more cases (all it can, I think).
...
llvm-svn: 36966
2007-05-10 01:01:49 +00:00
Chris Lattner
623c738fe9
add some notes
...
llvm-svn: 36965
2007-05-10 00:08:04 +00:00
Evan Cheng
db214c77b4
Can't fold bit_convert into truncating store.
...
llvm-svn: 36963
2007-05-09 21:54:34 +00:00
Evan Cheng
f325c2a65e
Can't fold the bit_convert is the store is a truncating store.
...
llvm-svn: 36962
2007-05-09 21:49:47 +00:00
Anton Korobeynikov
192d09c2d9
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.
llvm-svn: 36959
2007-05-09 20:07:08 +00:00
Lauro Ramos Venancio
bbe26581d9
Add two ARM known problems.
...
llvm-svn: 36958
2007-05-09 19:31:58 +00:00
Evan Cheng
bf67a327c7
PR1399 test case.
...
llvm-svn: 36957
2007-05-09 19:20:37 +00:00
Duncan Sands
dd75c1a255
Testcase for
...
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049387.html
llvm-svn: 36956
2007-05-09 08:41:26 +00:00
Devang Patel
9557247412
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
llvm-svn: 36955
2007-05-09 08:24:12 +00:00
Devang Patel
00a08d129e
New test.
...
llvm-svn: 36954
2007-05-09 08:19:24 +00:00
Devang Patel
519f2997cc
New test.
...
llvm-svn: 36953
2007-05-09 08:08:46 +00:00
Chris Lattner
c97579318b
arm no longer experimental, c++ eh support is?
...
llvm-svn: 36952
2007-05-09 06:23:58 +00:00
Chris Lattner
2d47f92f07
add a meta-blurb about the 2.0 release
...
llvm-svn: 36951
2007-05-09 05:27:05 +00:00
Chris Lattner
98a334980a
strip the llvm 1.9 info out of the release notes
...
llvm-svn: 36950
2007-05-09 04:58:11 +00:00
Evan Cheng
9c031c0ddf
Switch BCC, MOVCCr, etc. to PredicateOperand.
...
llvm-svn: 36948
2007-05-08 21:08:43 +00:00
Evan Cheng
d194a8603d
PredicateOperand can be used as a normal operand for isel.
...
llvm-svn: 36947
2007-05-08 21:06:08 +00:00
Evan Cheng
5162f584c7
If a PredicateOperand has an empty ExecuteAlways field, treat it as if a normal operand for isel.
...
llvm-svn: 36946
2007-05-08 21:04:07 +00:00
Chris Lattner
75d56499c6
add the & back. I'm not sure why bill removed it.
...
llvm-svn: 36945
2007-05-08 20:08:06 +00:00
Bill Wendling
31fd60ba0c
Change names from RA to something unique to get rid of naming conflicts with
...
certain linkers...
llvm-svn: 36944
2007-05-08 19:02:46 +00:00
Evan Cheng
9e17872c1d
Eliminate MarkVirtRegAliveInBlock recursion.
...
llvm-svn: 36943
2007-05-08 19:00:00 +00:00
Evan Cheng
6c6cea91fc
Add MachineBasicBlock preds / succs reverse iterators.
...
llvm-svn: 36942
2007-05-08 18:55:03 +00:00
Devang Patel
95cd89f25b
New test for PR1400
...
llvm-svn: 36941
2007-05-08 18:08:20 +00:00
Dale Johannesen
882a6019af
testcase for CodeGenPrepare bug fixed yesterday
...
llvm-svn: 36940
2007-05-08 17:44:36 +00:00
Evan Cheng
f50ba31ec6
R0 is a sub-register of X0, etc.
...
llvm-svn: 36939
2007-05-08 17:03:51 +00:00
Dan Gohman
2e1f804764
Fix various whitespace inconsistencies.
...
llvm-svn: 36936
2007-05-08 15:19:19 +00:00
Dan Gohman
49d08a57f5
Correct the comment for ApproximateLoopSize to reflect what it actually does.
...
llvm-svn: 36935
2007-05-08 15:14:19 +00:00
Bill Wendling
0c976b8762
Spare '&' in the RUN line.
...
llvm-svn: 36933
2007-05-08 07:49:07 +00:00
Devang Patel
91041718f7
New test.
...
llvm-svn: 36930
2007-05-08 06:10:12 +00:00
Chris Lattner
aba457b30b
update comments, no functionality change
...
llvm-svn: 36929
2007-05-08 05:38:32 +00:00
Chris Lattner
4c0a6d660e
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.
llvm-svn: 36928
2007-05-08 05:38:01 +00:00
Tanya Lattner
2357362805
Bumping cvs version number
...
llvm-svn: 36922
2007-05-08 04:32:07 +00:00
Tanya Lattner
dbe7487618
Bump version number in cvs
...
llvm-svn: 36920
2007-05-08 04:22:59 +00:00
Chris Lattner
4ef41c1054
move this out of Codegen/Generic, because it requires the ARM backend to be
...
linked into llc
llvm-svn: 36919
2007-05-08 02:19:56 +00:00
Chris Lattner
d1f5ab0da8
move to CodeGen/ARM/2007-05-07-tailmerge-1.ll
...
llvm-svn: 36918
2007-05-08 02:13:52 +00:00
Dale Johannesen
86e1dcf530
Don't generate branch to entry block.
...
llvm-svn: 36917
2007-05-08 01:01:04 +00:00
Lauro Ramos Venancio
744350b131
Fix PR1390 in a better way.
...
llvm-svn: 36916
2007-05-07 23:15:16 +00:00
Evan Cheng
ef409e2780
Fix tests.
...
llvm-svn: 36913
2007-05-07 21:50:07 +00:00
Evan Cheng
2d828d2e3c
Add some tests for (conv (load x)) -> (load (conv*)x) xform.
...
llvm-svn: 36912
2007-05-07 21:49:35 +00:00
Evan Cheng
7cbd722dba
Fix test case.
...
llvm-svn: 36911
2007-05-07 21:38:05 +00:00
Evan Cheng
562e45692e
Forgot a check.
...
llvm-svn: 36910
2007-05-07 21:36:06 +00:00
Evan Cheng
d37c23745f
This is no longer needed after enabling the DAG combiner xform.
...
llvm-svn: 36909
2007-05-07 21:29:41 +00:00
Evan Cheng
a4cf58a103
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
llvm-svn: 36908
2007-05-07 21:27:48 +00:00
Dale Johannesen
9a25b3afcd
Handle some non-exit blocks in tail merging.
...
llvm-svn: 36907
2007-05-07 20:57:21 +00:00
Duncan Sands
671e8c4444
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.
llvm-svn: 36906
2007-05-07 20:49:28 +00:00
Duncan Sands
7208cd6e4e
Testcase for PR1398.
...
llvm-svn: 36905
2007-05-07 20:45:20 +00:00
Reid Spencer
c32d55e17c
Initialize variable to null so it has a value in the off chance that a
...
memory buffer couldn't be allocated.
llvm-svn: 36904
2007-05-07 18:50:07 +00:00
Evan Cheng
100984c727
Update.
...
llvm-svn: 36903
2007-05-07 17:58:13 +00:00
Jeff Cohen
b6e144cffe
Unbreak VC++ build.
...
llvm-svn: 36901
2007-05-07 15:21:46 +00:00
Chris Lattner
9e9a34c6bf
use the new MemoryBuffer interfaces to simplify error reporting in clients.
...
llvm-svn: 36900
2007-05-06 23:45:49 +00:00
Chris Lattner
275757a05e
Enhance MemoryBuffer to return error messages in strings if they occur.
...
llvm-svn: 36899
2007-05-06 23:32:36 +00:00
Chris Lattner
05be1d44da
remove dead option
...
llvm-svn: 36898
2007-05-06 23:24:42 +00:00
Chris Lattner
7feb9c17fa
this is obsolete
...
llvm-svn: 36897
2007-05-06 23:21:05 +00:00
Chris Lattner
8f7f575a08
link to the bitcode doc
...
llvm-svn: 36896
2007-05-06 23:20:06 +00:00
Chris Lattner
8009d4a2f4
bzip2 is gone
...
llvm-svn: 36895
2007-05-06 23:18:44 +00:00
Chris Lattner
3b6f75cb2f
Fix PR1395, by passing the ID correctly
...
llvm-svn: 36894
2007-05-06 23:13:56 +00:00
Anton Korobeynikov
a400e39a16
Update fields
...
llvm-svn: 36893
2007-05-06 20:33:02 +00:00
Chris Lattner
5992f4709c
add this back
...
llvm-svn: 36892
2007-05-06 20:31:17 +00:00
Anton Korobeynikov
a8fd7fdc25
Detabify
...
llvm-svn: 36891
2007-05-06 20:14:21 +00:00
Anton Korobeynikov
c892cf466d
Update MSIL BE. This patch fixes most weird glitches outlined in
...
README.txt. Patch by Roman Samoilov!
llvm-svn: 36890
2007-05-06 20:13:33 +00:00
Chris Lattner
b2e0a70aa2
lib/Bytecode is dead
...
llvm-svn: 36889
2007-05-06 19:51:20 +00:00
Chris Lattner
0848ff0a08
move this to lib/Archive
...
llvm-svn: 36888
2007-05-06 19:50:53 +00:00
Chris Lattner
00246e9af5
build lib/Archive instead of lib/Bytecode
...
llvm-svn: 36887
2007-05-06 19:50:06 +00:00
Chris Lattner
5b18322e83
adjust this to live in lib/Archive
...
llvm-svn: 36886
2007-05-06 19:49:28 +00:00
Chris Lattner
dc5d7ed6a7
remove bytecode headers
...
llvm-svn: 36885
2007-05-06 19:47:36 +00:00
Chris Lattner
7c01ed123b
remove dead header
...
llvm-svn: 36884
2007-05-06 19:46:23 +00:00
Chris Lattner
69a1f813a2
Fix a buggy conversion from bytecode to bitcode
...
llvm-svn: 36883
2007-05-06 19:43:09 +00:00
Chris Lattner
9c868209b7
remove bytecode reader
...
llvm-svn: 36882
2007-05-06 19:42:57 +00:00
Chris Lattner
cbde84070a
remove the old bc writer
...
llvm-svn: 36881
2007-05-06 19:33:40 +00:00
Chris Lattner
53862f7d2b
fix off-by-one that caused the llvm2cpp test to fail
...
llvm-svn: 36880
2007-05-06 19:27:46 +00:00
Chris Lattner
c57f2187b0
remove libbzip2 from this. This should use llvm-config or something.
...
llvm-svn: 36879
2007-05-06 19:21:48 +00:00
Chris Lattner
44f8ad1d40
Flush the file after writing bitcode so that clients who don't close their
...
ofstreams will be ok.
llvm-svn: 36878
2007-05-06 19:19:23 +00:00
Chris Lattner
9b4a428978
make sure the ofstream for opt's output file is destroyed, so that the bits
...
actually land on disk.
llvm-svn: 36877
2007-05-06 19:17:23 +00:00
Chris Lattner
4211c20988
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)
llvm-svn: 36876
2007-05-06 19:10:47 +00:00
Chris Lattner
2fce8c5df8
remove libbzip2, it is dead
...
llvm-svn: 36875
2007-05-06 19:05:34 +00:00
Duncan Sands
6ded956aee
Testcase for yet another global constant Ada f-e bug.
...
llvm-svn: 36874
2007-05-06 16:20:30 +00:00
Nick Lewycky
e7da2d6ac3
Fix typo in comment.
...
llvm-svn: 36873
2007-05-06 13:37:16 +00:00
Chris Lattner
f5599efb00
switch tools to bitcode from bytecode
...
llvm-svn: 36872
2007-05-06 09:32:02 +00:00
Chris Lattner
d2517d6767
don't build bzip2 for now
...
llvm-svn: 36871
2007-05-06 09:31:32 +00:00
Chris Lattner
1761e05c5b
disable this for now
...
llvm-svn: 36870
2007-05-06 09:31:06 +00:00
Chris Lattner
d7a2aee41c
don't build bcreader/bcwriter
...
llvm-svn: 36869
2007-05-06 09:30:31 +00:00
Chris Lattner
6d80e21a1d
switch tools to bitcode instead of bytecode
...
llvm-svn: 36868
2007-05-06 09:29:57 +00:00
Chris Lattner
41528e6e42
switch this to bitcode instead of bytecode
...
llvm-svn: 36867
2007-05-06 09:29:13 +00:00
Chris Lattner
15273e4d91
Switch this over to bitcode instead of bytecode.
...
llvm-svn: 36866
2007-05-06 09:28:33 +00:00
Chris Lattner
c9c5d3eed8
Move this here from Bytecode/Archive.h
...
llvm-svn: 36865
2007-05-06 09:14:53 +00:00
Chris Lattner
76fd90fb61
Fix a nasty problem where we would miss enumeration of some types. This fixes
...
issues with CE_CAST etc.
llvm-svn: 36864
2007-05-06 08:35:19 +00:00
Chris Lattner
4492f73eb4
allow zero-length arrays
...
llvm-svn: 36863
2007-05-06 08:22:10 +00:00
Chris Lattner
3c5616ee12
Allow structs with zero fields.
...
llvm-svn: 36862
2007-05-06 08:21:50 +00:00
Chris Lattner
eb99789fef
we aren't at the end of stream until we've consumed all the bytes AND all
...
the bits in those bytes.
llvm-svn: 36861
2007-05-06 08:12:09 +00:00
Bill Wendling
f985c492e1
3DNowA implies 3DNow. 64-bit implies SSE1, SSE2, and I assume MMX.
...
llvm-svn: 36860
2007-05-06 07:56:19 +00:00
Chris Lattner
a77bb942a2
add a missing check
...
llvm-svn: 36859
2007-05-06 07:33:01 +00:00
Chris Lattner
5db36d3d82
Fix MemoryBuffer::getFile to return null if it has an error opening the
...
file instead of aborting.
llvm-svn: 36858
2007-05-06 07:24:46 +00:00
Chris Lattner
9b35b3e863
Fix a bug in my previous patch
...
llvm-svn: 36857
2007-05-06 07:24:03 +00:00
Chris Lattner
1ca28f8a90
add bitcode support
...
llvm-svn: 36856
2007-05-06 06:18:07 +00:00
Chris Lattner
a0e5f01e23
add bitcode support
...
llvm-svn: 36855
2007-05-06 06:02:13 +00:00
Chris Lattner
8279f7e3c2
this doesn't directly depend on bytecode
...
llvm-svn: 36854
2007-05-06 05:58:00 +00:00
Chris Lattner
e542042f8d
add bitcode support.
...
llvm-svn: 36853
2007-05-06 05:56:58 +00:00
Chris Lattner
b52f3aac73
archive library already depends on bc reader
...
llvm-svn: 36852
2007-05-06 05:53:02 +00:00
Chris Lattner
e74845f075
add bitcode support, optimize reading to not read all function bodies just
...
to get deplibs
llvm-svn: 36851
2007-05-06 05:51:37 +00:00
Chris Lattner
957d090ed1
use an auto_ptr to avoid an explicit delete
...
llvm-svn: 36850
2007-05-06 05:47:36 +00:00
Chris Lattner
f6dd4d7fca
add bitcode support
...
llvm-svn: 36849
2007-05-06 05:47:06 +00:00
Chris Lattner
adc9e30a72
Remove the -emit-bytecode option. Noone in the llvm tree uses it, and this
...
keeps llvm-upgrade a simple "source to source" tool.
llvm-svn: 36848
2007-05-06 05:40:41 +00:00
Chris Lattner
ef8f389e08
add bitcode reading support to llvm-nm
...
llvm-svn: 36847
2007-05-06 05:36:18 +00:00
Chris Lattner
4a4499b69e
pull some win32 code into common code, add bitcode identification support.
...
llvm-svn: 36846
2007-05-06 05:32:21 +00:00
Chris Lattner
963a255853
add support for identifying bitcode files
...
llvm-svn: 36845
2007-05-06 05:30:10 +00:00
Chris Lattner
99016c3f2d
bitcodify, remove eh cruft
...
llvm-svn: 36844
2007-05-06 05:21:42 +00:00
Chris Lattner
b94d80b6fb
teach this to read from bitcode files
...
llvm-svn: 36843
2007-05-06 05:18:53 +00:00
Chris Lattner
cdda3a4ae5
debugger depends on bcreader, not llvm-db
...
llvm-svn: 36842
2007-05-06 05:18:37 +00:00
Chris Lattner
27936994bd
remove EH cruft, add bitcode support
...
llvm-svn: 36841
2007-05-06 05:13:17 +00:00
Chris Lattner
2785bdbefd
add bitcode reading support, remove eh stuff
...
llvm-svn: 36840
2007-05-06 04:58:26 +00:00
Chris Lattner
6dd290ad3d
add bitcode reading support. Remove EH cruft.
...
llvm-svn: 36839
2007-05-06 04:55:19 +00:00
Chris Lattner
6147489a09
bitcodify
...
llvm-svn: 36838
2007-05-06 04:49:55 +00:00
Chris Lattner
f693167d68
simplify code
...
llvm-svn: 36837
2007-05-06 04:43:36 +00:00
Chris Lattner
c424ba7ebd
add support to llvm-prof for reading from a bitcode file
...
llvm-svn: 36836
2007-05-06 04:43:00 +00:00
Chris Lattner
7284541754
Add a helper that either opens a file or stdin.
...
llvm-svn: 36835
2007-05-06 04:41:59 +00:00
Nate Begeman
4060c7ac63
Reference correct header
...
llvm-svn: 36834
2007-05-06 04:00:55 +00:00
Jeff Cohen
53555de8f2
Make code more 64-bit aware.
...
llvm-svn: 36833
2007-05-06 03:24:19 +00:00
Jeff Cohen
fd73e54ef8
Keep header file free of 'possible loss of data' warnings.
...
llvm-svn: 36832
2007-05-06 03:23:14 +00:00
Jeff Cohen
b3f36d48c6
Unbreak VC++.
...
llvm-svn: 36831
2007-05-06 03:12:47 +00:00
Chris Lattner
0f49a6fe89
if -bitcode is specified, read and write a bitcode file instead of a bytecode file.
...
llvm-svn: 36830
2007-05-06 02:42:03 +00:00
Chris Lattner
c67e6d9d16
add abbrevs for binops and casts. This shrinks a testcase from 725132->682500
...
bytes.
llvm-svn: 36829
2007-05-06 02:38:57 +00:00
Chris Lattner
7ef417107b
add a new CreateBitcodeWriterPass method, which creates a bitcode writer as
...
a pass
llvm-svn: 36828
2007-05-06 02:30:12 +00:00
Chris Lattner
af8fffc081
implement reading/writing of inlineasm objects
...
llvm-svn: 36827
2007-05-06 01:58:20 +00:00
Chris Lattner
19f599471c
add inline asm code
...
llvm-svn: 36826
2007-05-06 01:50:11 +00:00
Chris Lattner
251d0a3adb
Fix a subtle bug that prevented round-tripping 470.lbm
...
llvm-svn: 36825
2007-05-06 01:43:38 +00:00
Reid Spencer
cfb3f8b53a
Make my credits refer to my wiki page.
...
llvm-svn: 36824
2007-05-06 01:30:17 +00:00
Chris Lattner
cc6d4c9fc2
add some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388
...
llvm-svn: 36823
2007-05-06 01:28:01 +00:00
Chris Lattner
9ee4836dde
enumerate the operands of a constant before we enumerate the constant itself
...
This avoids fwd references in the reader.
llvm-svn: 36822
2007-05-06 01:00:28 +00:00
Chris Lattner
f25f710c4d
add a denser encoding for null terminated strings, add a 6-bit abbrev as
...
well. This shrinks kc++ from 2724088 to 2717360 bytes.
llvm-svn: 36821
2007-05-06 00:53:07 +00:00
Chris Lattner
4b6ce8fa59
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.
llvm-svn: 36820
2007-05-06 00:42:18 +00:00
Lauro Ramos Venancio
941fd97361
Add myself.
...
llvm-svn: 36819
2007-05-06 00:41:36 +00:00
Chris Lattner
036d1bddf2
implement the 'string constant' optimization. This shrinks kc.bit from
...
2878544 to 2815788
llvm-svn: 36818
2007-05-06 00:35:24 +00:00
Chris Lattner
e9759c29d1
further reduce the redundancy of types in the instruction encoding. This
...
shrinks function bodies in kc++ from 891913B to 884073B
llvm-svn: 36817
2007-05-06 00:21:25 +00:00
Chris Lattner
df1233dfbb
stop encoding type/value pairs when the type is implied by the value.
...
This shrinks the function block of kc++ from 1055K to 906K
llvm-svn: 36816
2007-05-06 00:00:00 +00:00
Chris Lattner
c2d0530030
handle gep aliasee
...
llvm-svn: 36815
2007-05-05 23:49:02 +00:00
Lauro Ramos Venancio
34b2735f20
Fix PR1390.
...
Don't spill extra register to align the stack.
llvm-svn: 36814
2007-05-05 23:44:41 +00:00
Chris Lattner
e7b015b2ed
fix a bug I introduced when I merged some code together
...
llvm-svn: 36813
2007-05-05 23:40:48 +00:00
Chris Lattner
e8f14fb4cd
this test is now in Target/README.txt
...
llvm-svn: 36812
2007-05-05 22:44:27 +00:00
Chris Lattner
9958b82733
add a note
...
llvm-svn: 36811
2007-05-05 22:44:08 +00:00
Chris Lattner
2601579ec9
remove an old xfailed test
...
llvm-svn: 36810
2007-05-05 22:42:02 +00:00
Chris Lattner
5aa73fe34c
Implement Transforms/InstCombine/cast_ptr.ll
...
llvm-svn: 36809
2007-05-05 22:41:33 +00:00
Chris Lattner
3dde023021
un-xfail this.
...
llvm-svn: 36808
2007-05-05 22:41:13 +00:00
Chris Lattner
361e981415
wrap long lines
...
llvm-svn: 36807
2007-05-05 22:32:24 +00:00
Chris Lattner
2cca31f77f
the mason example is implemented. Move some examples out of llvm/test,
...
upgrade the syntax of some other examples.
llvm-svn: 36806
2007-05-05 22:29:06 +00:00
Chris Lattner
df37169381
move these xfailed tests to lib/Target/README.txt
...
llvm-svn: 36805
2007-05-05 22:28:33 +00:00
Chris Lattner
4dc9a76ad8
Move Mem2Reg/DifferingTypes.ll -> ScalarRepl/DifferingTypes.ll. -scalarrepl
...
implements this xform.
llvm-svn: 36804
2007-05-05 22:22:03 +00:00
Chris Lattner
c103b49f52
remvoe two tests that cee has never gotten right
...
llvm-svn: 36803
2007-05-05 22:19:49 +00:00
Chris Lattner
cc43c3fe6b
implement anyextend from i1 -> i64
...
llvm-svn: 36802
2007-05-05 22:17:00 +00:00
Chris Lattner
bd82fb7d2f
the sparc v8 backend handles this correctly
...
llvm-svn: 36801
2007-05-05 22:12:57 +00:00
Chris Lattner
86dfbe0a13
remove this xfail'd test, move it to the X86 readme.
...
llvm-svn: 36800
2007-05-05 22:10:53 +00:00
Chris Lattner
be8f99ecbb
move CodeGen/X86/overlap-add.ll here.
...
llvm-svn: 36799
2007-05-05 22:10:24 +00:00
Chris Lattner
879c39ae48
We need support for tail calls, this is moved to PR1392
...
llvm-svn: 36798
2007-05-05 22:03:12 +00:00
Chris Lattner
1c0af142a9
remove xfailed testcase (attached to pr)
...
llvm-svn: 36797
2007-05-05 21:57:34 +00:00
Chris Lattner
6760b998ba
unxfail this, llc doesn't support this feature yet, so don't run it.
...
llvm-svn: 36796
2007-05-05 21:51:34 +00:00
Chris Lattner
578cc7483e
Remove bogus testcase, PR409 is wontfix
...
llvm-svn: 36795
2007-05-05 21:49:24 +00:00
Chris Lattner
4aa6506791
this tests for a missing feature. Move it to PR1391 instead of being an
...
xfailed testcase
llvm-svn: 36794
2007-05-05 21:47:29 +00:00
Chris Lattner
1f8de097d7
remove this xfailed testcase, move it into a comment in PR279, an enhancement PR.
...
llvm-svn: 36793
2007-05-05 21:38:55 +00:00
Chris Lattner
0e0285995f
llvm-gcc3 is gone
...
llvm-svn: 36792
2007-05-05 21:35:44 +00:00
Chris Lattner
8bd5e1a0b8
fix failure on ahs3's tester
...
llvm-svn: 36791
2007-05-05 20:50:35 +00:00
Chris Lattner
38bc9bfe48
remove bogus xfailed testcase
...
llvm-svn: 36790
2007-05-05 20:49:28 +00:00
Duncan Sands
00282a21a5
Use the personality function that was registered with MMI rather than
...
hardwiring in the C++ one.
llvm-svn: 36789
2007-05-05 20:27:00 +00:00
Duncan Sands
d31dcdacef
Check that the right eh personality function is used.
...
llvm-svn: 36788
2007-05-05 20:22:08 +00:00
Chris Lattner
07e6f3257c
Propagate alignment/volatility in two places.
...
Implement support for expanding a bitcast from an illegal vector type to
a legal one (e.g. 4xi32 -> 4xf32 in SSE1). This fixes PR1371 and
CodeGen/X86/2007-05-05-VecCastExpand.ll
llvm-svn: 36787
2007-05-05 19:39:05 +00:00
Chris Lattner
cc1aa37fbf
new testcase for PR1371
...
llvm-svn: 36786
2007-05-05 19:38:43 +00:00
Chris Lattner
6eeea5dc05
add support for BLOCKINFO records at the module level. This fixes the reader
...
issues reid noticed last night.
llvm-svn: 36785
2007-05-05 18:57:30 +00:00
Chris Lattner
1077d2a30d
Fix Transforms/LoopUnroll/2007-05-05-UnrollMiscomp.ll and PR1385.
...
If we have a LCSSA, only modify the input value if the inval was defined
by an instruction in the loop. If defined by something before the loop,
it is still valid.
llvm-svn: 36784
2007-05-05 18:49:57 +00:00
Chris Lattner
580d824e5d
new testcase for PR1385
...
llvm-svn: 36783
2007-05-05 18:48:52 +00:00
Chris Lattner
57d89a5a89
make a temporary for *SI, no functionality change.
...
llvm-svn: 36782
2007-05-05 18:36:36 +00:00
Duncan Sands
02528f5425
Spelling fix.
...
llvm-svn: 36781
2007-05-05 16:32:57 +00:00
Anton Korobeynikov
4db0090339
Emit sections/directives in the proper order. This fixes PR1376. Also,
...
some small cleanup was made.
llvm-svn: 36780
2007-05-05 09:04:50 +00:00
Chris Lattner
b80751dca2
add an abbrev for loads. This shrinks the function block about 50K, from:
...
Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.8434e+06b/1.10542e+06B/276356W
% of file: 35.6726
Average Size: 3772.78b/471.598B/117.899W
Tot/Avg SubBlocks: 4065/1.73422
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 128487/54.8153
% Abbrev Recs: 0
to:
Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.44518e+06b/1.05565e+06B/263912W
% of file: 34.6203
Average Size: 3602.89b/450.362B/112.59W
Tot/Avg SubBlocks: 4065/1.73422
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 128487/54.8153
% Abbrev Recs: 22.2077
llvm-svn: 36779
2007-05-05 07:44:49 +00:00
Chris Lattner
da5e5d211b
add abbrevs for the constants tables. This shrinks it from 4.49755e6 bits
...
to 3.85972e6 bits in kc++
llvm-svn: 36778
2007-05-05 07:36:14 +00:00
Chris Lattner
b0e7f54875
minor bugfix
...
llvm-svn: 36777
2007-05-05 07:20:34 +00:00
Chris Lattner
ccee706345
Add abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays.
...
This shrinks the type_block of kc++ from 139901 bits to 99389 bits (0.55% to 0.39%
of the file), a 40% reduction.
This shrink the record from:
Block ID #10 (TYPE_BLOCK):
Num Instances: 1
Total Size: 139901b/17487.6B/4371.91W
% of file: 0.549306
Num Abbrevs: 0
Num Records: 3203
% Abbrev Recs: 0
to:
Block ID #10 (TYPE_BLOCK):
Num Instances: 1
Total Size: 99389b/12423.6B/3105.91W
% of file: 0.390862
Num Abbrevs: 4
Num Records: 3203
% Abbrev Recs: 99.6566
With a common histogram of:
Code Histogram:
1613 POINTER
1100 FUNCTION
255 STRUCT
224 ARRAY
5 INTEGER
2 OPAQUE
1 LABEL
1 DOUBLE
1 VOID
1 NUMENTRY
llvm-svn: 36776
2007-05-05 06:30:12 +00:00
Chris Lattner
5c827bda0d
Fix InstCombine/2007-05-04-Crash.ll and PR1384
...
llvm-svn: 36775
2007-05-05 01:59:31 +00:00
Chris Lattner
8b332d32be
new testacse for PR1384
...
llvm-svn: 36774
2007-05-05 01:59:05 +00:00
Chris Lattner
4a7ac9fd70
emit spiffy little histograms of codes, if enabled. Don't print averages if
...
there is only one item.
llvm-svn: 36773
2007-05-05 01:46:49 +00:00
Chris Lattner
9e808cd330
do not charge subblock sizes to the parent block.
...
llvm-svn: 36772
2007-05-05 01:29:31 +00:00
Chris Lattner
e760d6f4c1
add a char6 abbrev for bbnames and value names. This represents each character
...
with 6 bits where possible. This shrinks kc++ from 3324164B to 3183584B. The
old VST was:
Block ID #14 (VALUE_SYMTAB):
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.6484
The new one is:
Block ID #14 (VALUE_SYMTAB):
Total Size: 1.15467e+07b/1.44334e+06B/360834W
Average Size: 4923.96b/615.495B/153.874W
% of file: 45.3368
This is 11% smaller than the VST in the bytecode format.
llvm-svn: 36771
2007-05-05 01:26:50 +00:00
Chris Lattner
7dce4b04ca
add a 6-bit encoding type for strings.
...
llvm-svn: 36770
2007-05-05 01:15:42 +00:00
Chris Lattner
de05f6be35
add an abbreviation for the type symtab, this shrinks the TST from 175197 bits
...
to 103165 bits:
Old:
Block ID #13 (TYPE_SYMTAB):
Num Instances: 1
Total Size: 175197b/21899.6B/5474.91W
Average Size: 175197b/21899.6B/5474.91W
% of file: 0.657023
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 255/255
% Abbrev Recs: 0
New:
Block ID #13 (TYPE_SYMTAB):
Num Instances: 1
Total Size: 103165b/12895.6B/3223.91W
Average Size: 103165b/12895.6B/3223.91W
% of file: 0.387937
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 1/1
Tot/Avg Records: 255/255
% Abbrev Recs: 100
llvm-svn: 36769
2007-05-05 00:47:19 +00:00
Chris Lattner
9181ddf91d
update to new APIs, make output a bit (haha) nicer
...
llvm-svn: 36768
2007-05-05 00:17:42 +00:00
Chris Lattner
982ec1eddc
Implement support for globally associating abbrevs with block IDs, which
...
relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.
The VST went from:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
to:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.5198
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
because we didn't emit the same 3 abbrevs 2345 times :)
llvm-svn: 36767
2007-05-05 00:17:00 +00:00
Lauro Ramos Venancio
8f8199086f
Add a processor.
...
llvm-svn: 36765
2007-05-04 22:16:30 +00:00
Chris Lattner
a09879663d
allow the 8-bit abbrev to be used for either bb or other values
...
llvm-svn: 36761
2007-05-04 21:31:13 +00:00
Chris Lattner
fd1ad10e61
shave another 150K off of kc++, by using a 7-bit encoding for BB names
...
where we can. This shrinks kc++'s down to 3368K, with a VST record of:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
Isn't it nice to be able to optimizer bc size without touching the reader? :)
llvm-svn: 36759
2007-05-04 20:58:35 +00:00
Chris Lattner
4d92598ab0
where possible, encode symtab names with 7 bits per char instead of 8. This
...
shaves 110K off kc++ to 3514K. Before:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.50425e+07b/1.88031e+06B/470077W
Average Size: 6414.69b/801.837B/200.459W
% of file: 51.8057
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 2345/1
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 85.1791
after:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.41229e+07b/1.76536e+06B/441341W
Average Size: 6022.56b/752.82B/188.205W
% of file: 50.2295
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 4690/2
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 85.1791
llvm-svn: 36758
2007-05-04 20:52:02 +00:00
Chris Lattner
0c7704f23c
use a template to eliminate manual code duplication
...
llvm-svn: 36757
2007-05-04 20:40:50 +00:00
Bill Wendling
e6182267d7
Add an "implies" field to features. This indicates that, if the current
...
feature is set, then the features in the implied list should be set also.
The opposite is also enforced: if a feature in the implied list isn't set,
then the feature that owns that implies list shouldn't be set either.
llvm-svn: 36756
2007-05-04 20:38:40 +00:00
Chris Lattner
2eae59f1c1
Encode all value symtab strings as arrays of 8-bit fixed width integers,
...
instead of the default inefficient encoding. This shrinks kc++ from 4134K
to 3629K
llvm-svn: 36755
2007-05-04 20:34:50 +00:00