Dan Gohman
8859ab786b
DAGCombine (shl (anyext x, c)) to (anyext (shl x, c)) if the high bits
...
are not demanded. This often allows the anyext to be folded away.
llvm-svn: 109242
2010-07-23 18:03:30 +00:00
Dan Gohman
b5a26419b8
Make SDNode::dump() print a newline at the end.
...
llvm-svn: 109234
2010-07-23 16:37:47 +00:00
Gabor Greif
30f8e2112c
fix constness warnings
...
llvm-svn: 109224
2010-07-23 13:28:47 +00:00
Eric Christopher
883daea18d
Revert r109102 for now as it's causing JIT miscompilations.
...
I'll try to track down why a bit later.
llvm-svn: 109223
2010-07-23 12:16:56 +00:00
Gabor Greif
a04ffe0391
do not (implicitly) dereference iterator many times, cache it instead
...
llvm-svn: 109222
2010-07-23 10:23:01 +00:00
Eric Christopher
ea5f4cc47c
Revert 109220.
...
llvm-svn: 109221
2010-07-23 08:53:17 +00:00
Gabor Greif
af73f58852
Simplifying use_iterators by dereferencing
...
is not a good idea. The codebase does not depend
in this any more, and it may introduce hidden
runtime cost. If you get compile errors, please
dereference your iterator before passing to cast<>
(and friends).
Also: please consider caching the result of
operator* and reusing that instead of dereferencing
many times.
llvm-svn: 109220
2010-07-23 08:36:07 +00:00
Mikhail Glushenkov
a73b239681
StringRef'icate.
...
llvm-svn: 109217
2010-07-23 04:19:39 +00:00
Mikhail Glushenkov
bbe02846de
Formatting.
...
llvm-svn: 109216
2010-07-23 04:19:34 +00:00
Mikhail Glushenkov
bbeb485c74
Get rid of exceptions in llvmc.
...
llvmc can be now compiled with llvm-gcc on Windows.
llvm-svn: 109215
2010-07-23 03:42:55 +00:00
Chris Lattner
ab2419e712
give StringMap a new ctor which allows you to initialize it
...
with an existing allocator. The interesting use case of this
is that it allows "StringMap<whatever, BumpPtrAllocator&>" for
when you want to allocate out of a preexisting bump pointer
allocator owned by someone else.
llvm-svn: 109213
2010-07-23 03:29:59 +00:00
Chris Lattner
8697533a43
modernize stringset interface
...
llvm-svn: 109212
2010-07-23 03:21:53 +00:00
Bruno Cardoso Lopes
b5374c4b69
Declare CLMUL as a subtarget feature
...
llvm-svn: 109207
2010-07-23 01:22:45 +00:00
Bruno Cardoso Lopes
b034ffa291
Add x86 CLMUL (Carry-less multiplication) cpu feature
...
llvm-svn: 109206
2010-07-23 01:17:51 +00:00
Eric Christopher
308237108d
80-col.
...
llvm-svn: 109205
2010-07-23 01:05:59 +00:00
Bruno Cardoso Lopes
b9182e3051
Add complete assembler support for FMA3 instructions, with descriptions and encodings taken from the AVX manual
...
llvm-svn: 109204
2010-07-23 00:54:35 +00:00
Dale Johannesen
1ee436f417
The only supported calling convention for X86-64 uses
...
SSE, so we can't return floating point values if this
is disabled. Detect this error for clang.
With SSE1 only, f64 is a problem; it can be done, but
neither llvm-gcc nor clang has ever generated correct
code for it. Since nobody noticed this I think it's
OK to treat it as an error for now.
This also handles SSE-sized vectors of floating point.
8207686, 8204109.
llvm-svn: 109201
2010-07-23 00:30:35 +00:00
Bruno Cardoso Lopes
93fd8bdf6a
Fix some AVX instructions which didnt had HasAVX prefix. And also a problem with PINSRW, which was totally wrong because of a typo I introduced previously
...
llvm-svn: 109198
2010-07-23 00:14:54 +00:00
Bob Wilson
b9478f4ef7
Add an explicit -sdk option to xcrun command.
...
llvm-svn: 109196
2010-07-22 23:33:00 +00:00
Eric Christopher
4bedc1720a
Warnings patrol.
...
llvm-svn: 109174
2010-07-22 21:51:30 +00:00
Chris Lattner
50918fa8f0
missed a use of SizeRequired.
...
llvm-svn: 109172
2010-07-22 21:34:55 +00:00
Chris Lattner
a1dcdf0bd4
eliminate the TargetInstrInfo::GetInstSizeInBytes hook.
...
ARM/PPC/MSP430-specific code (which are the only targets that
implement the hook) can directly reference their target-specific
instrinfo classes.
llvm-svn: 109171
2010-07-22 21:27:00 +00:00
Chris Lattner
7c16f1a16e
remove the dwarf sizing stuff which is now dead, it was
...
"yet another" copy of the dwarf EH emission code that was
copied, pasted and slightly hacked up.
llvm-svn: 109169
2010-07-22 21:20:39 +00:00
Bruno Cardoso Lopes
7722724eee
Add remaining AVX instructions (most of them dealing with GR64 destinations. This complete the assembler support for the general AVX ISA. But we still miss instructions from FMA3 and CLMUL specific feature flags, which are now the next step
...
llvm-svn: 109168
2010-07-22 21:18:49 +00:00
Chris Lattner
65ad913bec
remove the JIT "NeedsExactSize" feature and supporting logic.
...
llvm-svn: 109167
2010-07-22 21:17:55 +00:00
Chris Lattner
9c30949ae1
switch a private implementation of GetFunctionSizeInBytes.
...
This is probably not the best way to implement "Force LR to
be spilled if the Thumb function size is > 2048." do this,
it should use the branch shortening infrastructure, but I'm
just preserving functionality here.
llvm-svn: 109165
2010-07-22 21:14:33 +00:00
Eric Christopher
ccfb4a03f8
Regenerate.
...
llvm-svn: 109164
2010-07-22 21:13:48 +00:00
Eric Christopher
62e02782b8
Try to work around the relative install-sh path problem.
...
Patch from Eli.
llvm-svn: 109163
2010-07-22 21:13:40 +00:00
Chris Lattner
7704d56b21
X86MCInstLower now depends on AsmPrinter being around.
...
llvm-svn: 109154
2010-07-22 21:10:04 +00:00
Chris Lattner
367aa754b1
instead of migrating it to the MC instruction encoder, just
...
rip out the implementation of X86InstrInfo::GetInstSizeInBytes.
The code being ripped out just implemented a copy and hacked up
version of the (old) instruction encoder, and is buggy and
terrible in other ways. Since "GetInstSizeInBytes" is really
only there to support the JIT's "NeedsExactSize" hook (which
noone is using), just rip out the code. I will rip out the
NeedsExactSize hook next.
This resolves rdar://7617809 - switch X86InstrInfo::GetInstSizeInBytes to use X86MCCodeEmitter
llvm-svn: 109149
2010-07-22 21:05:13 +00:00
Devang Patel
f53de95e64
Speculatively revert 109117
...
llvm-svn: 109132
2010-07-22 18:44:00 +00:00
Xerxes Ranby
c7a04bcaa5
ARMv4 JIT forgets to set the lr register when making a indirect function call. Fixes PR7608
...
llvm-svn: 109125
2010-07-22 17:28:34 +00:00
Gabor Greif
feb96f2df2
keep in 80 cols
...
llvm-svn: 109122
2010-07-22 17:18:03 +00:00
Devang Patel
58b7143697
Map MDNode correctly.
...
A non function local MDNode can have an operand which is cloned by MapValue().
llvm-svn: 109117
2010-07-22 16:35:00 +00:00
Gabor Greif
e0be902ad9
add dyn_cast_or_null tests, exclude invalid dyn_cast test
...
llvm-svn: 109111
2010-07-22 15:37:20 +00:00
Gabor Greif
819f063563
tidy up
...
llvm-svn: 109110
2010-07-22 15:28:30 +00:00
Gabor Greif
4340654a0d
add dyn_cast tests and beef up others a bit
...
llvm-svn: 109109
2010-07-22 15:24:48 +00:00
Gabor Greif
a1f9f82eb5
fit in 80 columns
...
llvm-svn: 109108
2010-07-22 14:13:14 +00:00
Gabor Greif
346b13120a
use cascading operator-> feature
...
llvm-svn: 109104
2010-07-22 13:49:27 +00:00
Gabor Greif
96a9f8c7c6
mass elimination of reliance on automatic iterator dereferencing
...
llvm-svn: 109103
2010-07-22 13:36:47 +00:00
Duncan Sands
3fb5f1dccc
Increase the max physreg size. Patch by Pekka Jääskeläinen.
...
llvm-svn: 109102
2010-07-22 13:10:14 +00:00
Gabor Greif
225d763b90
simplify
...
llvm-svn: 109101
2010-07-22 13:07:39 +00:00
Gabor Greif
40e372be7e
do not access arguments via low-level interface, do not multiply dereference use_iterators
...
llvm-svn: 109100
2010-07-22 13:04:32 +00:00
Gabor Greif
582eb39c11
pass dereferenced iterator to dyn_cast
...
llvm-svn: 109099
2010-07-22 11:48:35 +00:00
Gabor Greif
87ef691878
pass dereferenced iterator to dyn_cast
...
llvm-svn: 109098
2010-07-22 11:43:44 +00:00
Gabor Greif
197322c365
use -> instead of (*).
...
llvm-svn: 109094
2010-07-22 11:12:32 +00:00
Gabor Greif
e826ece8c2
cache dereferenced iterator
...
llvm-svn: 109093
2010-07-22 11:07:46 +00:00
Gabor Greif
a7509fca78
undo 80 column trespassing I caused
...
llvm-svn: 109092
2010-07-22 10:37:47 +00:00
Chandler Carruth
e10953d673
Mark an assert-only variable as used.
...
llvm-svn: 109091
2010-07-22 08:02:25 +00:00
Chandler Carruth
4810e179e9
Fix the generated file name for CMake.
...
llvm-svn: 109090
2010-07-22 08:00:52 +00:00