Vikram S. Adve 
							
						 
					 
					
						
						
							
						
						913bfbc2e4 
					 
					
						
						
							
							Don't print global variable definitions twice!  Sun's pathetic compiler  
						
						... 
						
						
						
						never complained about this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-17 11:50:38 +00:00 
						 
				 
			
				
					
						
							
							
								Vikram S. Adve 
							
						 
					 
					
						
						
							
						
						9d6f13f34b 
					 
					
						
						
							
							No longer need to sign-extend array indices to 64 bits since they  
						
						... 
						
						
						
						are now longs and not unsigned ints.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3731  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-15 21:51:04 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Hildenbrandt 
							
						 
					 
					
						
						
							
						
						67aa2e235d 
					 
					
						
						
							
							Fixed problem with printing struct definitions in the correct order.  
						
						... 
						
						
						
						This allows for the Regression/Transforms/ScalarReplacement/scalarize.c to run correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-14 21:36:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						59afbf3999 
					 
					
						
						
							
							Fix a bug introduced by the Getelementptr change  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-12 20:34:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						106ff4551c 
					 
					
						
						
							
							- Change getelementptr instruction to use long indexes instead of uint  
						
						... 
						
						
						
						indexes for sequential types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3681  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-11 01:21:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0e9f93ea37 
					 
					
						
						
							
							- Fix bug: test/Regression/CBackend/2002-08-20-RecursiveTypes.ll  
						
						... 
						
						
						
						- Converted CWriter to be an LLVM pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-31 00:29:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fabc8803a3 
					 
					
						
						
							
							Fix bug: test/Regression/CBackend/2002-08-26-IndirectCallTest.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3511  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-26 20:50:09 +00:00 
						 
				 
			
				
					
						
							
							
								Vikram S. Adve 
							
						 
					 
					
						
						
							
						
						969c4ad65d 
					 
					
						
						
							
							Fix the way parens are printed around "*ptrName" so that  
						
						... 
						
						
						
						no parens are printed around  *, **, ... alone, except if
it is a pointer type for which no name should be printed,
as in the result of a cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-25 20:00:08 +00:00 
						 
				 
			
				
					
						
							
							
								Vikram S. Adve 
							
						 
					 
					
						
						
							
						
						42eb2bae8e 
					 
					
						
						
							
							Sign-extend array index expressions to work correctly on non-32 bit machines.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3496  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-24 14:44:23 +00:00 
						 
				 
			
				
					
						
							
							
								Anand Shukla 
							
						 
					 
					
						
						
							
						
						ed0f1c5285 
					 
					
						
						
							
							Changed default value of 3rd parameter in function definition  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3492  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-23 10:55:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5dfe767b87 
					 
					
						
						
							
							Load & StoreInst no longer derive from MemAccessInst, so we don't have  
						
						... 
						
						
						
						to handle indexing anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-22 22:48:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4cda83568e 
					 
					
						
						
							
							Fix bug: 2002-08-20-UnnamedArgument.c  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3401  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-20 16:55:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						df35a1cb4b 
					 
					
						
						
							
							Implement ConstantExprs in CWriter  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3394  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-19 23:09:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						83c577566e 
					 
					
						
						
							
							Incorporate calcTypeNameVar into CWriter class, fixing  
						
						... 
						
						
						
						test/Regression/CBackend/2002-08-19-FunctionPointer.c in the process
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3392  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-19 22:17:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4d4a855d8 
					 
					
						
						
							
							Output forward definitions of global vars to handle recursive intializers correctly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3391  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-19 21:48:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6d49292003 
					 
					
						
						
							
							- Change constant printing to be better integrated with the rest of the  
						
						... 
						
						
						
						CWriter class.  Write directly to stream instead of building a big
      string, then writing it out.
    - Implement printing of ConstantPointerRefs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-19 21:32:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						20e8e01c5d 
					 
					
						
						
							
							Remove support for NOT instruction  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3320  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-14 18:00:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4b367217c2 
					 
					
						
						
							
							Avoid warning message  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3085  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-25 16:30:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e7f65d3b71 
					 
					
						
						
							
							Fix anands changes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-06-30 16:07:20 +00:00 
						 
				 
			
				
					
						
							
							
								Anand Shukla 
							
						 
					 
					
						
						
							
						
						e6f74a9ce8 
					 
					
						
						
							
							added include<iostream> for cerr  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2796  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-06-25 21:29:10 +00:00 
						 
				 
			
				
					
						
							
							
								Anand Shukla 
							
						 
					 
					
						
						
							
						
						eea60fc59c 
					 
					
						
						
							
							changes to make it compatible with 64bit gcc  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2790  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-06-25 20:44:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bb03efd7e5 
					 
					
						
						
							
							* Update with MegaPatch  
						
						... 
						
						
						
						* Fix various bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-06-25 15:57:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						594b9fadb8 
					 
					
						
						
							
							* Fix typeo  
						
						... 
						
						
						
						* Provide a #include of <malloc.h> so that the sun C compiler does not
  miscompile malloc function calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-21 21:10:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						963b70bbf8 
					 
					
						
						
							
							Fix bug: test/Regression/CBackend/2002-05-21-MissingReturn.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-21 18:05:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						78771c886a 
					 
					
						
						
							
							Fix bug: test/Regression/CBackend/2002-05-16-NameCollide.ll by tracking  
						
						... 
						
						
						
						which global variables would have name collisions if they were not mangled,
