Gabor Greif
04577efaf2
fix constness warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 13:28:47 +00:00
Eric Christopher
3012e2213b
Revert r109102 for now as it's causing JIT miscompilations.
...
I'll try to track down why a bit later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 12:16:56 +00:00
Gabor Greif
9843688f97
do not (implicitly) dereference iterator many times, cache it instead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109222 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 10:23:01 +00:00
Eric Christopher
6252f6ea11
Revert 109220.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109221 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 08:53:17 +00:00
Gabor Greif
4a3bb24179
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109220 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 08:36:07 +00:00
Mikhail Glushenkov
7d455eb7a4
StringRef'icate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109217 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 04:19:39 +00:00
Mikhail Glushenkov
b2721e70df
Formatting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109216 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 04:19:34 +00:00
Mikhail Glushenkov
b374d4fd82
Get rid of exceptions in llvmc.
...
llvmc can be now compiled with llvm-gcc on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 03:42:55 +00:00
Chris Lattner
a23650bc01
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 03:29:59 +00:00
Chris Lattner
d69121b3c5
modernize stringset interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109212 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 03:21:53 +00:00
Bruno Cardoso Lopes
26a9142bd6
Declare CLMUL as a subtarget feature
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109207 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 01:22:45 +00:00
Bruno Cardoso Lopes
cdae7e8244
Add x86 CLMUL (Carry-less multiplication) cpu feature
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109206 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 01:17:51 +00:00
Eric Christopher
54e1791e4b
80-col.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109205 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 01:05:59 +00:00
Bruno Cardoso Lopes
6b7e9168a4
Add complete assembler support for FMA3 instructions, with descriptions and encodings taken from the AVX manual
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109204 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 00:54:35 +00:00
Dale Johannesen
c76d23f2e2
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109201 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 00:30:35 +00:00
Bruno Cardoso Lopes
06e6e101a0
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
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109198 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 00:14:54 +00:00
Bob Wilson
02dee5b437
Add an explicit -sdk option to xcrun command.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 23:33:00 +00:00
Eric Christopher
ed2b84087f
Warnings patrol.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:51:30 +00:00
Chris Lattner
ae7b8b212a
missed a use of SizeRequired.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109172 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:34:55 +00:00
Chris Lattner
2062875a7d
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109171 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:27:00 +00:00
Chris Lattner
77beeaec1e
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109169 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:20:39 +00:00
Bruno Cardoso Lopes
fb583a9842
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
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109168 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:18:49 +00:00
Chris Lattner
134d8eec87
remove the JIT "NeedsExactSize" feature and supporting logic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109167 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:17:55 +00:00
Chris Lattner
1c55386dae
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109165 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:14:33 +00:00
Eric Christopher
2a1a44fe60
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109164 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:13:48 +00:00
Eric Christopher
86fa2f2540
Try to work around the relative install-sh path problem.
...
Patch from Eli.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:13:40 +00:00
Chris Lattner
0123c1da35
X86MCInstLower now depends on AsmPrinter being around.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109154 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:10:04 +00:00
Chris Lattner
456fdaf0ce
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109149 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 21:05:13 +00:00
Devang Patel
169c932759
Speculatively revert 109117
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109132 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 18:44:00 +00:00
Xerxes Ranby
99ccffe87e
ARMv4 JIT forgets to set the lr register when making a indirect function call. Fixes PR7608
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 17:28:34 +00:00
Gabor Greif
481c4c0734
keep in 80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109122 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 17:18:03 +00:00
Devang Patel
bd68d42843
Map MDNode correctly.
...
A non function local MDNode can have an operand which is cloned by MapValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 16:35:00 +00:00
Gabor Greif
f06eb3719a
add dyn_cast_or_null tests, exclude invalid dyn_cast test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 15:37:20 +00:00
Gabor Greif
46a35015f5
tidy up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 15:28:30 +00:00
Gabor Greif
d159467ad6
add dyn_cast tests and beef up others a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109109 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 15:24:48 +00:00
Gabor Greif
1ac022974a
fit in 80 columns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109108 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 14:13:14 +00:00
Gabor Greif
f95eef695d
use cascading operator-> feature
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109104 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 13:49:27 +00:00
Gabor Greif
96f1d8ebdd
mass elimination of reliance on automatic iterator dereferencing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109103 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 13:36:47 +00:00
Duncan Sands
907cd1a569
Increase the max physreg size. Patch by Pekka Jääskeläinen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109102 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 13:10:14 +00:00
Gabor Greif
945f1ab0a5
simplify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 13:07:39 +00:00
Gabor Greif
efdf039aec
do not access arguments via low-level interface, do not multiply dereference use_iterators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109100 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 13:04:32 +00:00
Gabor Greif
85e01df73d
pass dereferenced iterator to dyn_cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109099 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 11:48:35 +00:00
Gabor Greif
20361b9d4d
pass dereferenced iterator to dyn_cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109098 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 11:43:44 +00:00
Gabor Greif
11aa60d05a
use -> instead of (*).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109094 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 11:12:32 +00:00
Gabor Greif
3d8586eb63
cache dereferenced iterator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109093 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 11:07:46 +00:00
Gabor Greif
a399781289
undo 80 column trespassing I caused
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109092 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 10:37:47 +00:00
Chandler Carruth
30d35b8720
Mark an assert-only variable as used.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109091 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 08:02:25 +00:00
Chandler Carruth
986569ac9a
Fix the generated file name for CMake.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109090 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 08:00:52 +00:00
Tobias Grosser
f96b006367
Add new RegionInfo pass.
...
The RegionInfo pass detects single entry single exit regions in a function,
where a region is defined as any subgraph that is connected to the remaining
graph at only two spots.
Furthermore an hierarchical region tree is built.
Use it by calling "opt -regions analyze" or "opt -view-regions".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109089 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 07:46:31 +00:00
Chandler Carruth
8a89a6ae9c
Attempt to fix linking issues with CMake. Please review other CMake users,
...
especially on other platforms. Is there a better way to fix this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109084 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 06:27:45 +00:00