History log of /llvm-project/llvm/lib/CodeGen/MachineFunction.cpp (Results 351 – 375 of 588)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


1...<<11121314151617181920>>...24