Bob Wilson
712f07de0e
Use new neon_vector_type and neon_polyvector_type attributes for Neon vectors.
...
llvm-svn: 119406
2010-11-16 23:57:06 +00:00
Bob Wilson
789e015ce7
Change Neon polynomial types to be signed to match GCC.
...
llvm-svn: 119405
2010-11-16 23:57:03 +00:00
Bob Wilson
0045702afe
Refactor to new GetNumElements function.
...
No functional change.
llvm-svn: 119404
2010-11-16 23:57:01 +00:00
Bill Wendling
a8974af320
Use the correct variable names so that the encodings will be correct.
...
llvm-svn: 119403
2010-11-16 23:44:49 +00:00
Dan Gohman
aeb5e66772
Reapply r118917. With pseudo-instruction expansion moved to
...
a different pass, the complicated interaction between cmov expansion
and fast isel is no longer a concern.
llvm-svn: 119400
2010-11-16 22:43:23 +00:00
Chris Lattner
44c2241cd4
update coding standards. Partial specialization is now ok,
...
though possibly not a good idea.
llvm-svn: 119398
2010-11-16 22:19:06 +00:00
Oscar Fuentes
4e61b09a89
Fix assembling X86CompilationCallback_Win64.asm on VS 10.
...
Patch by Louis Zhuang!
llvm-svn: 119394
2010-11-16 22:07:47 +00:00
Dale Johannesen
fc4feca7d8
Test for llvm-gcc patch 119392.
...
llvm-svn: 119393
2010-11-16 21:57:15 +00:00
Chris Lattner
fced6e2587
libc++ and compiler_rt are now dual licensed under UIUC and MIT license.
...
llvm-svn: 119387
2010-11-16 21:32:53 +00:00
Dan Gohman
6397420a30
Fix grammaro.
...
llvm-svn: 119386
2010-11-16 21:27:00 +00:00
Evan Cheng
3e2ec64367
Add ExpandPseudos.cpp.
...
llvm-svn: 119385
2010-11-16 21:20:36 +00:00
Rafael Espindola
c653a895c8
Add .loc methods to the streamer.
...
Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer
and then switch codegen to use it.
llvm-svn: 119384
2010-11-16 21:20:32 +00:00
Dan Gohman
8b67c720f2
Split pseudo-instruction expansion into a separate pass, to make it
...
easier to debug, and to avoid complications when the CFG changes
in the middle of the instruction selection process.
llvm-svn: 119382
2010-11-16 21:02:37 +00:00
Rafael Espindola
a9e9593d49
Add const.
...
llvm-svn: 119380
2010-11-16 20:56:23 +00:00
Jakob Stoklund Olesen
9beef41f2c
Fix emergency spilling in LiveIntervals::spillPhysRegAroundRegDefsUses.
...
Always spill the full representative register at any point where any subregister
is live.
This fixes PR8620 which caused the old logic to get confused and not spill
anything at all.
The fundamental problem here is that the coalescer is too aggressive about
physical register coalescing. It sometimes makes it impossible to allocate
registers without these emergency spills.
llvm-svn: 119375
2010-11-16 19:55:14 +00:00
Jakob Stoklund Olesen
7583f68954
Print out the register class of the current interval.
...
llvm-svn: 119374
2010-11-16 19:55:12 +00:00
Peter Collingbourne
b813cacf06
Document -enable-no-infs-fp-math and -enable-no-nans-fp-math command line options
...
llvm-svn: 119370
2010-11-16 19:40:13 +00:00
Bob Wilson
dfac58bed1
Tidy up some things in <arm_neon.h>.
...
Stop defining types with "__neon_" prefixes and then using typedefs without
the prefix; there's no reason to do that anymore. Remove types that combine
multiple Neon vectors and treat them as a single long vector; they are not
used.
llvm-svn: 119369
2010-11-16 19:39:14 +00:00
Bob Wilson
2880185194
Reapply "Stop using struct wrappers for Neon vector types in <arm_neon.h>."
...
I've temporarily disabled the failing clang test.
llvm-svn: 119367
2010-11-16 19:16:06 +00:00
Michael J. Spencer
83d98c1d38
system_error: More conditional error codes for Darwin.
...
llvm-svn: 119365
2010-11-16 18:48:21 +00:00
Bob Wilson
4d9c9a646b
Revert "Stop using struct wrappers for Neon vector types in <arm_neon.h>."
...
It's breaking buildbots.
llvm-svn: 119363
2010-11-16 18:43:07 +00:00
Rafael Espindola
3bbea57a6e
Parse and ignore some .cfi_* directives.
...
llvm-svn: 119362
2010-11-16 18:34:07 +00:00
Michael J. Spencer
5ed2428b3c
This is the first step in adding sane error handling support to LLVMSystem.
...
The system API's will be shifted over to returning an error_code, and returning
other return values as out parameters to the function.
Code that needs to check error conditions will use the errc enum values which
are the same as the posix_errno defines (EBADF, E2BIG, etc...), and are
compatable with the error codes in WinError.h due to some magic in system_error.
An example would be:
if (error_code ec = KillEvil("Java")) { // error_code can be converted to bool.
handle_error(ec);
}
llvm-svn: 119360
2010-11-16 18:31:52 +00:00
Bob Wilson
d6b6755414
Stop using struct wrappers for Neon vector types in <arm_neon.h>.
...
Thanks to Nate Begeman for an earlier version of this patch.
llvm-svn: 119358
2010-11-16 18:17:03 +00:00
Jim Grosbach
186747527a
Revert inadvertant checkin of CMake libdeps.
...
llvm-svn: 119355
2010-11-16 18:14:41 +00:00
Jim Grosbach
e600aba989
ARM conditional mov encoding fix.
...
llvm-svn: 119354
2010-11-16 18:13:42 +00:00
Duncan Sands
637049515f
Have a few places that want to simplify phi nodes use SimplifyInstruction
...
rather than calling hasConstantValue. No intended functionality change.
llvm-svn: 119352
2010-11-16 17:41:24 +00:00
Dan Gohman
a230754385
Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. Thanks
...
for Arnaud Allard de Grandmaison for preparing a patch.
llvm-svn: 119351
2010-11-16 17:28:22 +00:00
Duncan Sands
5ffc298bc7
In which I discover the existence of loops. Threading an operation
...
over a phi node by applying it to each operand may be wrong if the
operation and the phi node are mutually interdependent (the testcase
has a simple example of this). So only do this transform if it would
be correct to perform the operation in each predecessor of the block
containing the phi, i.e. if the other operands all dominate the phi.
This should fix the FFMPEG snow.c regression reported by İsmail Dönmez.
llvm-svn: 119347
2010-11-16 12:16:38 +00:00
Rafael Espindola
7d19efd6ff
A bit more of gnu as compatibility when handling relocations with aliases.
...
llvm-svn: 119328
2010-11-16 04:11:46 +00:00
Bill Wendling
5aa33ca29d
L_bit doesn't work here.
...
llvm-svn: 119325
2010-11-16 02:20:22 +00:00
Bill Wendling
3bd60eff26
- Remove dead patterns.
...
- Add encodings to the *LDMIA_RET instrs. Probably not needed...
llvm-svn: 119323
2010-11-16 02:08:45 +00:00
Bill Wendling
02089a39a0
vldm and vstm are mnemonics for vldmia and vstmia resp.
...
llvm-svn: 119321
2010-11-16 02:00:24 +00:00
Eric Christopher
08c083148b
Make the verifier a little quieter on instructions that it's probably
...
(and likely) wrong about anyhow.
llvm-svn: 119320
2010-11-16 01:58:21 +00:00
Chris Lattner
cfedba706c
Fix a bug I introduced in the ppc refactoring, which caused long
...
branches to be emitted as:
bne cr0, 2
instead of:
bne cr0, $+8
llvm-svn: 119317
2010-11-16 01:45:05 +00:00
Bill Wendling
92756fff57
Test encodings for LDM and STM.
...
llvm-svn: 119315
2010-11-16 01:38:20 +00:00
Bill Wendling
a68e3a5397
Encode the multi-load/store instructions with their respective modes ('ia',
...
'db', 'ib', 'da') instead of having that mode as a separate field in the
instruction. It's more convenient for the asm parser and much more readable for
humans.
<rdar://problem/8654088>
llvm-svn: 119310
2010-11-16 01:16:36 +00:00
Michael J. Spencer
f177d16f68
Object: Get rid of sys::Path, Triple, and cleanup namespace.
...
llvm-svn: 119309
2010-11-16 01:06:51 +00:00
Chris Lattner
7b25d6fd52
add copy of comment to the code that will survive the mcjit'ization
...
llvm-svn: 119308
2010-11-16 00:57:32 +00:00
Chris Lattner
73716a600a
relax an assertion a bit, allowing the GPR argument of
...
these instructions to be encoded with getMachineOpValue.
This unbreaks ExecutionEngine/2003-01-04-ArgumentBug.ll
when running on a G5
llvm-svn: 119307
2010-11-16 00:55:51 +00:00
Jakob Stoklund Olesen
39aed737a6
Remember to resize SpillSlotToUsesMap when allocating an emergency spill slot.
...
Use amazing new function call technology instead of writing identical code in
multiple places.
This fixes PR8604.
llvm-svn: 119306
2010-11-16 00:41:01 +00:00
Jakob Stoklund Olesen
e2b8858611
Fix PR8612 in the standard spiller, take two.
...
The live range of a register defined by an early clobber starts at the use slot,
not the def slot.
Except when it is an early clobber tied to a use operand. Then it starts at the
def slot like a standard def.
llvm-svn: 119305
2010-11-16 00:40:59 +00:00
Owen Anderson
05a8daee21
Add Thumb2 encodings for mov and friends.
...
llvm-svn: 119295
2010-11-16 00:29:56 +00:00
Rafael Espindola
d1993eb2a4
Change the 11 byte nop to be a single instruction.
...
llvm-svn: 119286
2010-11-15 23:10:30 +00:00
Chris Lattner
bf9f2f2c29
fix a pasto that massively broke the ppc jit while the buildbots happened
...
to be broken for other reasons
llvm-svn: 119283
2010-11-15 22:50:50 +00:00
Jakob Stoklund Olesen
97154f67d9
Revert "Fix PR8612 in the standard spiller as well."
...
This reverts r119183 which borke the buildbots.
llvm-svn: 119270
2010-11-15 21:51:51 +00:00
Owen Anderson
ea96321781
Attempt to provide encodings for some miscellaneous Thumb2 encodings.
...
llvm-svn: 119187
2010-11-15 21:30:39 +00:00
Evan Cheng
2ce016c7f8
Code clean up. The peephole pass should be the one updating the instruction
...
iterator, not TII->OptimizeCompareInstr.
llvm-svn: 119186
2010-11-15 21:20:45 +00:00
Owen Anderson
7d97a99f4c
Provide Thumb2 encodings for sxtb and friends.
...
llvm-svn: 119185
2010-11-15 21:12:05 +00:00
Eric Christopher
964943780b
Recommit this change and remove the failing part of the test - it didn't
...
pass in the first place and was masked by earlier failures not warning
and aborting the block.
llvm-svn: 119184
2010-11-15 21:11:06 +00:00