#
755aceb5 |
| 05-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change.
llvm-svn: 110396
|
#
a57b97e7 |
| 21-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Fix batch of converting RegisterPass<> to INTIALIZE_PASS().
llvm-svn: 109045
|
#
1e936277 |
| 16-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Revert r108369, sorting llvm.dbg.declare information by source position, since it doesn't work for front-ends which don't emit column information (which includes llvm-gcc in its present configuration
Revert r108369, sorting llvm.dbg.declare information by source position, since it doesn't work for front-ends which don't emit column information (which includes llvm-gcc in its present configuration), and doesn't work for clang for K&R style variables where the variables are declared in a different order from the parameter list.
Instead, make a separate pass through the instructions to collect the llvm.dbg.declare instructions in order. This ensures that the debug information for variables is emitted in this order.
llvm-svn: 108538
show more ...
|
#
f10cd5c6 |
| 14-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Make the order in which variables are described in debug information independent of the order that isel happens to visit the dbg_declare intrinsics. This fixes a bug in which the formal arguments wer
Make the order in which variables are described in debug information independent of the order that isel happens to visit the dbg_declare intrinsics. This fixes a bug in which the formal arguments were being printed in reverse order, now that fast isel is going bottom up.
llvm-svn: 108369
show more ...
|
Revision tags: llvmorg-2.7.0 |
|
#
929f3c09 |
| 16-Apr-2010 |
Bill Wendling <isanbard@gmail.com> |
The JIT calls TidyLandingPads to tidy up the landing pads. However, because the JIT doesn't use the MC back-end asm printer to emit labels that it uses, the section for the MCSymbol is never set. And
The JIT calls TidyLandingPads to tidy up the landing pads. However, because the JIT doesn't use the MC back-end asm printer to emit labels that it uses, the section for the MCSymbol is never set. And thus the MCSymbol for the EH label isn't marked as "defined". Because of that, TidyLandingPads removes the needed landing pads from the JIT output. This breaks EH for every JIT program.
This is a work-around for this limitation. We pass in the label locations map. If the label has a non-zero value, then it was "emitted" by the JIT and TidyLandingPads shouldn't remove that label.
A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely upon the section being set to determine if it's defined or not.
llvm-svn: 101453
show more ...
|
#
b36d07cb |
| 15-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
prune includes
llvm-svn: 101385
|
#
bcaf681c |
| 15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add const qualifiers to CodeGen's use of LLVM IR constructs.
llvm-svn: 101334
|
#
f2267483 |
| 06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Give MachineModuleInfo an actual Module*.
llvm-svn: 100508
|
#
b1c4f62c |
| 22-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Fix PR6673: updating the callback should not clear the map.
llvm-svn: 99227
|
#
db035a0a |
| 16-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Fix the third (and last known) case of code update problems due to LLVM IR changes with addr label weirdness. In the testcase, we generate references to the two bb's when codegen'ing the first func
Fix the third (and last known) case of code update problems due to LLVM IR changes with addr label weirdness. In the testcase, we generate references to the two bb's when codegen'ing the first function:
_test1: ## @test1 leaq Ltmp0(%rip), %rax .. leaq Ltmp1(%rip), %rax
Then continue to codegen the second function where the blocks get merged. We're now smart enough to emit both labels, producing this code:
_test_fun: ## @test_fun ## BB#0: ## %entry Ltmp1: ## Block address taken Ltmp0: ## BB#1: ## %ret movl $-1, %eax ret
Rejoice.
llvm-svn: 98595
show more ...
|
#
561334a8 |
| 15-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Implement support for the case when a reference to a addr-of-bb label is generated, but then the block is deleted. Since the value is undefined, we just emit the label right after the entry label
Implement support for the case when a reference to a addr-of-bb label is generated, but then the block is deleted. Since the value is undefined, we just emit the label right after the entry label of the function. It might matter that the label is in the same section as the function was afterall.
llvm-svn: 98579
show more ...
|
#
347a0eb8 |
| 15-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Fix the case when a reference to an address taken BB is emitted in one function, then the BB is RAUW'd before the definition is emitted. There are still two cases not being handled, but this should
Fix the case when a reference to an address taken BB is emitted in one function, then the BB is RAUW'd before the definition is emitted. There are still two cases not being handled, but this should improve us back to the situation before I touched anything.
llvm-svn: 98566
show more ...
|
#
9efbbcbe |
| 14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
fix AsmPrinter::GetBlockAddressSymbol to always return a unique label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608
llvm-svn:
fix AsmPrinter::GetBlockAddressSymbol to always return a unique label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608
llvm-svn: 98495
show more ...
|
#
6e52e9db |
| 14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
get MMI out of the label uniquing business, just go to MCContext to get unique assembler temporary labels.
llvm-svn: 98489
|
#
ee2fbbc9 |
| 14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
change the LabelSDNode to be EHLabelSDNode and make it hold an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels
change the LabelSDNode to be EHLabelSDNode and make it hold an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4".
llvm-svn: 98463
show more ...
|
#
07293da9 |
| 14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate InvalidateLabel and LabelIDList from MMI and replace them with a counter.
llvm-svn: 98462
|
#
34adc8d2 |
| 14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
change EH related stuff (other than EH_LABEL) to use MCSymbol instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress.
Unfortunately, this pointed o
change EH related stuff (other than EH_LABEL) to use MCSymbol instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress.
Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :(
One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert.
llvm-svn: 98459
show more ...
|
#
e468f88b |
| 13-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
rearrange MCContext ownership. Before LLVMTargetMachine created it and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols
rearrange MCContext ownership. Before LLVMTargetMachine created it and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters.
llvm-svn: 98450
show more ...
|
#
c3b70f63 |
| 09-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
strength reduce MMI::MappedLabel to MMI::isLabelDeleted, and add a FIXME about how we are eventually going to zap this lookup table once mc world domination is complete.
llvm-svn: 98031
|
#
182c53ee |
| 06-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix an uninitialized value. Radar 7609421.
llvm-svn: 95488
|
#
54c05308 |
| 28-Jan-2010 |
Jim Grosbach <grosbach@apple.com> |
Update of 94055 to track the IR level call site information via an intrinsic. This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correc
Update of 94055 to track the IR level call site information via an intrinsic. This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations.
llvm-svn: 94726
show more ...
|
#
143f7eb4 |
| 21-Jan-2010 |
Jim Grosbach <grosbach@apple.com> |
back this out for now. Growing Function is not good.
llvm-svn: 94097
|
#
e029a6a5 |
| 21-Jan-2010 |
Jim Grosbach <grosbach@apple.com> |
Make sure that landing pad entries in the EH call site table are in the proper order for SjLj style exception handling.
llvm-svn: 94055
|
#
21c2e100 |
| 24-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Remove DebugLabelFolder pass. It is not used by dwarf writer anymore.
llvm-svn: 89790
|
#
2904aa9f |
| 12-Nov-2009 |
Devang Patel <dpatel@apple.com> |
"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.
llvm-svn: 8
"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.
llvm-svn: 87014
show more ...
|