#
d278d35b |
| 18-Oct-2011 |
Duncan Sands <baldrick@free.fr> |
Fix a bunch of unused variable warnings when doing a release build with gcc-4.6.
llvm-svn: 142350
|
#
bab66789 |
| 18-Oct-2011 |
Hal Finkel <hfinkel@anl.gov> |
Fix comment to refer to correct instruction
llvm-svn: 142334
|
Revision tags: llvmorg-3.0.0-rc1 |
|
#
2730a009 |
| 15-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Clear out the landing pad to call site map for each function.
This isn't put into the 'clear()' method because the information needs to stick around (at least for a little bit) after the selection D
Clear out the landing pad to call site map for each function.
This isn't put into the 'clear()' method because the information needs to stick around (at least for a little bit) after the selection DAG is built.
llvm-svn: 142032
show more ...
|
#
24abd9d9 |
| 12-Oct-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Encode register class constreaints in inline asm instructions.
The inline asm operand constraint is initially encoded in the virtual register for the operand, but that register class may change duri
Encode register class constreaints in inline asm instructions.
The inline asm operand constraint is initially encoded in the virtual register for the operand, but that register class may change during coalescing, and the original constraint is lost.
Encode the original register class as part of the flag word for each inline asm operand. This makes it possible to recover the actual constraint required by inline asm, just like we can for normal instructions.
llvm-svn: 141833
show more ...
|
#
979009ea |
| 12-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Use a utility from MathExtras to clarify a check and avoid undefined behavior. Based on patch by Ahmed Charles.
llvm-svn: 141829
|
#
7ecfbd90 |
| 07-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Thread the chain through the eh.sjlj.setjmp intrinsic, like it's documented to do. This will be useful later on with the new SJLJ stuff.
llvm-svn: 141416
|
#
1456cd20 |
| 06-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Remove the old atomic instrinsics. autoupgrade functionality is included with this patch.
llvm-svn: 141333
|
#
267f323d |
| 05-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Modify the mapping from landing pad to call sites to accept more than one call site.
llvm-svn: 141226
|
#
3d11aa7e |
| 04-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Create a mapping between the landing pad basic block and the call site index for later use.
llvm-svn: 141125
|
#
f40df1d4 |
| 30-Sep-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Promote comment to doxycomment. Adjust whitespace. No functionality change.
llvm-svn: 140899
|
#
95031ed8 |
| 29-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Clean up uses of switch instructions so they are not dependent on the operand ordering. Patch by Stepan Dyatkovskiy.
llvm-svn: 140803
|
#
d299dccf |
| 29-Sep-2011 |
Eric Christopher <echristo@apple.com> |
Use the local we already set up.
llvm-svn: 140745
|
#
baf3941f |
| 28-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Strip off pointer casts when looking at the eh.sjlj.functioncontext's argument.
llvm-svn: 140678
|
#
66b110f5 |
| 28-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Create and use an llvm.eh.sjlj.functioncontext intrinsic.
This intrinsic is used to pass the index of the function context to the back-end for further processing. The back-end is in charge of fillin
Create and use an llvm.eh.sjlj.functioncontext intrinsic.
This intrinsic is used to pass the index of the function context to the back-end for further processing. The back-end is in charge of filling in the rest of the entries.
llvm-svn: 140676
show more ...
|
#
f78c6a83 |
| 13-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix check for unaligned load/store so it doesn't catch over-aligned load/store.
llvm-svn: 139649
|
#
f1518216 |
| 13-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Error out on CodeGen of unaligned load/store. Fix test so it isn't accidentally testing that case.
llvm-svn: 139641
|
#
e74e0c80 |
| 09-Sep-2011 |
Chris Lattner <sabre@nondot.org> |
tidy up a bit
llvm-svn: 139419
|
#
9d904e1a |
| 08-Sep-2011 |
Devang Patel <dpatel@apple.com> |
Directly point debug info to the stack slot of the arugment, instead of trying to keep track of vreg in which it the arugment is copied. The LiveDebugVariable can keep track of variable's ranges.
ll
Directly point debug info to the stack slot of the arugment, instead of trying to keep track of vreg in which it the arugment is copied. The LiveDebugVariable can keep track of variable's ranges.
llvm-svn: 139330
show more ...
|
#
f2641e1b |
| 06-Sep-2011 |
Duncan Sands <baldrick@free.fr> |
Add codegen support for vector select (in the IR this means a select with a vector condition); such selects become VSELECT codegen nodes. This patch also removes VSETCC codegen nodes, unifying them w
Add codegen support for vector select (in the IR this means a select with a vector condition); such selects become VSELECT codegen nodes. This patch also removes VSETCC codegen nodes, unifying them with SETCC nodes (codegen was actually often using SETCC for vector SETCC already). This ensures that various DAG combiner optimizations kick in for vector comparisons. Passes dragonegg bootstrap with no testsuite regressions (nightly testsuite as well as "make check-all"). Patch mostly by Nadav Rotem.
llvm-svn: 139159
show more ...
|
#
a098436b |
| 06-Sep-2011 |
Duncan Sands <baldrick@free.fr> |
Split the init.trampoline intrinsic, which currently combines GCC's init.trampoline and adjust.trampoline intrinsics, into two intrinsics like in GCC. While having one combined intrinsic is tempting
Split the init.trampoline intrinsic, which currently combines GCC's init.trampoline and adjust.trampoline intrinsics, into two intrinsics like in GCC. While having one combined intrinsic is tempting, it is not natural because typically the trampoline initialization needs to be done in one function, and the result of adjust trampoline is needed in a different (nested) function. To get around this llvm-gcc hacks the nested function lowering code to insert an additional parent variable holding the adjust.trampoline result that can be accessed from the child function. Dragonegg doesn't have the luxury of tweaking GCC code, so it stored the result of adjust.trampoline in the memory GCC set aside for the trampoline itself (this is always available in the child function), and set up some new memory (using an alloca) to hold the trampoline. Unfortunately this breaks Go which allocates trampoline memory on the heap and wants to use it even after the parent has exited (!). Rather than doing even more hacks to get Go working, it seemed best to just use two intrinsics like in GCC. Patch mostly by Sanjoy Das.
llvm-svn: 139140
show more ...
|
#
452aae62 |
| 26-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Atomic load/store on ARM/Thumb.
I don't really like the patterns, but I'm having trouble coming up with a better way to handle them.
I plan on making other targets use the same legalization ARM-wit
Atomic load/store on ARM/Thumb.
I don't really like the patterns, but I'm having trouble coming up with a better way to handle them.
I plan on making other targets use the same legalization ARM-without-memory-barriers is using... it's not especially efficient, but if anyone cares, it's not that hard to fix for a given target if there's some better lowering.
llvm-svn: 138621
show more ...
|
#
342e8df0 |
| 24-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Basic x86 code generation for atomic load and store instructions.
llvm-svn: 138478
|
#
6b477b98 |
| 23-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Fix 80 col violations.
llvm-svn: 138356
|
#
247fd3bf |
| 17-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Add the support in code-gen for the landingpad instruction lowering.
The landingpad instruction is lowered into the EXCEPTIONADDR and EHSELECTION SDNodes. The information from the landingpad instruc
Add the support in code-gen for the landingpad instruction lowering.
The landingpad instruction is lowered into the EXCEPTIONADDR and EHSELECTION SDNodes. The information from the landingpad instruction is harvested by the 'AddLandingPadInfo' function. The new EH uses the current EH scheme in the back-end. This will change once we switch over to the new scheme. (Reviewed by Jakob!)
llvm-svn: 137880
show more ...
|
#
a408e5bf |
| 17-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert patch. Forgot a dependent commit.
llvm-svn: 137875
|