| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 47252
|
|
|
|
| |
llvm-svn: 47251
|
|
|
|
|
|
|
| |
If we see a memcpy of a pointer, make sure to check later
uses of the pointer as well.
llvm-svn: 47250
|
|
|
|
| |
llvm-svn: 47248
|
|
|
|
|
|
|
|
|
| |
addresses.
Also, noalias arguments are be considered "like" stack allocated ones for this purpose, because
the only way they can be modref'ed is if they escape somewhere in the current function.
llvm-svn: 47247
|
|
|
|
|
|
| |
the second half of PR2047
llvm-svn: 47244
|
|
|
|
| |
llvm-svn: 47242
|
|
|
|
|
|
| |
that is also a subtract. This implements PR2047 and Transforms/Reassociate/subtest2.ll
llvm-svn: 47241
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 47239
|
|
|
|
| |
llvm-svn: 47237
|
|
|
|
|
|
| |
is not passed as an argument to a trampoline intrinsic.
llvm-svn: 47220
|
|
|
|
| |
llvm-svn: 47219
|
|
|
|
|
|
| |
a noop (which is how it use to be treated). If someone who knows the x86 backend better than me could tell me how to get a lock prefix on an instruction, that would be nice to complete x86 support.
llvm-svn: 47213
|
|
|
|
|
|
| |
br_cc. This fixes 5 "make check" failures.
llvm-svn: 47212
|
|
|
|
|
|
| |
instruction.
llvm-svn: 47208
|
|
|
|
| |
llvm-svn: 47204
|
|
|
|
| |
llvm-svn: 47200
|
|
|
|
|
|
|
| |
it actually does. Simplify CountOperands a little by reusing
ComputeMemOperandsEnd. And reword some comments for both.
llvm-svn: 47198
|
|
|
|
| |
llvm-svn: 47196
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tblgen will complain if a sign-extended constant does not fit into a
data type smaller than i32, e.g., i16. This causes a problem when certain
hex constants are used, such as 0xff for byte masks or immediate xor
values.
tblgen will try the sign-extended value first and, if the sign extended
value would overflow, it tries to see if the unsigned value will fit.
Consequently, a software developer can now safely incant:
(XORHIr16 R16C:$rA, 0xffff)
which is somewhat clearer and more informative than incanting:
(XORHIr16 R16C:$rA, (i16 -1))
even if the two are bitwise equivalent.
Tblgen also outputs the 64-bit unsigned constant in the generated ISel code
when getTargetConstant() is invoked.
llvm-svn: 47188
|
|
|
|
| |
llvm-svn: 47179
|
|
|
|
|
|
|
| |
we had reached the "fake bucket" after the last bucket, allowing the iterator
in some cases to run off the end of the hashtable.
llvm-svn: 47178
|
|
|
|
|
|
| |
with the TIED_TO attribute.
llvm-svn: 47177
|
|
|
|
|
|
|
| |
that should be checked for the TIED_TO attribute instead of
using CountOperands.
llvm-svn: 47176
|
|
|
|
|
|
|
|
|
| |
in a ret node. These are created as i32 constants
but on some platforms i32 is not legal. This
fixes 26 "make check" failures, for example
Alpha/2005-07-12-TwoMallocCalls.ll.
llvm-svn: 47172
|
|
|
|
|
|
| |
really really really need refactoring :(
llvm-svn: 47171
|
|
|
|
|
|
|
|
|
|
|
| |
the global comment. This prevents printing things like:
... # foo
bar
when the name is "foo\nbar".
llvm-svn: 47170
|
|
|
|
|
|
| |
when they occur in the name, just like " is escaped.
llvm-svn: 47169
|
|
|
|
| |
llvm-svn: 47168
|
|
|
|
|
|
|
| |
register defs and uses after each successful coalescing.
- Also removed a number of hacks and fixed some subtle kill information bugs.
llvm-svn: 47167
|
|
|
|
|
|
| |
machine instr will change its definition register.
llvm-svn: 47166
|
|
|
|
| |
llvm-svn: 47164
|
|
|
|
|
|
| |
with a hard-coded operand number.
llvm-svn: 47163
|
|
|
|
|
|
| |
that doesn't support it. Per Chris.
llvm-svn: 47162
|
|
|
|
|
|
| |
program.
llvm-svn: 47161
|
|
|
|
| |
llvm-svn: 47150
|
|
|
|
| |
llvm-svn: 47149
|
|
|
|
| |
llvm-svn: 47148
|
|
|
|
|
|
|
|
|
|
| |
it follows the order of the enum, not alphabetical.
The motivation is to make -mattr=+ssse3,+sse41
select SSE41 as it ought to. Added "ignored"
enum values of 0 to PPC and SPU to avoid compiler
warnings.
llvm-svn: 47143
|
|
|
|
|
|
|
|
| |
B loop header.
Fixes PR 2030.
llvm-svn: 47141
|
|
|
|
|
|
| |
being consistent with the rest of the APInt implementation.
llvm-svn: 47138
|
|
|
|
| |
llvm-svn: 47129
|
|
|
|
| |
llvm-svn: 47128
|
|
|
|
|
|
| |
which allows us to kill a target-specific node.
llvm-svn: 47127
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the return value is zero-extended if it isn't
sign-extended. It may also be any-extended.
Also, if a floating point value was returned
in a larger floating point type, pass 1 as the
second operand to FP_ROUND, which tells it
that all the precision is in the original type.
I think this is right but I could be wrong.
Finally, when doing libcalls, set isZExt on
a parameter if it is "unsigned". Currently
isSExt is set when signed, and nothing is
set otherwise. This should be right for all
calls to standard library routines.
llvm-svn: 47122
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) ConstantFP is now expand by default
2) ConstantFP is not turned into TargetConstantFP during Legalize
if it is legal.
This allows ConstantFP to be handled like Constant, allowing for
targets that can encode FP immediates as MachineOperands.
As a bonus, fix up Itanium FP constants, which now correctly match,
and match more constants! Hooray.
llvm-svn: 47121
|
|
|
|
|
|
| |
FP Immediates, crazily enough
llvm-svn: 47117
|
|
|
|
| |
llvm-svn: 47116
|
|
|
|
| |
llvm-svn: 47115
|
|
|
|
| |
llvm-svn: 47111
|