#
b7050233 |
| 26-Oct-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Teach MachineBasicBlock::print() to annotate instructions and blocks with SlotIndexes when available.
llvm-svn: 117392
|
#
a94cc6df |
| 20-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Make CodeGen TBAA-aware.
llvm-svn: 116890
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3 |
|
#
b5f49209 |
| 21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
force clients of MachineFunction::getMachineMemOperand to provide a MachinePointerInfo, propagating the type out a level of API. Remove the old MachineFunction::getMachineMemOperand impl.
llvm-svn:
force clients of MachineFunction::getMachineMemOperand to provide a MachinePointerInfo, propagating the type out a level of API. Remove the old MachineFunction::getMachineMemOperand impl.
llvm-svn: 114393
show more ...
|
#
00ca0b8e |
| 21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
start pushing MachinePointerInfo out through the MachineMemOperand interface to the MachineFunction construction methods.
llvm-svn: 114390
|
Revision tags: llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
0ff1ef65 |
| 27-Jul-2010 |
Bill Wendling <isanbard@gmail.com> |
It's better to have the arrays, which would trigger the creation of stack protectors, to be near the stack protectors on the stack. Accomplish this by tagging the stack object with a predicate that i
It's better to have the arrays, which would trigger the creation of stack protectors, to be near the stack protectors on the stack. Accomplish this by tagging the stack object with a predicate that indicates that it would trigger this. In the prolog-epilog inserter, assign these objects to the stack after the stack protector but before the other objects.
llvm-svn: 109481
show more ...
|
#
ba4b1909 |
| 23-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
Remove too-strict assertion. We may want the vreg copy of the physical register to be of a different register class. For example, in Thumb1 if the live-in is a high register, we want the vreg to be a
Remove too-strict assertion. We may want the vreg copy of the physical register to be of a different register class. For example, in Thumb1 if the live-in is a high register, we want the vreg to be a low register. rdar://8224931
llvm-svn: 109291
show more ...
|
#
76920144 |
| 07-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Fix debugging strings.
llvm-svn: 107795
|
#
f3aeb2c2 |
| 04-Jul-2010 |
Evan Cheng <evan.cheng@apple.com> |
Infer alignments of fixed frame objects when they are constructed. This ensures remat'ed loads from fixed slots have the right alignments.
llvm-svn: 107591
|
#
0664a67f |
| 03-Jul-2010 |
Evan Cheng <evan.cheng@apple.com> |
Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.
llvm-svn: 107550
|
#
36321717 |
| 29-Jun-2010 |
Bill Wendling <isanbard@gmail.com> |
Revert r107205 and r107207.
llvm-svn: 107215
|
#
1767723d |
| 29-Jun-2010 |
Bill Wendling <isanbard@gmail.com> |
Introducing the "linker_weak" linkage type. This will be used for Objective-C metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "o
Introducing the "linker_weak" linkage type. This will be used for Objective-C metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:
.globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1
This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition".
llvm-svn: 107205
show more ...
|
#
1b79babd |
| 24-May-2010 |
Evan Cheng <evan.cheng@apple.com> |
Avoid adding duplicate function live-in's.
llvm-svn: 104560
|
Revision tags: llvmorg-2.7.0 |
|
#
913c9987 |
| 15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add more const qualifiers for LLVM IR pointers in CodeGen.
llvm-svn: 101342
|
#
bcaf681c |
| 15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add const qualifiers to CodeGen's use of LLVM IR constructs.
llvm-svn: 101334
|
#
9f53dcd7 |
| 05-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
enhance MachineFunction to have a MMI pointer.
llvm-svn: 100414
|
#
9b063df4 |
| 02-Apr-2010 |
David Greene <greened@obbligato.org> |
Ok, third time's the charm. No changes from last time except the CMake source addition. Apparently the buildbots were wrong about failures.
---
Add some switches helpful for debugging:
-print-be
Ok, third time's the charm. No changes from last time except the CMake source addition. Apparently the buildbots were wrong about failures.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100249
show more ...
|
#
915c5f98 |
| 02-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Switch the code generator (except the JIT) onto the new DebugLoc representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen.
This remove the old DebugLoc
Switch the code generator (except the JIT) onto the new DebugLoc representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen.
This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next.
I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC.
llvm-svn: 100209
show more ...
|
#
389525bd |
| 02-Apr-2010 |
Evan Cheng <evan.cheng@apple.com> |
Revert 100204. It broke a bunch of tests and apparently changed what passes are run during codegen.
llvm-svn: 100207
|
#
8f32cb9f |
| 02-Apr-2010 |
David Greene <greened@obbligato.org> |
Let's try this again. Re-apply 100143 including an apparent missing <string> include. For some reason the buildbot choked on this while my builds did not. It's probably due to a difference in syst
Let's try this again. Re-apply 100143 including an apparent missing <string> include. For some reason the buildbot choked on this while my builds did not. It's probably due to a difference in system headers.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100204
show more ...
|
#
5342ddaa |
| 01-Apr-2010 |
Eric Christopher <echristo@apple.com> |
Revert r100143.
llvm-svn: 100146
|
#
6789e210 |
| 01-Apr-2010 |
David Greene <greened@obbligato.org> |
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after ru
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100143
show more ...
|
#
98970439 |
| 30-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Rip out the 'is temporary' nonsense from the MCContext interface to create symbols. It is extremely error prone and a source of a lot of the remaining integrated assembler bugs on x86-64.
This fixe
Rip out the 'is temporary' nonsense from the MCContext interface to create symbols. It is extremely error prone and a source of a lot of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
show more ...
|
#
bc5af98f |
| 19-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop trying to merge identical jump tables. This had been inadvertently disabled for several months (since svn r88806) and no one noticed. My fix for pr6543 yesterday reenabled it, but broke the AR
Stop trying to merge identical jump tables. This had been inadvertently disabled for several months (since svn r88806) and no one noticed. My fix for pr6543 yesterday reenabled it, but broke the ARM port's code for using TBB/TBH. Rather than adding a target hook to disable merging for Thumb2 only, I'm just taking this out. It is not common to have identical jump tables, the code we used to merge them was O(N^2), and it only helps code size, not performance.
llvm-svn: 98977
show more ...
|
#
01c65a26 |
| 18-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Define placement new wrappers for BumpPtrAllocator and RecyclingAllocator to allow client code to be simpler, and simplify several clients.
llvm-svn: 98847
|
#
3c7cde46 |
| 18-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() to always create a new jump table. The intention was to avoid merging jump tables in SelectionDAGBuilder, and to wait for the
Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() to always create a new jump table. The intention was to avoid merging jump tables in SelectionDAGBuilder, and to wait for the branch folding pass to merge tables. Unfortunately, the same getJumpTableIndex() method is also used to merge tables in branch folding, so as a result of this change branch tables are never merged. Worse, the branch folding code is expecting getJumpTableIndex to always return the index of an existing table, but with this change, it never does so. In at least some cases, e.g., pr6543, this creates references to non-existent tables.
I've fixed the problem by adding a new createJumpTableIndex function, which will always create a new table, and I've changed getJumpTableIndex to only look at existing tables.
llvm-svn: 98845
show more ...
|