Chris Lattner
0badea6a94
New testcase
...
llvm-svn: 6025
2003-05-08 02:39:37 +00:00
Chris Lattner
fce555a981
Don't inline functions that take variable numbers of arguments!
...
llvm-svn: 6024
2003-05-08 02:36:43 +00:00
Chris Lattner
d9bd5a0443
Remove using decl
...
llvm-svn: 6023
2003-05-08 02:34:52 +00:00
Chris Lattner
ab7d1ab806
Remove using declarations
...
llvm-svn: 6022
2003-05-08 02:08:14 +00:00
Misha Brukman
25e907dae4
Added the initial version of the TableGen description for the Sparc backend.
...
llvm-svn: 6021
2003-05-07 21:52:39 +00:00
Misha Brukman
adf5519a1c
Fixed syntax error (in documentation!): missing parenthesis.
...
llvm-svn: 6020
2003-05-07 21:47:39 +00:00
Misha Brukman
b4dd539eb7
Grammar fix: `of course' is separated from the sentences by commas on both
...
sides.
llvm-svn: 6019
2003-05-07 21:47:16 +00:00
Chris Lattner
0f38d5dc4d
Fix bug: Jello/2003-05-07-ArgumentTest.llx
...
Also fixes yacr2/ks benchmarks
llvm-svn: 6017
2003-05-07 20:31:37 +00:00
Chris Lattner
6ae25e5c3e
New testcase for problem that is actually generic to all 32 bit LLI targets
...
llvm-svn: 6016
2003-05-07 20:23:32 +00:00
Chris Lattner
5ab42e5739
Add a vector to keep track of which registers are allocatable. Remove FIXMEs
...
llvm-svn: 6015
2003-05-07 20:08:36 +00:00
Chris Lattner
b0888bfaca
Add comments, add a vector to keep track of which registers are allocatable
...
llvm-svn: 6014
2003-05-07 20:07:58 +00:00
Chris Lattner
d964c3b9fd
IMPLICIT_DEF was not the beautiful elegant solution I thought it was going
...
to be. In fact, it made stuff worse. :(
llvm-svn: 6013
2003-05-07 19:21:28 +00:00
Chris Lattner
9eb2172176
Re-add gross hack, it's still necessary. :(
...
llvm-svn: 6012
2003-05-06 21:44:54 +00:00
Chris Lattner
824698b891
Remove hideously nasty hack
...
llvm-svn: 6011
2003-05-06 21:32:39 +00:00
Chris Lattner
37ffac92d5
Emit pseudo instructions to indicate that some registers are live on entrance
...
and exit of the function. This fixes bug: Jello/2003-05-06-LivenessClobber.llx
and the Fhourstones benchmark
llvm-svn: 6010
2003-05-06 21:32:22 +00:00
Chris Lattner
4b1e02df8f
Don't have a cow with new pseudo instructions
...
llvm-svn: 6009
2003-05-06 21:31:47 +00:00
Chris Lattner
8788d6e122
Add two new pseudo instructions
...
llvm-svn: 6008
2003-05-06 21:31:31 +00:00
Chris Lattner
94809ee8a2
Add a new open project
...
llvm-svn: 6007
2003-05-06 20:47:11 +00:00
Chris Lattner
e7a9eefc21
New testcase distilled from the fhourstones benchmark
...
llvm-svn: 6006
2003-05-06 19:41:25 +00:00
Chris Lattner
7067596d20
Make sure to compiel the LowerSwitch tests
...
llvm-svn: 6005
2003-05-06 19:04:02 +00:00
Chris Lattner
afcc4b9f1c
Fix memory corruption problem
...
llvm-svn: 6003
2003-05-06 18:45:02 +00:00
Misha Brukman
e842da3dcc
Debug output should go to cerr, not cout, because that's where bytecode goes.
...
llvm-svn: 6002
2003-05-04 22:51:30 +00:00
Chris Lattner
e824c98a48
New testcase
...
llvm-svn: 6001
2003-05-03 18:55:29 +00:00
Chris Lattner
5b5c7933ce
Fix bug: UnitTests/2003-05-02-DependantPHI.c
...
Fix testcase MultiSource/Ptrdist-ks
llvm-svn: 6000
2003-05-03 07:11:00 +00:00
Chris Lattner
d14c200425
Fix miscompilation in Fhourstones and bug: LICM/2003-05-02-LoadHoist.ll
...
llvm-svn: 5994
2003-05-03 03:42:08 +00:00
Chris Lattner
93d6016c64
Fix miscompilation found in Fhourstones by bugpoint
...
llvm-svn: 5993
2003-05-03 03:39:35 +00:00
Misha Brukman
f4c7d206a3
It's 'separate'. The 'i.e.' is kinda nit-picking, but think of it this way:
...
'separate' is the one causing you to recompile all your passes anyway.
llvm-svn: 5992
2003-05-03 03:31:06 +00:00
Chris Lattner
823ce22ef2
Make a comment more accurate
...
llvm-svn: 5991
2003-05-03 03:20:36 +00:00
Chris Lattner
7709ec5df5
Add support for debugging miscompilations with the use of the JIT or CBE!
...
llvm-svn: 5990
2003-05-03 03:19:41 +00:00
Chris Lattner
9e97f4acb6
Bugpoint is always verbose, eliminate option
...
llvm-svn: 5989
2003-05-03 03:18:41 +00:00
Chris Lattner
57ebe40f57
* Eliminate using decls
...
* Fix some styleistic things
* Fix bug: CWriter/2002-05-16-NameCollide.ll
llvm-svn: 5988
2003-05-03 03:14:35 +00:00
Chris Lattner
9fd90487de
Fix buggy tests
...
llvm-svn: 5987
2003-05-03 03:08:54 +00:00
Misha Brukman
effa5ba1ac
The Hyphenation-Adding Committee is now in session.
...
llvm-svn: 5986
2003-05-03 02:18:17 +00:00
Misha Brukman
f3d3bcb485
The Grammar Police is out on patrol.
...
llvm-svn: 5985
2003-05-03 02:16:43 +00:00
Chris Lattner
caa1de250b
Attempt to fix sumant's typesafety issue
...
llvm-svn: 5984
2003-05-02 19:32:04 +00:00
Chris Lattner
3666378690
Fix spelling
...
llvm-svn: 5983
2003-05-02 19:26:34 +00:00
Chris Lattner
f22d1f5912
Fix a bug which occurred with empty basic blocks
...
llvm-svn: 5982
2003-05-02 18:44:42 +00:00
Chris Lattner
e22031edfe
Add an instcombine pass before levelraise
...
llvm-svn: 5980
2003-05-02 18:19:05 +00:00
Chris Lattner
df7cc91159
Fix Bug: LowerSwitch/2003-05-01-PHIProblem.ll
...
llvm-svn: 5979
2003-05-01 22:21:21 +00:00
Chris Lattner
d4e24c66df
Reduce testcase a bit
...
llvm-svn: 5978
2003-05-01 21:38:57 +00:00
Chris Lattner
35afed23d5
New testcase for the lowerswitch pass
...
llvm-svn: 5977
2003-05-01 21:27:24 +00:00
Chris Lattner
f641fd08bc
Minor cleanup
...
llvm-svn: 5976
2003-05-01 21:18:47 +00:00
Chris Lattner
802c63d964
Fix bug: LevelRaise/2003-05-01-CallCast.ll
...
llvm-svn: 5975
2003-05-01 21:02:53 +00:00
Chris Lattner
a0cde203ae
New testcase: do not "raise" a call that is not through a function pointer!
...
llvm-svn: 5974
2003-05-01 21:02:35 +00:00
Chris Lattner
3ed86610cd
Eliminate use of NonCopyable so that doxygen documentation doesn't link
...
the Annotation classes with the noncopyable classes for no reason
llvm-svn: 5973
2003-05-01 20:28:45 +00:00
Chris Lattner
dd65d863a9
Fix another case where constexprs could cause a crash
...
llvm-svn: 5972
2003-04-30 22:34:06 +00:00
Chris Lattner
9244df60d3
Fix constant folding of constexprs
...
llvm-svn: 5971
2003-04-30 22:19:10 +00:00
Chris Lattner
5064581ca6
Remove implemented project, add a new one
...
llvm-svn: 5970
2003-04-28 03:42:31 +00:00
Chris Lattner
23f358bb52
Add a new option to disable stripping of bytecode files
...
llvm-svn: 5969
2003-04-28 03:28:56 +00:00
Chris Lattner
fcd1fe4f12
Create constant expression casts instead of constant instructions if possible
...
llvm-svn: 5968
2003-04-28 01:25:38 +00:00
Chris Lattner
9810b94850
Fix several bugs:
...
* Warnings were emitted all of the time and were really annoying
* Functions could not be resolved unless they had external linkage. Linkonce
linkage was not allowed
* ConstantPointerRef's were not handled when linking functions
we now actually handle cast (CPR) to X -> cast (NewCPR) to X
llvm-svn: 5967
2003-04-28 01:23:29 +00:00
Chris Lattner
4a6c3e79b0
Avoid naming things exactly the same
...
llvm-svn: 5966
2003-04-27 22:55:56 +00:00
Chris Lattner
cb2434d38d
New testcase distilled from a problem identified by sumant
...
llvm-svn: 5964
2003-04-26 20:29:09 +00:00
Chris Lattner
4f6cdbdf81
Remove two fields from TargetData which are target specific.
...
llvm-svn: 5963
2003-04-26 20:11:09 +00:00
Chris Lattner
25900cf220
The promotion rules are the same for all targets, they are set by the C standard.
...
llvm-svn: 5962
2003-04-26 19:47:36 +00:00
Chris Lattner
21d4509d76
IntegerRegSize is always 8 for sparc
...
llvm-svn: 5961
2003-04-26 19:44:35 +00:00
Chris Lattner
e8689fd052
Switch insns actually DO work.
...
llvm-svn: 5960
2003-04-26 19:36:06 +00:00
Chris Lattner
d021c2d56b
Fix bug: LoopPreheaders/2003-04-25-AssertFail.ll
...
llvm-svn: 5959
2003-04-26 19:34:18 +00:00
Chris Lattner
4852f3aefd
Add comment to testcase
...
llvm-svn: 5958
2003-04-26 19:33:51 +00:00
Chris Lattner
72eac6ccac
Whoever checked this testcase in apparently never tested it.
...
llvm-svn: 5957
2003-04-26 17:44:17 +00:00
Chris Lattner
91e0564f75
Revert last checkin. Note that PHI nodes can use basic blocks also!
...
llvm-svn: 5956
2003-04-26 17:38:26 +00:00
Chris Lattner
201b4b9c88
Remove long-dead obsolete cruft
...
llvm-svn: 5955
2003-04-25 23:39:08 +00:00
Chris Lattner
35874f1e3c
New testcase that crashes preheaders
...
llvm-svn: 5954
2003-04-25 23:26:52 +00:00
Chris Lattner
ef8c8332b1
Fix a bug that occurred when removing the last predecessor INTO an
...
infinite loop
llvm-svn: 5953
2003-04-25 23:14:19 +00:00
Chris Lattner
b68a34eb3f
Fix bug: ADCE/2003-04-25-PHIPostDominateProblem.ll
...
llvm-svn: 5952
2003-04-25 22:53:27 +00:00
Chris Lattner
b093bf312f
New testcase
...
llvm-svn: 5951
2003-04-25 22:53:12 +00:00
Chris Lattner
8d8de422dd
Add options to disable simplification with passes, in case one of them crashes
...
llvm-svn: 5950
2003-04-25 22:08:12 +00:00
Chris Lattner
2a2338f1ba
Fix bogus assert
...
llvm-svn: 5949
2003-04-25 21:58:54 +00:00
Chris Lattner
1fcfaf5bc0
Fix bug: Assembler/2003-04-25-UnresolvedGlobalReference.ll
...
llvm-svn: 5948
2003-04-25 21:47:33 +00:00
Chris Lattner
d2a969dd98
New testcase
...
llvm-svn: 5947
2003-04-25 20:09:17 +00:00
Chris Lattner
9501cefa9f
Fix bugs in testcase
...
llvm-svn: 5946
2003-04-25 19:49:36 +00:00
Chris Lattner
fde0022b90
Add comment
...
llvm-svn: 5945
2003-04-25 18:44:30 +00:00
Chris Lattner
01971e1267
Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit host
...
llvm-svn: 5942
2003-04-25 18:28:44 +00:00
Chris Lattner
4c5245b144
Add __strdup
...
llvm-svn: 5941
2003-04-25 18:23:38 +00:00
Chris Lattner
be2d24e3b5
Fix BasicAA/2003-04-25-GEPCrash.ll
...
llvm-svn: 5940
2003-04-25 18:03:06 +00:00
Chris Lattner
25047dd9b9
New testcase
...
llvm-svn: 5939
2003-04-25 17:59:02 +00:00
Chris Lattner
6fac66e2cc
MAke sure that LLI properly configures align_of(double)
...
llvm-svn: 5938
2003-04-25 06:15:05 +00:00
Chris Lattner
b05f851d59
Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!
...
llvm-svn: 5937
2003-04-25 06:06:43 +00:00
Chris Lattner
8d6d4257a0
Make sure to copy double alignment as well
...
llvm-svn: 5936
2003-04-25 06:06:13 +00:00
Chris Lattner
afdf01ef62
Fix compatibility bug: X86 aligns doubles to 4 bytes, not 8!
...
llvm-svn: 5935
2003-04-25 06:05:57 +00:00
Chris Lattner
d64b2de3c8
Kill using declarations
...
llvm-svn: 5934
2003-04-25 05:26:11 +00:00
Chris Lattner
d6df41d389
Fix method name type-o
...
llvm-svn: 5933
2003-04-25 05:23:27 +00:00
Chris Lattner
efbae9cff1
Fix obvious type-o
...
llvm-svn: 5932
2003-04-25 05:23:10 +00:00
Chris Lattner
21a7218c5f
Make sure to add a targetdata instance to the passmanager, and make it match the
...
one in use by the TargetMachine
llvm-svn: 5931
2003-04-25 05:22:29 +00:00
Chris Lattner
ba90675054
Fix problem where we would read 64 bits worth of pointer information, even on 32 bit targets!
...
llvm-svn: 5930
2003-04-25 04:21:19 +00:00
Chris Lattner
3c98276168
Fix major problem with PHI node traversal: rechecking PHIs should go into
...
the visit function. The worklist is for when their lattice value changes.
llvm-svn: 5927
2003-04-25 03:35:10 +00:00
Chris Lattner
0347cda8b8
Rename Kept -> Suffix
...
FIX problem where we were incorrectly putting the prefix of the list into the "suffix" list.
llvm-svn: 5926
2003-04-25 03:16:33 +00:00
Chris Lattner
4a1a9d2cdd
Rename Kept -> Suffix
...
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!
llvm-svn: 5925
2003-04-25 03:16:05 +00:00
Chris Lattner
e17c1c5ad8
** CORRECTLY, conservatively handle constant expressions
...
llvm-svn: 5924
2003-04-25 02:52:06 +00:00
Chris Lattner
a2f7d23e9a
*** Huge: Make constantexprs be handled correctly, conservatively
...
llvm-svn: 5923
2003-04-25 02:51:46 +00:00
Chris Lattner
e483398516
Allow for easy detection of when a "default" TargetData is created by the
...
passmanager, which is never the right thing to do.
llvm-svn: 5922
2003-04-25 02:50:45 +00:00
Chris Lattner
06aa504555
Default ctor doesn't provide name
...
llvm-svn: 5921
2003-04-25 02:50:19 +00:00
Chris Lattner
cccc5c76c8
Minor non-functional changes:
...
* Spell propagate right
* Improve performance of phi node handling
* Delete using directive
* Other minor changes
llvm-svn: 5920
2003-04-25 02:50:03 +00:00
Chris Lattner
3a2fe67908
Fix bug: mem2reg/2003-04-24-MultipleIdenticalSuccessors.ll
...
llvm-svn: 5919
2003-04-25 00:54:58 +00:00
Chris Lattner
65e5f653fd
Big programs have tons of global variable initializers, and most passes don't care
...
about them. Try to delete them if it doesn't affect the passes.
llvm-svn: 5918
2003-04-25 00:53:05 +00:00
Chris Lattner
b0143880f4
When cleaning up the final bytecode file, make sure to run DTE as well
...
llvm-svn: 5917
2003-04-25 00:52:30 +00:00
Chris Lattner
0cd5d533d0
New testcase
...
llvm-svn: 5916
2003-04-25 00:46:14 +00:00
Chris Lattner
f32939bbc9
Speed up convergence significantly and also reduce the size of testcases by making large portions of a function's CFG dead at a time.
...
llvm-svn: 5915
2003-04-24 23:51:38 +00:00
Chris Lattner
de39f2bdac
The big fix is this change:
...
- if (I->isExternal() && !Functions.count(I))
+ if (!I->isExternal() && !Functions.count(I))
We were not actually deleting any functions from the module!
llvm-svn: 5914
2003-04-24 22:54:06 +00:00
Chris Lattner
10c0469be1
Remove dead functions
...
llvm-svn: 5913
2003-04-24 22:53:24 +00:00
Chris Lattner
c3380918a5
Make sure that deleted functions have external linkage
...
llvm-svn: 5912
2003-04-24 22:53:01 +00:00
Chris Lattner
1d080f24c5
Use the list reducer to improve convergence speed and to support crashes that
...
only occur when multiple passes interact or when multiple functions exist in a module
llvm-svn: 5911
2003-04-24 22:24:58 +00:00
Chris Lattner
ba159e2824
Adjust to match new ListReducer interface
...
Move function to generic code
llvm-svn: 5910
2003-04-24 22:24:22 +00:00
Chris Lattner
69f8e6f7aa
Allow reducer interfaces to mutate the lists passed in
...
llvm-svn: 5909
2003-04-24 22:23:56 +00:00
Chris Lattner
39388ca08e
Move function from Miscompilation.cpp
...
llvm-svn: 5908
2003-04-24 22:23:34 +00:00
Chris Lattner
9f5a197eb6
Move the ListReducer Class into it's own header file instead of living in Miscompilation.cpp
...
llvm-svn: 5907
2003-04-24 20:16:29 +00:00
Chris Lattner
60430423c9
Fix a nasty bug where the ConstantMerge pass was invalidating the TargetData pass
...
even though it was immutable. Immutable passes should never end up in CurrentAnalyses!
llvm-svn: 5906
2003-04-24 20:07:38 +00:00
Chris Lattner
b052843bd2
Allow bugpoint to try new an different methods for pruning down lists
...
llvm-svn: 5905
2003-04-24 19:32:42 +00:00
Chris Lattner
d571e2aa91
Make sure to create a target data that matches the Module's target properties.
...
llvm-svn: 5904
2003-04-24 19:13:02 +00:00
Chris Lattner
42516baf76
add a new targetdata ctor to create a target data appropriate to the module
...
llvm-svn: 5903
2003-04-24 19:09:05 +00:00
Chris Lattner
02378422a4
Add new targetdata ctor to create a targetdata appropriate to the module
...
llvm-svn: 5902
2003-04-24 19:08:45 +00:00
Chris Lattner
4ca84cbbde
Remove support for "targetdata pass ctors"
...
llvm-svn: 5901
2003-04-24 18:41:30 +00:00
Chris Lattner
aa038c856a
Remove support for "target data" pass ctors
...
llvm-svn: 5900
2003-04-24 18:36:41 +00:00
Chris Lattner
13cafd041a
Trivial cleanup
...
llvm-svn: 5899
2003-04-24 18:35:51 +00:00
Chris Lattner
0e48f8cb51
LevelRaise now gets target data from passmanager
...
llvm-svn: 5898
2003-04-24 18:26:03 +00:00
Chris Lattner
6e646f1377
LevelRaise now gets TD from passmanager
...
llvm-svn: 5897
2003-04-24 18:25:42 +00:00
Chris Lattner
c1f9206c8c
Make the levelraise pass be well behaved w.r.t the TargetData that the current
...
PassMAnager provides.
llvm-svn: 5896
2003-04-24 18:25:27 +00:00
Chris Lattner
364437e6a3
Fix iterator invalidation problem
...
llvm-svn: 5895
2003-04-24 17:52:20 +00:00
Chris Lattner
b57ed83e28
Make sure that the cloned module retains the type symbol table entries!
...
llvm-svn: 5894
2003-04-24 17:15:33 +00:00
Chris Lattner
16a413103c
Implement support for bugpoint to identify which FUNCTION an optimization
...
is miscompiling.
llvm-svn: 5893
2003-04-24 17:02:17 +00:00
Chris Lattner
0aebf8f80a
Make sure to preserve endiannes and pointer size when cloning modules!
...
llvm-svn: 5892
2003-04-24 15:54:40 +00:00
Chris Lattner
1b35bee37c
Print where reference output goes
...
llvm-svn: 5891
2003-04-23 20:41:18 +00:00
Chris Lattner
b348952d63
Fix bug where pointers were assumed to always be 64 bits in size!
...
llvm-svn: 5890
2003-04-23 20:41:01 +00:00
Chris Lattner
03507809a0
The new CFrontend generates LOTs of basic blocks that just fall through and do
...
other funky stuff. Clean it up early.
llvm-svn: 5889
2003-04-23 20:40:42 +00:00
Chris Lattner
68efaa7ad9
Allow specifying an input file for the program being executed
...
llvm-svn: 5888
2003-04-23 20:31:37 +00:00
Chris Lattner
487bb80496
Add memcpy
...
llvm-svn: 5887
2003-04-23 20:23:16 +00:00
Chris Lattner
ed27f84ed9
Fix a problem with setcc instructions and pointers
...
llvm-svn: 5886
2003-04-23 19:55:35 +00:00
Chris Lattner
93f4ff73a6
Implement a bunch of new external functions
...
llvm-svn: 5885
2003-04-23 19:55:24 +00:00
Chris Lattner
7881fc8704
Implement &|^ on bool values
...
llvm-svn: 5884
2003-04-23 19:21:00 +00:00
Chris Lattner
26a4a1f5ca
Add support for _IO_getc function used on linux
...
llvm-svn: 5883
2003-04-23 19:20:50 +00:00
Chris Lattner
5bc7eb5fd8
Fix problem where labels were being incorrectly elided, and fix problem
...
where PHI copies where not emitted for the default label of switch insts
llvm-svn: 5882
2003-04-23 19:15:13 +00:00
Chris Lattner
5cc1270689
Fix the super obnoxious "cast to pointer from integer of different size" warnings
...
llvm-svn: 5881
2003-04-23 19:09:22 +00:00
Chris Lattner
9de0d14dec
* Implement access to external variables in LLI
...
* Implement GetElementPtr constant expressions when initializing global variables
llvm-svn: 5880
2003-04-23 19:01:49 +00:00
Chris Lattner
21a8e8a2c9
Fix Bug: Linker/2003-04-23-LinkOnceLost.ll
...
llvm-svn: 5879
2003-04-23 18:38:39 +00:00
Chris Lattner
00a2d7e769
New testcase
...
llvm-svn: 5878
2003-04-23 18:38:24 +00:00
Chris Lattner
6db556a06d
Tweak testcases to use linkonce as appropriate
...
llvm-svn: 5877
2003-04-23 18:38:13 +00:00
Chris Lattner
ec6f16eae6
Fix iterator invalidation problem with cast instructions
...
llvm-svn: 5876
2003-04-23 17:57:48 +00:00
Chris Lattner
2670371c9a
Implement the constantexpr CAST instruction correctly
...
llvm-svn: 5875
2003-04-23 17:22:12 +00:00
Chris Lattner
7d4c04c99a
We now need to link libscalar to get the switch lowering pass
...
llvm-svn: 5874
2003-04-23 16:43:02 +00:00
Chris Lattner
e695da3f54
Remove unnecessary &*
...
llvm-svn: 5873
2003-04-23 16:38:00 +00:00
Chris Lattner
889f620841
Remove unnecesary &*'s
...
llvm-svn: 5872
2003-04-23 16:37:45 +00:00
Chris Lattner
6ee2cf5d89
Remove unneccesary &*
...
llvm-svn: 5871
2003-04-23 16:36:11 +00:00
Chris Lattner
1d724408d0
Kill unneccesary &*
...
llvm-svn: 5870
2003-04-23 16:35:30 +00:00
Chris Lattner
9a01f15e24
Remove documented problem that is now fixed
...
llvm-svn: 5869
2003-04-23 16:26:15 +00:00
Chris Lattner
5033c4c286
Properly convert some &'s to &'s
...
llvm-svn: 5868
2003-04-23 16:25:38 +00:00
Chris Lattner
524608ab79
Add support for the Switch instruction by running the lowerSwitch pass first
...
llvm-svn: 5867
2003-04-23 16:24:55 +00:00
Chris Lattner
1dd9185996
Add stub to create lowerSwitches pass
...
llvm-svn: 5866
2003-04-23 16:24:19 +00:00
Chris Lattner
1b094a0f2e
New pass to lower switch instructions to branch instructions
...
llvm-svn: 5865
2003-04-23 16:23:59 +00:00
Chris Lattner
1f45f4e4d8
Minor cleanups
...
llvm-svn: 5863
2003-04-23 16:18:14 +00:00
Chris Lattner
ecb0bac0ec
Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
...
llvm-svn: 5862
2003-04-23 16:17:53 +00:00
Chris Lattner
215b00589f
Allow dyn_cast to operate on things that aren't OBVIOUSLY a pointer type.
...
These things can be converted to a pointer, like ilist_iterators
llvm-svn: 5861
2003-04-23 16:17:28 +00:00
Misha Brukman
1d6f220a87
Fixed 'prevalent'.
...
llvm-svn: 5860
2003-04-23 02:59:05 +00:00
Misha Brukman
3b78995848
Just some code beautification changes I had sitting around in my tree.
...
llvm-svn: 5859
2003-04-22 23:00:08 +00:00
Chris Lattner
4183b34d39
Fix bug: BasicAA/2003-04-22-GEPProblem.ll
...
llvm-svn: 5858
2003-04-22 22:00:27 +00:00
Chris Lattner
79dfcac6d1
New testcase
...
llvm-svn: 5857
2003-04-22 22:00:15 +00:00
Chris Lattner
aee56b8d34
Kill using declarations
...
Kill code for invalid operations on pointers
llvm-svn: 5856
2003-04-22 21:22:33 +00:00
Chris Lattner
bbd1157f71
Implement cast to bool
...
llvm-svn: 5855
2003-04-22 21:15:56 +00:00
Chris Lattner
fa5fc55f83
Get rid of extraneous arguments to implementation functions
...
llvm-svn: 5852
2003-04-22 20:37:39 +00:00
Chris Lattner
d215af03a3
Add support to LLI for switch instruction
...
llvm-svn: 5851
2003-04-22 20:34:47 +00:00
Chris Lattner
62fa743e75
Use a union to cast int to fp
...
llvm-svn: 5849
2003-04-22 20:20:28 +00:00
Misha Brukman
dd4745241f
It's "necessary"...
...
llvm-svn: 5848
2003-04-22 20:20:11 +00:00
Chris Lattner
f86060f45a
Add support for the switch instruction to the CWriter
...
llvm-svn: 5847
2003-04-22 20:19:52 +00:00
Chris Lattner
3c5c9e176b
Update to add new keywords
...
llvm-svn: 5846
2003-04-22 19:31:55 +00:00
Chris Lattner
c6ce4dafbe
Add warning when linking modules with disagreeing target properties
...
llvm-svn: 5845
2003-04-22 19:13:20 +00:00
Chris Lattner
c840aa64e2
Emit information about target
...
llvm-svn: 5844
2003-04-22 19:07:19 +00:00
Chris Lattner
2012613040
Allow information about the target to be specified in the .ll file
...
llvm-svn: 5843
2003-04-22 19:07:06 +00:00
Chris Lattner
f234e9975a
Add testcase for target information
...
llvm-svn: 5842
2003-04-22 19:06:48 +00:00
Chris Lattner
8b6d5c58ae
ADd newline to end of file
...
llvm-svn: 5841
2003-04-22 18:43:23 +00:00
Chris Lattner
89da8a3b31
Namespacify
...
llvm-svn: 5840
2003-04-22 18:42:41 +00:00
Chris Lattner
35834a503b
Add support for reading and writing pointersize/endianness to and from bytecode
...
llvm-svn: 5839
2003-04-22 18:15:10 +00:00
Chris Lattner
cebde8d74c
Build the appropriate target machine for the input pointer size and endianness
...
llvm-svn: 5838
2003-04-22 18:10:32 +00:00
Chris Lattner
085ca7d3ed
Add information about the module source
...
llvm-svn: 5837
2003-04-22 18:03:13 +00:00
Chris Lattner
b672b5607f
Preserve module source information in the ModuleID
...
llvm-svn: 5836
2003-04-22 18:02:52 +00:00
Chris Lattner
d36ad926f2
Preserve the new moduleID field
...
llvm-svn: 5835
2003-04-22 18:02:26 +00:00
Chris Lattner
c3f6e00011
Add support for tracking whether a module is 64/32 bit and big/little endian
...
Also add a moduleID field which can be used for diagnostics
llvm-svn: 5834
2003-04-22 18:02:04 +00:00
Misha Brukman
e569e992d8
It's "necessary" to spell "necessarily" correctly.
...
llvm-svn: 5833
2003-04-22 17:54:23 +00:00
Chris Lattner
9a3ccdbdfb
Make stderr, stdout, stdin work with LLI
...
llvm-svn: 5832
2003-04-21 22:44:36 +00:00
Chris Lattner
f11d8a35ab
Fix wierd idiom
...
llvm-svn: 5831
2003-04-21 22:43:32 +00:00
Chris Lattner
1610666ea5
fprintf CAN take exactly 2 args
...
llvm-svn: 5830
2003-04-21 22:43:20 +00:00
Chris Lattner
5b348718df
Add support for a simple constantexpr: cast of one ptr type to another
...
llvm-svn: 5829
2003-04-21 21:33:44 +00:00
Chris Lattner
4522f446c1
Fix bug: 2003-01-30-LinkerRename.ll
...
llvm-svn: 5828
2003-04-21 21:15:04 +00:00
Chris Lattner
4adb8536d9
Fix linking a function with qualifiers to a external function declaration:
...
Fixed bug: Linker/2003-04-21-Linkage.ll
llvm-svn: 5827
2003-04-21 21:07:05 +00:00
Chris Lattner
17ae147af0
New testcase
...
llvm-svn: 5826
2003-04-21 21:06:25 +00:00
Chris Lattner
da3bc21076
Add support for allowing the user to extend the GCCLD searchpath
...
llvm-svn: 5825
2003-04-21 19:53:24 +00:00
Chris Lattner
46371cc500
Fix bug where use still existed in dead code
...
llvm-svn: 5824
2003-04-21 19:15:26 +00:00
Chris Lattner
4b462c0f99
Eliminate useless duplicate libraries
...
llvm-svn: 5823
2003-04-19 23:07:33 +00:00
Chris Lattner
1d49617c4f
Add first support for linking in .a files correctly and minimally, like a real linker does
...
llvm-svn: 5822
2003-04-19 22:44:38 +00:00
Chris Lattner
56b9eb9cc1
Add prototype to read .a files
...
llvm-svn: 5821
2003-04-19 21:45:52 +00:00
Chris Lattner
bc35e27dfd
Initial support for reading standard .a files
...
llvm-svn: 5820
2003-04-19 21:45:34 +00:00
Chris Lattner
561e0005c5
Add support for reading unaligned bytecode buffers
...
llvm-svn: 5819
2003-04-19 21:45:17 +00:00
Chris Lattner
534952b0d5
Remove arbitrary limitation
...
llvm-svn: 5818
2003-04-19 00:50:37 +00:00
Chris Lattner
b96c24fc2e
Update testcases to match what is currently output by the CFE
...
llvm-svn: 5817
2003-04-19 00:17:11 +00:00
Chris Lattner
defe5c72e8
Implement: FunctionResolve/2003-04-18-ForwardDeclGlobal.ll
...
llvm-svn: 5816
2003-04-19 00:15:27 +00:00
Chris Lattner
68b523a7f1
Add testcase for constantexpr gep
...
llvm-svn: 5815
2003-04-19 00:15:00 +00:00
Chris Lattner
a4b2f1fb6f
Test case for forward declared global array with no size
...
llvm-svn: 5814
2003-04-18 23:46:44 +00:00
Chris Lattner
602d209078
Add crufty compatibility stuff for ld
...
llvm-svn: 5813
2003-04-18 23:38:22 +00:00
Chris Lattner
82f626e951
Eliminate some compatibility stuff no longer needed :P
...
llvm-svn: 5812
2003-04-18 23:38:09 +00:00
Chris Lattner
2b3a5dbacb
Use anonymous namespace instead of "static"
...
Kill using decl
llvm-svn: 5811
2003-04-18 23:01:25 +00:00
Chris Lattner
5f5d985583
Fix bug: Mem2reg/2003-04-18-DeadBlockProblem.ll
...
llvm-svn: 5810
2003-04-18 19:25:22 +00:00
Chris Lattner
71156c10b8
New testcase
...
llvm-svn: 5809
2003-04-18 19:22:39 +00:00