#
bef254ab |
| 23-Nov-2012 |
Craig Topper <craig.topper@gmail.com> |
Refactor a bit to make some helper functions static.
llvm-svn: 168524
|
#
e9541c82 |
| 22-Nov-2012 |
Lang Hames <lhames@gmail.com> |
llvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than isOperationLegal. Thanks to Craig Topper for pointing this out.
llvm-svn: 168485
|
#
ed756c5f |
| 16-Nov-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove conditions from 'else if' that were guaranteed by preceding 'if'.
llvm-svn: 168191
|
#
3669de4c |
| 16-Nov-2012 |
Craig Topper <craig.topper@gmail.com> |
Factor out the final FADD that's common to multiple code paths in the visitLog* functions.
llvm-svn: 168183
|
#
ae89426f |
| 16-Nov-2012 |
Craig Topper <craig.topper@gmail.com> |
Factor some common code to reduce compile size.
llvm-svn: 168143
|
#
61d04578 |
| 15-Nov-2012 |
Craig Topper <craig.topper@gmail.com> |
Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.
llvm-svn: 168025
|
Revision tags: llvmorg-3.2.0-rc1 |
|
#
b8d3caf6 |
| 13-Nov-2012 |
Duncan Sands <baldrick@free.fr> |
Codegen support for arbitrary vector getelementptrs.
llvm-svn: 167830
|
#
3d5af279 |
| 01-Nov-2012 |
Manman Ren <mren@apple.com> |
OutputArg: added an index of the original argument to match the change to InputArg in r165616.
This will enable us to get the actual type for both InputArg and OutputArg.
rdar://9932559
llvm-svn:
OutputArg: added an index of the original argument to match the change to InputArg in r165616.
This will enable us to get the actual type for both InputArg and OutputArg.
rdar://9932559
llvm-svn: 167265
show more ...
|
#
86f6050c |
| 30-Oct-2012 |
Chad Rosier <mcrosier@apple.com> |
Add a comment for r167040.
llvm-svn: 167046
|
#
9e1274fb |
| 30-Oct-2012 |
Chad Rosier <mcrosier@apple.com> |
[inline asm] Implement mayLoad and mayStore for inline assembly. In general, the MachineInstr MayLoad/MayLoad flags are based on the tablegen implementation. For inline assembly, however, we need to
[inline asm] Implement mayLoad and mayStore for inline assembly. In general, the MachineInstr MayLoad/MayLoad flags are based on the tablegen implementation. For inline assembly, however, we need to compute these based on the constraints.
Revert r166929 as this is no longer needed, but leave the test case in place. rdar://12033048 and PR13504
llvm-svn: 167040
show more ...
|
#
33e034a4 |
| 23-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Make the indirect branch optimization deterministic. No functionality change.
Patch by Daniel Reynaud.
llvm-svn: 166501
|
#
cdde059a |
| 19-Oct-2012 |
Shuxin Yang <shuxin.llvm@gmail.com> |
This patch is to fix radar://8426430. It is about llvm support of __builtin_debugtrap() which is supposed to consistently raise SIGTRAP across all systems. In contrast, __builtin_trap() behave differ
This patch is to fix radar://8426430. It is about llvm support of __builtin_debugtrap() which is supposed to consistently raise SIGTRAP across all systems. In contrast, __builtin_trap() behave differently on different systems. e.g. it raises SIGTRAP on ARM, and SIGILL on X86. The purpose of __builtin_debugtrap() is to consistently provide "trap" functionality, in the mean time preserve the compatibility with on gcc on __builtin_trap().
The X86 backend is already able to handle debugtrap(). This patch is to: 1) make front-end recognize "__builtin_debugtrap()" (emboddied in the one-line change to Clang). 2) In DAG legalization phase, by default, "debugtrap" will be replaced with "trap", which make the __builtin_debugtrap() "available" to all existing ports without the hassle of changing their code. 3) If trap-function is specified (via -trap-func=xyz to llc), both __builtin_debugtrap() and __builtin_trap() will be expanded into the function call of the specified trap function. This behavior may need change in the future.
The provided testing-case is to make sure 2) and 3) are working for ARM port, and we already have a testing case for x86.
llvm-svn: 166300
show more ...
|
#
f13dbb8e |
| 10-Oct-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Issue description: SchedulerDAGInstrs::buildSchedGraph ignores dependencies between FixedStack objects and byval parameters. So loading byval parameters from stack may be inserted *before* it will be
Issue description: SchedulerDAGInstrs::buildSchedGraph ignores dependencies between FixedStack objects and byval parameters. So loading byval parameters from stack may be inserted *before* it will be stored, since these operations are treated as independent.
Fix: Currently ARMTargetLowering::LowerFormalArguments saves byval registers with FixedStack MachinePointerInfo. To fix the problem we need to store byval registers with MachinePointerInfo referenced to first the "byval" parameter.
Also commit adds two new fields to the InputArg structure: Function's argument index and InputArg's part offset in bytes relative to the start position of Function's argument. E.g.: If function's argument is 128 bit width and it was splitted onto 32 bit regs, then we got 4 InputArg structs with same arg index, but different offset values.
llvm-svn: 165616
show more ...
|
#
8ccd6ca1 |
| 09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the attribute enums to query if a parameter has an attribute.
llvm-svn: 165550
|
#
c9b22d73 |
| 09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Create enums for the different attributes.
We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is sto
Create enums for the different attributes.
We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored.
llvm-svn: 165488
show more ...
|
#
cdfe20b9 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165402
|
#
71ad78b2 |
| 03-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Update to use the predicate methods to query if an attribute exists.
llvm-svn: 165163
|
#
863bab68 |
| 26-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove the `hasFnAttr' method from Function.
The hasFnAttr method has been replaced by querying the Attributes explicitly. No intended functionality change.
llvm-svn: 164725
|
#
5def8913 |
| 26-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Generate an error message instead of asserting or segfaulting when we have a scalar-to-vector conversion that we cannot handle. For instance, when an invalid constraint is used in an inline asm state
Generate an error message instead of asserting or segfaulting when we have a scalar-to-vector conversion that we cannot handle. For instance, when an invalid constraint is used in an inline asm statement. <rdar://problem/12284092>
llvm-svn: 164662
show more ...
|
#
81406f69 |
| 26-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Generate an error message instead of asserting or segfaulting when we have a scalar-to-vector conversion that we cannot handle. For instance, when an invalid constraint is used in an inline asm state
Generate an error message instead of asserting or segfaulting when we have a scalar-to-vector conversion that we cannot handle. For instance, when an invalid constraint is used in an inline asm statement. <rdar://problem/12284092>
llvm-svn: 164657
show more ...
|
#
edb31faf |
| 25-Sep-2012 |
Sebastian Pop <spop@codeaurora.org> |
TargetLowering interface to set/get minimum block entries for jump tables.
Provide interface in TargetLowering to set or get the minimum number of basic blocks whereby jump tables are generated for
TargetLowering interface to set/get minimum block entries for jump tables.
Provide interface in TargetLowering to set or get the minimum number of basic blocks whereby jump tables are generated for switch statements rather than an if sequence.
getMinimumJumpTableEntries() defaults to 4. setMinimumJumpTableEntries() allows target configuration.
This patch changes the default for the Hexagon architecture to 5 as it improves performance on some benchmarks.
llvm-svn: 164628
show more ...
|
#
d753a952 |
| 10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Teach the DAGBuilder about lifetime markers which are generated from PHINodes.
llvm-svn: 163494
|
#
b7cd3419 |
| 07-Sep-2012 |
Michael Liao <michael.liao@intel.com> |
Stop emitting lifetime region info when stack coloring is not enabled in O0
- this should fix PR13780
llvm-svn: 163370
|
#
7c277da3 |
| 06-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX in
Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX intrinsics).
llvm-svn: 163299
show more ...
|
#
e53314f7 |
| 05-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
Cleanup a few magic numbers.
llvm-svn: 163263
|