- Jul 14, 2009
-
-
Chris Lattner authored
dubious looking things that I need to investigate in more detail. llvm-svn: 75619
-
Chris Lattner authored
indicates whether the label is private or not, instead of taking prefix stuff. One effect of this is that symbols will be generated with *just* the private prefix, instead of both the private prefix *and* the user-label-prefix, but this doesn't matter as long as it is consistent. For example we'll now get "Lfoo" instead of "L_foo". These are just assembler temporary labels anyway, so they never even make it into the .o file. llvm-svn: 75607
-
- Jul 13, 2009
-
-
David Greene authored
Add infrastructure to allow post instruction printing action triggers. We'll eventually use this to print comments in asm files and do other fun things. This adds interfaces to the AsmPrinter and changes TableGen to invoke the postInstructionAction when appropriate. It also add parameters to TargetAsmInfo to control comment layout. llvm-svn: 75490
-
- Jul 11, 2009
-
-
Torok Edwin authored
Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
-
Torok Edwin authored
and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
-
- Jul 01, 2009
-
-
Daniel Dunbar authored
- This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
-
- Jun 25, 2009
-
-
Owen Anderson authored
llvm-svn: 74179
-
Owen Anderson authored
llvm-svn: 74132
-
- Jun 24, 2009
-
-
Chris Lattner authored
llvm-svn: 74101
-
Chris Lattner authored
llvm-svn: 74097
-
Chris Lattner authored
a bunch of code from all the targets, and eliminates nondeterministic ordering of directives being emitted in the output. llvm-svn: 74096
-
- Jun 19, 2009
-
-
Devang Patel authored
llvm-svn: 73784
-
Chris Lattner authored
llvm-svn: 73738
-
- Jun 18, 2009
-
-
Evan Cheng authored
On Darwin, ams printer should output a second label before a jump table so the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body. llvm-svn: 73720
-
- Jun 15, 2009
-
-
Dan Gohman authored
llvm-svn: 73362
-
- May 21, 2009
-
-
Bill Wendling authored
bootstrapping. llvm-svn: 72200
-
Argyrios Kyrtzidis authored
DebugScope refers to a debug region, function or block. llvm-svn: 72191
-
- May 09, 2009
-
-
Duncan Sands authored
will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349
-
- May 07, 2009
-
-
Argyrios Kyrtzidis authored
No functionality change. llvm-svn: 71156
-
- Apr 30, 2009
-
-
Bill Wendling authored
which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
-
- Apr 29, 2009
-
-
Bill Wendling authored
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343
-
- Apr 28, 2009
-
-
Sanjiv Gupta authored
llvm-svn: 70297
-
Bill Wendling authored
llvm-svn: 70275
-
Bill Wendling authored
use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... llvm-svn: 70270
-
- Apr 15, 2009
-
-
Devang Patel authored
Construct and emit DW_TAG_inlined_subroutine DIEs for inlined subroutine scopes (only in FastISel mode). llvm-svn: 69116
-
- Apr 13, 2009
-
-
Chris Lattner authored
to support C99 inline, GNU extern inline, etc. Related bugzilla's include PR3517, PR3100, & PR2933. Nothing uses this yet, but it appears to work. llvm-svn: 68940
-
- Apr 10, 2009
-
-
Bill Wendling authored
llvm-svn: 68747
-
Bill Wendling authored
llvm-svn: 68745
-
Bill Wendling authored
the key. This will cause it to create a new std::string, which isn't wanted. Instead, pass back the "const char*". Modify the EmitString() method to take a "const char*". llvm-svn: 68741
-
- Apr 08, 2009
-
-
Chris Lattner authored
avoiding sign extension for the top octet. For "negative" chars, we'd print stuff like: .asciz "\702... now we print: .asciz "\302... llvm-svn: 68577
-
- Mar 25, 2009
-
-
Evan Cheng authored
llvm-svn: 67668
-
- Mar 24, 2009
-
-
Evan Cheng authored
llvm-svn: 67580
-
- Mar 23, 2009
-
-
Dale Johannesen authored
same as a normal i80 {low64, high16} rather than its own {high64, low16}. A depressing number of places know about this; I think I got them all. Bitcode readers and writers convert back to the old form to avoid breaking compatibility. llvm-svn: 67562
-
- Mar 20, 2009
-
-
Evan Cheng authored
For inline asm output operand that matches an input. Encode the input operand index in the high bits. llvm-svn: 67387
-
- Mar 13, 2009
-
-
Evan Cheng authored
Fix some significant problems with constant pools that resulted in unnecessary paddings between constant pool entries, larger than necessary alignments (e.g. 8 byte alignment for .literal4 sections), and potentially other issues. 1. ConstantPoolSDNode alignment field is log2 value of the alignment requirement. This is not consistent with other SDNode variants. 2. MachineConstantPool alignment field is also a log2 value. 3. However, some places are creating ConstantPoolSDNode with alignment value rather than log2 values. This creates entries with artificially large alignments, e.g. 256 for SSE vector values. 4. Constant pool entry offsets are computed when they are created. However, asm printer group them by sections. That means the offsets are no longer valid. However, asm printer uses them to determine size of padding between entries. 5. Asm printer uses expensive data structure multimap to track constant pool entries by sections. 6. Asm printer iterate over SmallPtrSet when it's emitting constant pool entries. This is non-deterministic. Solutions: 1. ConstantPoolSDNode alignment field is changed to keep non-log2 value. 2. MachineConstantPool alignment field is also changed to keep non-log2 value. 3. Functions that create ConstantPool nodes are passing in non-log2 alignments. 4. MachineConstantPoolEntry no longer keeps an offset field. It's replaced with an alignment field. Offsets are not computed when constant pool entries are created. They are computed on the fly in asm printer and JIT. 5. Asm printer uses cheaper data structure to group constant pool entries. 6. Asm printer compute entry offsets after grouping is done. 7. Change JIT code to compute entry offsets on the fly. llvm-svn: 66875
-
- Mar 10, 2009
-
-
Chris Lattner authored
format strings with the standard ${:foo} syntax. llvm-svn: 66527
-
- Mar 09, 2009
-
-
Chris Lattner authored
existed was for llvm-gcc 3.4 (which used the __main hack) which is really really long dead. llvm-svn: 66417
-
Chris Lattner authored
whether a global is dead or not. This should fix PR3749 - linker adds spurious use to appending globals. I can't reasonably add a testcase for this, because the bc writer/reader strip dead constant users. llvm-svn: 66404
-
- Feb 24, 2009
-
-
Bill Wendling authored
them are generic changes. - Use the "fast" flag that's already being passed into the asm printers instead of shoving it into the DwarfWriter. - Instead of calling "MI->getParent()->getParent()" for every MI, set the machine function when calling "runOnMachineFunction" in the asm printers. llvm-svn: 65379
-
- Feb 21, 2009
-
-
Anton Korobeynikov authored
Now we're using one gross, but quite robust hack :) (previous ones did not work, for example, when ext_weak symbol was used deep inside constant expression in the initializer). The proper fix of this problem will require some quite huge asmprinter changes and that's why was postponed. This fixes PR3629 by the way :) llvm-svn: 65230
-