| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Cleanup some warning.
Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync.
Only tested with VS2008. hope it does not break anything. feel free to revert.
llvm-svn: 64554
|
|
|
|
|
|
| |
intrinsics to any IntrWriteArgMem intrinsics.
llvm-svn: 64551
|
|
|
|
| |
llvm-svn: 64111
|
|
|
|
|
|
|
| |
its corresponding getTargetNode. Lots of
caller changes.
llvm-svn: 63904
|
|
|
|
| |
llvm-svn: 63889
|
|
|
|
| |
llvm-svn: 63812
|
|
|
|
|
|
| |
Adjust callers.
llvm-svn: 63789
|
|
|
|
|
|
| |
and llvm-gcc.
llvm-svn: 63786
|
|
|
|
|
|
|
|
|
| |
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.
llvm-svn: 63765
|
|
|
|
|
|
|
|
|
| |
crashes or wrong code with codegen of large integers:
eliminate the legacy getIntegerVTBitMask and
getIntegerVTSignBit methods, which returned their
value as a uint64_t, so couldn't handle huge types.
llvm-svn: 63494
|
|
|
|
| |
llvm-svn: 63342
|
|
|
|
|
|
|
|
|
| |
- Modify TableGen to add the DebugLoc when calling getTargetNode.
(The light-weight wrappers are only temporary. The non-DebugLoc version will be
removed once the whole debug info stuff is finished with.)
llvm-svn: 63273
|
|
|
|
|
|
|
|
| |
after the code that sorts the patterns. This doesn't
affect the output, but it makes the code a little easier
to follow.
llvm-svn: 63265
|
|
|
|
| |
llvm-svn: 63174
|
|
|
|
|
|
| |
Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'.
llvm-svn: 63172
|
|
|
|
|
|
| |
SuperRegClasses. These are not necessary. Also eliminate getSubRegisterRegClass and getSuperRegisterRegClass. These are slow and their results can change if register file names change. Just use TargetLowering::getRegClassFor() to get the right TargetRegisterClass instead.
llvm-svn: 62762
|
|
|
|
|
|
| |
Patch by Robert Zeh!
llvm-svn: 62750
|
|
|
|
| |
llvm-svn: 62686
|
|
|
|
| |
llvm-svn: 62685
|
|
|
|
|
|
| |
is a leaf node. Patch by Brandner!
llvm-svn: 62361
|
|
|
|
|
|
|
| |
adding more information to the temporary variables names so that
they don't conflict.
llvm-svn: 62296
|
|
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
|
|
|
|
|
|
| |
llvm.memcpy/memset/memmove. This allows removal of some
hackish code from basicaa.
llvm-svn: 62071
|
|
|
|
|
|
| |
change.
llvm-svn: 62067
|
|
|
|
|
|
| |
not a random piece of it. No functionality change.
llvm-svn: 62066
|
|
|
|
|
|
| |
parse them. tblgen doesn't yet do anything with this info though.
llvm-svn: 62065
|
|
|
|
|
|
|
|
| |
to handle LLVMMatchType intrinsic parameters, and by adding new subclasses
of LLVMMatchType to match vector types with integral elements that are
either twice as wide or half as wide as the elements of the matched type.
llvm-svn: 61834
|
|
|
|
| |
llvm-svn: 61732
|
|
|
|
| |
llvm-svn: 61713
|
|
|
|
| |
llvm-svn: 61702
|
|
|
|
|
|
| |
reduces the amount of code slightly when assertions are enabled.
llvm-svn: 61249
|
|
|
|
| |
llvm-svn: 61209
|
|
|
|
| |
llvm-svn: 61191
|
|
|
|
|
|
| |
Add (error) and (empty).
llvm-svn: 61117
|
|
|
|
|
|
| |
Prevents conflicts between plugins.
llvm-svn: 60871
|
|
|
|
|
|
| |
Makes (forward) work better.
llvm-svn: 60667
|
|
|
|
| |
llvm-svn: 60664
|
|
|
|
|
|
|
| |
Use B instead of Beg (for consistency), but NodeA and NodeB instead of A
and B.
llvm-svn: 60663
|
|
|
|
|
|
|
| |
This would be much easier to do if the CommandLine library didn't use
global state. Global state is evil.
llvm-svn: 60659
|
|
|
|
| |
llvm-svn: 60658
|
|
|
|
|
|
|
| |
Also includes a major refactoring. See documentation for more
information.
llvm-svn: 60656
|
|
|
|
|
|
|
|
| |
for(Type1 B = ...;;) { Type2 B ; ... }
is bad: code is hard to read and VS VS don't like it (it ignore the second declaration of B).
This patch fix the problem in tablegen. Please don't write code like this.
llvm-svn: 60590
|
|
|
|
| |
llvm-svn: 60487
|
|
|
|
|
|
|
|
|
|
|
|
| |
foldMemoryOperand how to "fold" them, by converting them into constant-pool
loads. When they aren't folded, they use xorps/cmpeqd, but for example when
register pressure is high, they may now be folded as memory operands, which
reduces register pressure.
Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will
remat it instead of copying zeros around (V_SETALLONES was already marked).
llvm-svn: 60461
|
|
|
|
|
|
|
|
|
| |
is set but mayLoad is not set. Fix all the problems this turned up.
Change code to not use isSimpleLoad instead of mayLoad unless it
really wants isSimpleLoad.
llvm-svn: 60459
|
|
|
|
|
|
| |
makes the code more generic.
llvm-svn: 60199
|
|
|
|
| |
llvm-svn: 60198
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size.
e.g.
movl 4(%esp), %eax
addl $4, %eax
is 2 bytes shorter than
movl $4, %eax
addl 4(%esp), %eax
llvm-svn: 60139
|
|
|
|
| |
llvm-svn: 60099
|
|
|
|
| |
llvm-svn: 59449
|