Commit Graph

5860 Commits

Author SHA1 Message Date
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