and use this info to mangle them iff they would collide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2639  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-17 04:55:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3af3ba8b38 
					 
					
						
						
							
							Last minor cleanups, this code still does not work for all cases, but it  
						
						... 
						
						
						
						works much better than it used to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2588  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 21:31:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d0c668c380 
					 
					
						
						
							
							Two Cleanups to generated C code:  
						
						... 
						
						
						
						1. Avoid printing *(&globalvariable), instead print globalvariable alone
   as a special case.
2. Inline subexpressions into expressions as much as legal that preserves
   execution characteristics of expressions.  Now we get nice (but
   over-parenthesized, oh well) things like:
     ltmp_428_7 = spec__putc(((unsigned char )((bsBuff) >> 24)), (bsStream));
   instead of five seperate instructions (bsBuff & bsStream are globals).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2587  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 21:18:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4fbf26d2fc 
					 
					
						
						
							
							* Remove CInstPrintVisitor class, incorporating it into the CWriter class  
						
						... 
						
						
						
						* Reorder code in the file to make it more logically laid out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2586  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 20:53:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						497e19aee0 
					 
					
						
						
							
							Remove CLocalVars data structure entirely, instead of building stuff and  
						
						... 
						
						
						
						then printing it out, just print as we go.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2585  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 20:39:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7683a12e20 
					 
					
						
						
							
							Simplify code by removing InstLocalVarsVisitor, replacing it with a simple  
						
						... 
						
						
						
						inst_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2584  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 20:33:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1f02c8910a 
					 
					
						
						
							
							* Clean up how PHI nodes are handled  
						
						... 
						
						
						
						* Correct global variable references
* Fix loads & stores with zero indices
* Do not emit an else part of a branch if there is no code (no phi node
  and a fallthrough branch), makes code more readable to get:
  if (l2_cond240) {
    goto l13_bb10;
  }
with no else{} branch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2583  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 20:14:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8c8a37061a 
					 
					
						
						
							
							Emit:  
						
						... 
						
						
						
						l3_reg109 = l81_this->field0;
Instead of:
  l3_reg109 = l81_this[0u].field0;
where possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2579  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 15:59:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8c3c4bfcfe 
					 
					
						
						
							
							* Print structures types correctly  
						
						... 
						
						
						
						* Clean up generated code to not emit basic block labels and goto
  instructions if they are unneccesary (for example, fall throughs)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2578  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 15:49:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						deed7a5ae3 
					 
					
						
						
							
							* Continue cleanup of type printing code  
						
						... 
						
						
						
						* Print a newline after a malloc instruction
* Convert unprintable characters to x_ instead of _x so that we don't
  generate identifiers that start with underscores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2577  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 15:18:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3ef6dc7bdd 
					 
					
						
						
							
							Gut the type printing code so there is only one copy of it instead of 3  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2576  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 14:40:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2d05a1acb0 
					 
					
						
						
							
							* Remove dead "constant printing" code  
						
						... 
						
						
						
						* Mangle names with only a prefix so that they are easier on the eyes.
* Put spaces around binary operators with low precedence to make them easier to read
* Don't prefix function names with &, although it's correct, it's unnecesary and
  easier to read without it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 05:16:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2a7ab2e46d 
					 
					
						
						
							
							Remove gross "Operand" instance variable  
						
						... 
						
						
						
						Remove lots of unneccesary arguments to methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2574  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 04:39:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f49902374 
					 
					
						
						
							
							Simplify and clean up function calls.  
						
						... 
						
						
						
						Now indirect function calls work, except that function pointer types are not correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 04:21:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f5eb4e9a5 
					 
					
						
						
							
							* Remove dead function  
						
						... 
						
						
						
						* Print C strings correctly
* Expand C escape sequences nicely (ie \n \t, etc get generated instead of hex escapes)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 03:56:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4440826cae 
					 
					
						
						
							
							Make Getelementptr, load & store all work the right way.  
						
						... 
						
						
						
						Handle global variables correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2571  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 03:50:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f5f51a852 
					 
					
						
						
							
							Many random fixes:  
						
						... 
						
						
						
						* Use binary operator logic for shifts instead of cloning code
 * Unary not is '~' not '!'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2570  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 03:28:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f34ee81c5e 
					 
					
						
						
							
							Incorporate and purge function before and after printing them so unnamed values  
						
						... 
						
						
						
						have some hope of working right.
Function calls do not try to emit an lvalue if they return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2569  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 03:12:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b5af06a0ec 
					 
					
						
						
							
							Factor out the code to print a value to ONE place.  
						
						... 
						
						
						
						It turns out that unnamed values DO NOT work at all, that's next on the list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 03:06:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						16c7bb2c8f 
					 
					
						
						
							
							First wave of cleanups, looks like the first of many.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2567  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-09 02:28:59 +00:00 
						 
				 
			
				
					
						
							
							
								Sumant Kowshik 
							
						 
					 
					
						
						
							
						
						9ddc86c6e5 
					 
					
						
						
							
							*** empty log message ***  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2552  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-08 18:09:58 +00:00