Jyotsna Verma [Tue, 5 Mar 2013 19:04:47 +0000 (19:04 +0000)]
Hexagon: Expand addc, adde, subc and sube.
llvm-svn: 176505
Arnold Schwaighofer [Tue, 5 Mar 2013 19:04:12 +0000 (19:04 +0000)]
Use the right number of slashes in comment string
llvm-svn: 176504
Shankar Easwaran [Tue, 5 Mar 2013 19:00:21 +0000 (19:00 +0000)]
[ELF][Hexagon] fixing dynlib test
llvm-svn: 176503
Eli Bendersky [Tue, 5 Mar 2013 18:56:14 +0000 (18:56 +0000)]
Fixes a test by replacing .align by .p2align and setting triples explicitly.
Patch by David Sehr
llvm-svn: 176502
Benjamin Kramer [Tue, 5 Mar 2013 18:54:05 +0000 (18:54 +0000)]
Update cmake build.
llvm-svn: 176501
Jyotsna Verma [Tue, 5 Mar 2013 18:51:42 +0000 (18:51 +0000)]
Hexagon: Use MO operand flags to mark constant extended instructions.
llvm-svn: 176500
Jyotsna Verma [Tue, 5 Mar 2013 18:42:28 +0000 (18:42 +0000)]
Hexagon: Add encoding bits to the TFR64 instructions.
Set imMoveImm, isAsCheapAsAMove flags for TFRI instructions.
llvm-svn: 176499
Vincent Lejeune [Tue, 5 Mar 2013 18:41:32 +0000 (18:41 +0000)]
R600: initial scheduler code
This is a skeleton for a pre-RA MachineInstr scheduler strategy. Currently
it only tries to expose more parallelism for ALU instructions (this also
makes the distribution of GPR channels more uniform and increases the
chances of ALU instructions to be packed together in a single VLIW group).
Also it tries to reduce clause switching by grouping instruction of the
same kind (ALU/FETCH/CF) together.
Vincent Lejeune:
- Support for VLIW4 Slot assignement
- Recomputation of ScheduleDAG to get more parallelism opportunities
Tom Stellard:
- Fix assertion failure when trying to determine an instruction's slot
based on its destination register's class
- Fix some compiler warnings
Vincent Lejeune: [v2]
- Remove recomputation of ScheduleDAG (will be provided in a later patch)
- Improve estimation of an ALU clause size so that heuristic does not emit cf
instructions at the wrong position.
- Make schedule heuristic smarter using SUnit Depth
- Take constant read limitations into account
Vincent Lejeune: [v3]
- Fix some uninitialized values in ConstPair
- Add asserts to ensure an ALU slot is always populated
llvm-svn: 176498
Shankar Easwaran [Tue, 5 Mar 2013 18:39:16 +0000 (18:39 +0000)]
[ELF][Hexagon] fixing test failure
llvm-svn: 176497
Dmitri Gribenko [Tue, 5 Mar 2013 18:11:01 +0000 (18:11 +0000)]
Fix -Wdocumentation warning: use a correct Doxygen comment marker
llvm-svn: 176494
Edwin Vane [Tue, 5 Mar 2013 18:04:37 +0000 (18:04 +0000)]
Make LibASTMatchersTutorial code match text
Fixed code to match text. Slight adjustment for readability.
Author: Béatrice Creusillet
llvm-svn: 176493
Matt Kopec [Tue, 5 Mar 2013 17:23:57 +0000 (17:23 +0000)]
Add support on POSIX to determine if an inferior has changed while debugging it.
llvm-svn: 176492
Arnold Schwaighofer [Tue, 5 Mar 2013 16:53:24 +0000 (16:53 +0000)]
Clarify comment for function getObjectSize
Clarify that we mean the object starting at the pointer to the end of the
underlying object and not the size of the whole allocated object.
llvm-svn: 176491
David Sehr [Tue, 5 Mar 2013 16:46:54 +0000 (16:46 +0000)]
Add a test that .align directives on capable processors use long NOPs.
llvm-svn: 176490
Shankar Easwaran [Tue, 5 Mar 2013 16:09:32 +0000 (16:09 +0000)]
[ELF] Set symbol type to STT_SECTION, so that objdump.bfd doesnot get confused when disassembling output
llvm-svn: 176489
Vincent Lejeune [Tue, 5 Mar 2013 15:04:55 +0000 (15:04 +0000)]
R600: Remove LowerConstCopyPass and lower CONST_COPY right after ISel.
Maintaining CONST_COPY Instructions until Pre Emit may prevent some ifcvt case
and taking them in account for scheduling is difficult for no real benefit.
llvm-svn: 176488
Vincent Lejeune [Tue, 5 Mar 2013 15:04:49 +0000 (15:04 +0000)]
R600: Turn BUILD_VECTOR into Reg_Sequence
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 176487
Vincent Lejeune [Tue, 5 Mar 2013 15:04:42 +0000 (15:04 +0000)]
R600: CONST_ADDRESS node is not marked as mayLoad anymore
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
mayLoad complexify scheduling and does not bring any usefull info
as the location is not writeable at all.
llvm-svn: 176486
Vincent Lejeune [Tue, 5 Mar 2013 15:04:37 +0000 (15:04 +0000)]
R600: Use MUL_IEEE for trig/fdiv intrinsic
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 176485
Vincent Lejeune [Tue, 5 Mar 2013 15:04:29 +0000 (15:04 +0000)]
R600: Add support for indirect addressing of non default const buffer
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 176484
Shankar Easwaran [Tue, 5 Mar 2013 14:52:48 +0000 (14:52 +0000)]
[ELF] add dynamic library support
llvm-svn: 176483
Shankar Easwaran [Tue, 5 Mar 2013 14:45:59 +0000 (14:45 +0000)]
[ELF] Remove comment
llvm-svn: 176482
Alexey Samsonov [Tue, 5 Mar 2013 14:43:07 +0000 (14:43 +0000)]
Print a warning message if compiler-rt can't be built because of old CMake version to make this requirement more visible to users
llvm-svn: 176481
Dmitri Gribenko [Tue, 5 Mar 2013 13:05:56 +0000 (13:05 +0000)]
Documentation: use code highlighting
llvm-svn: 176480
Alexey Samsonov [Tue, 5 Mar 2013 12:23:07 +0000 (12:23 +0000)]
[Sanitizer] fix signed-unsigned mismatch in test and use correct order of EXPECT_EQ() args
llvm-svn: 176479
Alexey Samsonov [Tue, 5 Mar 2013 11:58:25 +0000 (11:58 +0000)]
[Sanitizer] Add methods back() and pop_back() to InternalVector. Patch by Sergey Matveev
llvm-svn: 176478
David Chisnall [Tue, 5 Mar 2013 11:20:04 +0000 (11:20 +0000)]
Add a test that we are passing the -fobjc-default-synthesize flag for Apple and
non-Apple platforms.
llvm-svn: 176477
Richard Smith [Tue, 5 Mar 2013 08:30:04 +0000 (08:30 +0000)]
Don't emit calls to virtual [[noreturn]] functions as noreturn; overrides of a
[[noreturn]] function are not required to also be [[noreturn]]. We still emit
calls to virtual __attribute__((noreturn)) functions as noreturn; unlike GCC,
we do require overriders to also be noreturn for that attribute.
llvm-svn: 176476
David Blaikie [Tue, 5 Mar 2013 06:21:38 +0000 (06:21 +0000)]
Add quotation marks to template names in diagnostics.
llvm-svn: 176474
Jason Molenda [Tue, 5 Mar 2013 03:33:59 +0000 (03:33 +0000)]
Fix ivar ordering for Process ctor to match the order they're
declared in the .h file.
llvm-svn: 176473
Jordan Rose [Tue, 5 Mar 2013 02:33:08 +0000 (02:33 +0000)]
scan-build: explicitly say "No bugs found" if there are no reports.
Patch by Martin Storsjo!
llvm-svn: 176472
NAKAMURA Takumi [Tue, 5 Mar 2013 02:18:59 +0000 (02:18 +0000)]
llvm/test/CodeGen/Mips/mips64-f128.ll: Add explicit -mtriple=mips64el-unknown-unknown to appease win32.
FIXME: Is it expected for win32 to affect mips targets?
llvm-svn: 176471
NAKAMURA Takumi [Tue, 5 Mar 2013 02:18:52 +0000 (02:18 +0000)]
llvm/test/CodeGen/Thumb/iabs.ll: Add explicit -mtriple=thumb-unknown-unknown to appease win32 hosts.
llvm-svn: 176470
Jordan Rose [Tue, 5 Mar 2013 01:27:54 +0000 (01:27 +0000)]
Silence a number of static analyzer warnings with assertions and such.
No functionality change.
llvm-svn: 176469
Fariborz Jahanian [Tue, 5 Mar 2013 01:05:07 +0000 (01:05 +0000)]
doc parsing. We want to issue a strong warning when
an @function comment is not followed by a function decl.
// rdar://
13094352
llvm-svn: 176468
Bill Wendling [Tue, 5 Mar 2013 01:00:45 +0000 (01:00 +0000)]
Remove unused #includes.
llvm-svn: 176467
Nick Kledzik [Tue, 5 Mar 2013 00:16:52 +0000 (00:16 +0000)]
update how libcompiler_rt.dylib links under libSystem.dylib on MacOSX
llvm-svn: 176466
Dmitri Gribenko [Tue, 5 Mar 2013 00:12:33 +0000 (00:12 +0000)]
Added summary option to cpp11-migrate tool
Added a summary option that enables output to stdout counting the number of
changes each transform has accepted, rejected or deferred.
Patch by Ariel Bernal.
llvm-svn: 176465
David Sehr [Tue, 5 Mar 2013 00:02:23 +0000 (00:02 +0000)]
The current X86 NOP padding uses one long NOP followed by the remainder in
one-byte NOPs. If the processor actually executes those NOPs, as it sometimes
does with aligned bundling, this can have a performance impact. From my
micro-benchmarks run on my one machine, a 15-byte NOP followed by twelve
one-byte NOPs is about 20% worse than a 15 followed by a 12. This patch
changes NOP emission to emit as many 15-byte (the maximum) as possible followed
by at most one shorter NOP.
llvm-svn: 176464
Jordan Rose [Mon, 4 Mar 2013 23:21:32 +0000 (23:21 +0000)]
[analyzer] Don't let cf_audited_transfer override CFRetain semantics.
We weren't treating a cf_audited_transfer CFRetain as returning +1 because
its name doesn't contain "Create" or "Copy". Oops! Fortunately, the
standard definitions of these functions are not marked audited.
<rdar://problem/
13339601>
llvm-svn: 176463
Daniel Malea [Mon, 4 Mar 2013 23:15:08 +0000 (23:15 +0000)]
Un-skipping tests affected by llvm.org/pr15256
patch by Ashok Thirumurthi!
llvm-svn: 176462
Dmitri Gribenko [Mon, 4 Mar 2013 23:06:15 +0000 (23:06 +0000)]
Comment parsing: refactor handling of command markers in AST
* Use the term 'command marker', because the semantics of 'backslash' and 'at'
commands are the same. (Talking about 'at commands' makes them look like a
special entity.)
* Sink the flag down into bitfields, reducing the size of AST nodes.
* Change the flag into an enum for clarity. Boolean function parameters are
not very clear.
* Add unittests for new tok::at_command tokens.
llvm-svn: 176461
Daniel Malea [Mon, 4 Mar 2013 23:04:53 +0000 (23:04 +0000)]
Fix makefile and re-enable test disabled due to llvm.org/pr15256
- fix is: don't pass incompatible -stdlib option when building with GCC
llvm-svn: 176460
Lang Hames [Mon, 4 Mar 2013 22:40:44 +0000 (22:40 +0000)]
Check isDiscardableIfUnused, rather than hasLocalLinkage, when bumping
GlobalValue linkage up to ExternalLinkage in the ExtractGV pass. This
prevents linkonce and linkonce_odr symbols from being DCE'd.
llvm-svn: 176459
Bob Wilson [Mon, 4 Mar 2013 22:37:49 +0000 (22:37 +0000)]
Add ARM v6m, v7m, and v7em architectures for Cortex-M series processors.
<rdar://problem/
11314476>
llvm-svn: 176458
Bob Wilson [Mon, 4 Mar 2013 22:37:46 +0000 (22:37 +0000)]
Tidy up lists of Cortex-A series processors, adding entries for A7.
Also fix a missing entry for cortex-r5 in one copy of getLLVMArchSuffixForARM.
llvm-svn: 176457
Bob Wilson [Mon, 4 Mar 2013 22:37:43 +0000 (22:37 +0000)]
Fix confused use of llvm::StringSwitch for armv7r architecture.
svn 170909 added support for cortex-r5 but in this case it was done
incorrectly. The last argument to StringSwitch.Cases() is the replacement
value, so by adding "cortex-r5" it changed the default cpu for armv7r to
cortex-r5 instead of cortex-r4.
llvm-svn: 176456
Akira Hatanaka [Mon, 4 Mar 2013 22:25:01 +0000 (22:25 +0000)]
[mips] Print move instructions.
"move $4, $5" is printed instead of "or $4, $5, $zero".
llvm-svn: 176455
Greg Clayton [Mon, 4 Mar 2013 21:46:16 +0000 (21:46 +0000)]
<rdar://problem/
13338643>
DWARF with .o files now uses 40-60% less memory!
Big fixes include:
- Change line table internal representation to contain "file addresses". Since each line table is owned by a compile unit that is owned by a module, it makes address translation into lldb_private::Address easy to do when needed.
- Removed linked address members/methods from lldb_private::Section and lldb_private::Address
- lldb_private::LineTable can now relink itself using a FileRangeMap to make it easier to re-link line tables in the future
- Added ObjectFile::ClearSymtab() so that we can get rid of the object file symbol tables after we parse them once since they are not needed and kept memory allocated for no reason
- Moved the m_sections_ap (std::auto_ptr to section list) and m_symtab_ap (std::auto_ptr to the lldb_private::Symtab) out of each of the ObjectFile subclasses and put it into lldb_private::ObjectFile.
- Changed how the debug map is parsed and stored to be able to:
- Lazily parse the debug map for each object file
- not require the address map for a .o file until debug information is linked for a .o file
llvm-svn: 176454
Jack Carter [Mon, 4 Mar 2013 21:36:11 +0000 (21:36 +0000)]
Mips specific inline assembler constraint 'R'
'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.
llvm-svn: 176453
Jack Carter [Mon, 4 Mar 2013 21:33:15 +0000 (21:33 +0000)]
Mips specific inline assembler constraint 'R'
'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.
llvm-svn: 176452
Han Ming Ong [Mon, 4 Mar 2013 21:25:51 +0000 (21:25 +0000)]
<rdar://problem/
13338758>
Make it configurable what to profile.
For Mac, we don't use the dirty page size yet and hence there is no need to gather that. This should be way better in not draining the battery since we are operating between 0% to 0.1% on the Mac after this change.
llvm-svn: 176451
Argyrios Kyrtzidis [Mon, 4 Mar 2013 20:33:40 +0000 (20:33 +0000)]
[PCH] In HeaderFileInfoTrait::EqualKey(), use FileManager::getFile() to compare two filenames, instead of llvm::sys::fs::equivalent().
llvm::sys::fs::equivalent() does 2 stat calls every time it's called. Use FileManager::getFile() to take advantage
of the stat caching that FileManager is providing.
llvm-svn: 176450
Dmitri Gribenko [Mon, 4 Mar 2013 20:23:16 +0000 (20:23 +0000)]
Comment parsing tests: move a test into a group of similar tests
llvm-svn: 176449
Fariborz Jahanian [Mon, 4 Mar 2013 20:08:47 +0000 (20:08 +0000)]
[comment parsing] source fidelity for tparam command too.
// rdar://
13066276
llvm-svn: 176448
Manuel Klimek [Mon, 4 Mar 2013 20:03:38 +0000 (20:03 +0000)]
Make sure to not split string literals at the first character.
llvm-svn: 176447
Tobias Grosser [Mon, 4 Mar 2013 19:49:51 +0000 (19:49 +0000)]
Print function names under --polly-report
llvm-svn: 176446
Dmitri Gribenko [Mon, 4 Mar 2013 19:39:33 +0000 (19:39 +0000)]
warn-documentation.cpp: reorganize tests
Tests are ordered by command in this file. It is nice to keep it that way.
llvm-svn: 176445
Fariborz Jahanian [Mon, 4 Mar 2013 18:53:41 +0000 (18:53 +0000)]
comment parsing. Missed a case of referring
to original command in diagnostic. // rdar://
13066276
llvm-svn: 176444
Eli Bendersky [Mon, 4 Mar 2013 18:20:31 +0000 (18:20 +0000)]
Reapply r176381, writing the CHECKs in a more forgiving manner to account for
running llvm-objdump on Darwin.
llvm-svn: 176443
Preston Gurd [Mon, 4 Mar 2013 18:13:57 +0000 (18:13 +0000)]
Bypass Slow Divides
* Only apply divide bypass optimization when not optimizing for size.
* Fixed bug caused by constant for 0 value of type Int32,
used dividend type to generate the constant instead.
* For atom x86-64 apply the divide bypass to use 16-bit divides instead of
64-bit divides when operand values are small enough.
* Added lit tests for 64-bit divide bypass.
Patch by Tyler Nowicki!
llvm-svn: 176442
Edwin Vane [Mon, 4 Mar 2013 17:51:00 +0000 (17:51 +0000)]
hasQualifer() matcher should return false if there's no qualifier
Instead of passing NULL on to sub-matcher, just return false. Updated tests and
regenerated docs.
Author: Tareq A Siraj <tareq.a.siraj@intel.com>
llvm-svn: 176441
Tom Stellard [Mon, 4 Mar 2013 17:40:53 +0000 (17:40 +0000)]
R600: Use the GPU type to determine the correct DataLayout v2
v2:
- Add R600_DOUBLE_OPS for RV670
- s/CPU/GPU/
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
llvm-svn: 176440
Tom Stellard [Mon, 4 Mar 2013 17:40:28 +0000 (17:40 +0000)]
R600: Clean up datalayout strings so they better match hardware capabilities
llvm-svn: 176439
Enrico Granata [Mon, 4 Mar 2013 17:20:57 +0000 (17:20 +0000)]
<rdar://problem/
12897838>
Making sure we do not try to copy memory at address 0 - that would make us crash
llvm-svn: 176438
Edwin Vane [Mon, 4 Mar 2013 16:56:04 +0000 (16:56 +0000)]
Adding failing LoopConvert testcase
LoopConvert isn't properly handling iterators whose dereference operator
returns by value. This test case demonstrates the failure.
See PR15437.
llvm-svn: 176437
Edwin Vane [Mon, 4 Mar 2013 16:35:04 +0000 (16:35 +0000)]
Properly identify 'this' as range-based for container
The Loop-Convert transform was mistransforming loops using 'this' implicitly.
Fixed and added tests.
Fixes PR15411.
llvm-svn: 176436
Daniel Jasper [Mon, 4 Mar 2013 13:43:19 +0000 (13:43 +0000)]
Format a line if a range in its leading whitespace was selected.
With [] marking the selected range, clang-format invoked on
[ ] int a;
Would so far not reformat anything. With this patch, it formats a
line if its leading whitespace is touched.
llvm-svn: 176435
Manuel Klimek [Mon, 4 Mar 2013 11:31:46 +0000 (11:31 +0000)]
Make the tutorial easier to compile by adding in some of the details.
Patch by Béatrice Creusillet.
llvm-svn: 176434
John McCall [Mon, 4 Mar 2013 07:35:41 +0000 (07:35 +0000)]
Correction to r176432: the bug actually fixed was <rdar://
13025708>.
llvm-svn: 176433
John McCall [Mon, 4 Mar 2013 07:34:02 +0000 (07:34 +0000)]
Centralize and refine the __unknown_anytype argument rules
and be sure to apply them whether or not the debugger gave
us a method declaration.
rdar://
12565338
llvm-svn: 176432
John McCall [Mon, 4 Mar 2013 06:32:36 +0000 (06:32 +0000)]
Fix the emission of the copy-initialization of a block capture
from a lambda capture when the capture is not trivially-copyable.
rdar://
13295759
llvm-svn: 176431
Shankar Easwaran [Mon, 4 Mar 2013 02:21:16 +0000 (02:21 +0000)]
[ELF] no functionality change, update dynamicTable functionality
llvm-svn: 176430
Chandler Carruth [Mon, 4 Mar 2013 02:07:55 +0000 (02:07 +0000)]
Check for warnings in a bunch of the linker invocations, and add one
with both -static-libgcc and -static on the commandline.
Fix a warning in the latter case due to a backwards short circuiting ||
operator in the driver. No real functionality changed here, just allows
the driver to properly consume -static-libgcc when -static is also
specified.
llvm-svn: 176429
John McCall [Mon, 4 Mar 2013 01:30:55 +0000 (01:30 +0000)]
Perform non-overload placeholder conversions on the operands
to a subscript operator.
rdar://
13332183
llvm-svn: 176428
Chandler Carruth [Mon, 4 Mar 2013 01:27:49 +0000 (01:27 +0000)]
Beef up the testing of our 'ld' invocation on linux to cover static
linking. About to fix a bug here and there was no good test case.
llvm-svn: 176427
Jia Liu [Mon, 4 Mar 2013 01:06:54 +0000 (01:06 +0000)]
Mips ISD typo
llvm-svn: 176426
Shankar Easwaran [Sun, 3 Mar 2013 22:10:57 +0000 (22:10 +0000)]
[lld][ELF] Add modified writer
llvm-svn: 176425
Shankar Easwaran [Sun, 3 Mar 2013 22:09:22 +0000 (22:09 +0000)]
[lld][ELF] rename to add new support in the ELF Writer
llvm-svn: 176424
Dmitri Gribenko [Sun, 3 Mar 2013 17:54:36 +0000 (17:54 +0000)]
Add an idea for a cpp11-migrate tool: TR1 migration
Idea by Marshall Clow.
llvm-svn: 176423
David Chisnall [Sun, 3 Mar 2013 17:50:06 +0000 (17:50 +0000)]
Remove unused check from test.
llvm-svn: 176422
Sean Silva [Sun, 3 Mar 2013 17:07:35 +0000 (17:07 +0000)]
[docs] Spelling
llvm-svn: 176421
David Chisnall [Sun, 3 Mar 2013 16:02:42 +0000 (16:02 +0000)]
Improve C11 atomics support:
- Generate atomicrmw operations in most of the cases when it's sensible to do
so.
- Don't crash in several common cases (and hopefully don't crash in more of
them).
- Add some better tests.
We now generate significantly better code for things like:
_Atomic(int) x;
...
x++;
On MIPS, this now generates a 4-instruction ll/sc loop, where previously it
generated about 30 instructions in two nested loops. On x86-64, we generate a
single lock incl, instead of a lock cmpxchgl loop (one instruction instead of
ten).
llvm-svn: 176420
David Chisnall [Sun, 3 Mar 2013 15:36:10 +0000 (15:36 +0000)]
Default to enabling default-synthesized ivars on all platforms
llvm-svn: 176419
Sean Silva [Sun, 3 Mar 2013 15:17:35 +0000 (15:17 +0000)]
[docs] Use vim code-block instead of console.
llvm-svn: 176418
Sean Silva [Sun, 3 Mar 2013 15:15:12 +0000 (15:15 +0000)]
.gitignore: ignore docs/_build
That is where the documentation gets built to.
I'm pretty much clueless about SVN; I would appreciate if someone more
knowledgeable about SVN made the equivalent change.
llvm-svn: 176417
Shankar Easwaran [Sun, 3 Mar 2013 07:37:17 +0000 (07:37 +0000)]
[ELF] rename Writer to ExecutableWriter
llvm-svn: 176416
Shankar Easwaran [Sun, 3 Mar 2013 07:34:56 +0000 (07:34 +0000)]
[ELF][Hexagon] add initial changes to add GOT/PLT
llvm-svn: 176415
Rafael Espindola [Sat, 2 Mar 2013 21:41:48 +0000 (21:41 +0000)]
Process #pragma weak only after we know the linkage of the function or variable
we are looking at.
llvm-svn: 176414
Jim Grosbach [Sat, 2 Mar 2013 20:16:24 +0000 (20:16 +0000)]
ARM: Creating a vector from a lane of another.
The VDUP instruction source register doesn't allow a non-constant lane
index, so make sure we don't construct a ARM::VDUPLANE node asking it to
do so.
rdar://
13328063
http://llvm.org/bugs/show_bug.cgi?id=13963
llvm-svn: 176413
Jim Grosbach [Sat, 2 Mar 2013 20:16:19 +0000 (20:16 +0000)]
Clean up code format a bit.
llvm-svn: 176412
Jim Grosbach [Sat, 2 Mar 2013 20:16:15 +0000 (20:16 +0000)]
Tidy up. Trailing whitespace.
llvm-svn: 176411
Arnold Schwaighofer [Sat, 2 Mar 2013 19:38:33 +0000 (19:38 +0000)]
ARM NEON: Fix v2f32 float intrinsics
Mark them as expand, they are not legal as our backend does not match them.
llvm-svn: 176410
Benjamin Kramer [Sat, 2 Mar 2013 15:52:55 +0000 (15:52 +0000)]
Make gen_my_std.h.py compatible with python 2.5 too.
llvm-svn: 176409
Nuno Lopes [Sat, 2 Mar 2013 11:36:24 +0000 (11:36 +0000)]
recommit r172363 & r171325 (reverted in r172756)
This adds minimalistic support for PHI nodes to llvm.objectsize() evaluation
fingers crossed so that it does break clang boostrap again..
llvm-svn: 176408
Nuno Lopes [Sat, 2 Mar 2013 11:23:34 +0000 (11:23 +0000)]
add getUnderlyingObjectSize()
this is similar to getObjectSize(), but doesnt subtract the offset
tweak the BasicAA code accordingly (per PR14988)
llvm-svn: 176407
Benjamin Kramer [Sat, 2 Mar 2013 09:24:42 +0000 (09:24 +0000)]
Make the UseAuto test case generator compatible with python 2.5.
llvm-svn: 176406
Jason Molenda [Sat, 2 Mar 2013 07:19:32 +0000 (07:19 +0000)]
ProcessMachCore had (until 2013-01-29) some simple checks to find a kernel
in a core file if it didn't start at the beginning of a memory segment.
I added more sophisticated kernel location code to DynamicLoaderDarwinKernel
and removed the simple one in ProcessMachCore. Unfortunately the kernel
DynamicLoader doesn't get a chance to search around in memory unless there's
a hint that this might be a kernel debug session. It was easy ot make the
kernel location code static in DynamicLoaderDarwinKernel and call it from
ProcessMachCore on the start of the session, so that's what I did.
<rdar://problem/
13326647>
llvm-svn: 176405
Peter Collingbourne [Sat, 2 Mar 2013 06:00:16 +0000 (06:00 +0000)]
CommandLineArgumentParser: handle single quotes.
Differential Revision: http://llvm-reviews.chandlerc.com/D482
llvm-svn: 176404
Arnold Schwaighofer [Sat, 2 Mar 2013 04:02:52 +0000 (04:02 +0000)]
X86 cost model: Adjust cost for custom lowered vector multiplies
This matters for example in following matrix multiply:
int **mmult(int rows, int cols, int **m1, int **m2, int **m3) {
int i, j, k, val;
for (i=0; i<rows; i++) {
for (j=0; j<cols; j++) {
val = 0;
for (k=0; k<cols; k++) {
val += m1[i][k] * m2[k][j];
}
m3[i][j] = val;
}
}
return(m3);
}
Taken from the test-suite benchmark Shootout.
We estimate the cost of the multiply to be 2 while we generate 9 instructions
for it and end up being quite a bit slower than the scalar version (48% on my
machine).
Also, properly differentiate between avx1 and avx2. On avx-1 we still split the
vector into 2 128bits and handle the subvector muls like above with 9
instructions.
Only on avx-2 will we have a cost of 9 for v4i64.
I changed the test case in test/Transforms/LoopVectorize/X86/avx1.ll to use an
add instead of a mul because with a mul we now no longer vectorize. I did
verify that the mul would be indeed more expensive when vectorized with 3
kernels:
for (i ...)
r += a[i] * 3;
for (i ...)
m1[i] = m1[i] * 3; // This matches the test case in avx1.ll
and a matrix multiply.
In each case the vectorized version was considerably slower.
radar://
13304919
llvm-svn: 176403