Bill Wendling [Thu, 4 Oct 2012 07:19:46 +0000 (07:19 +0000)]
Use method to query if there are attributes.
llvm-svn: 165213
Bill Wendling [Thu, 4 Oct 2012 07:18:12 +0000 (07:18 +0000)]
Add method to query for NoCapture attribute.
llvm-svn: 165212
Bill Wendling [Thu, 4 Oct 2012 07:17:46 +0000 (07:17 +0000)]
Use method to query for NoAlias attribute.
llvm-svn: 165211
Bill Wendling [Thu, 4 Oct 2012 07:08:30 +0000 (07:08 +0000)]
Use attribute query methods.
llvm-svn: 165210
Bill Wendling [Thu, 4 Oct 2012 06:58:52 +0000 (06:58 +0000)]
Use method to query for attributes.
llvm-svn: 165209
Bill Wendling [Thu, 4 Oct 2012 06:52:09 +0000 (06:52 +0000)]
Add method to query for 'NoAlias' attribute on call/invoke instructions.
llvm-svn: 165208
Bill Wendling [Thu, 4 Oct 2012 06:49:41 +0000 (06:49 +0000)]
Use method to query for attributes.
llvm-svn: 165207
Bill Wendling [Thu, 4 Oct 2012 06:48:57 +0000 (06:48 +0000)]
Query for attributes via the correct method call.
llvm-svn: 165206
Bill Wendling [Thu, 4 Oct 2012 06:43:21 +0000 (06:43 +0000)]
Use new accessor methods to query for attributes.
llvm-svn: 165205
Kostya Serebryany [Thu, 4 Oct 2012 05:28:50 +0000 (05:28 +0000)]
[tsan] add 3 internal flags for fine-grain control of what is instrumented and what is not.
llvm-svn: 165204
Craig Topper [Thu, 4 Oct 2012 05:18:31 +0000 (05:18 +0000)]
Remove template from function that is only used with one type after r165092.
llvm-svn: 165203
Nick Lewycky [Thu, 4 Oct 2012 04:58:17 +0000 (04:58 +0000)]
Add missing comment for mangling.
llvm-svn: 165202
Lang Hames [Thu, 4 Oct 2012 04:50:53 +0000 (04:50 +0000)]
Fix reg mask slot test, and preserve LiveIntervals and VirtRegMap in the PBQP
allocator. Fixes PR13945.
llvm-svn: 165201
Sean Silva [Thu, 4 Oct 2012 04:41:27 +0000 (04:41 +0000)]
docs: Fix typo on front page
llvm-svn: 165200
Jack Carter [Thu, 4 Oct 2012 04:03:53 +0000 (04:03 +0000)]
Implement methods that enable expansion of load immediate
macro instruction (li) in the assembler.
We have identified three possible expansions depending on
the size of immediate operand:
1) for 0 ≤ j ≤ 65535.
li d,j =>
ori d,$zero,j
2) for −32768 ≤ j < 0.
li d,j =>
addiu d,$zero,j
3) for any other value of j that is representable as a 32-bit integer.
li d,j =>
lui d,hi16(j)
ori d,d,lo16(j)
All of the above have been implemented in ths patch.
Contributer: Vladimir Medic
llvm-svn: 165199
Sean Silva [Thu, 4 Oct 2012 03:56:23 +0000 (03:56 +0000)]
docs: Sphinxify GoldPlugin document.
llvm-svn: 165198
Lang Hames [Thu, 4 Oct 2012 03:23:25 +0000 (03:23 +0000)]
Fail early with a clear assert if an operation with multiple uses somehow ends
up being contracted during codegen.
llvm-svn: 165197
Lang Hames [Thu, 4 Oct 2012 03:07:37 +0000 (03:07 +0000)]
Test file-scoped FP_CONTRACT pragma.
llvm-svn: 165196
Eli Friedman [Thu, 4 Oct 2012 02:36:51 +0000 (02:36 +0000)]
Permanently end the whole "pragma got handled by the parser too early"
mess by handling all pragmas which the parser touches uniformly.
<rdar://problem/
12248901>, etc.
llvm-svn: 165195
Jack Carter [Thu, 4 Oct 2012 02:29:46 +0000 (02:29 +0000)]
This patch is a partial implementation of mips .set assembler directive. Directive is defined as follows:
.set option
The patch implements following options
at - lets the assembler use the $at register for macros,
but generates warnings if the source program uses $at
noat - let source programs use $at without issuingwarnings.
noreorder - prevents the assembler from reordering machine
language instructions.
nomacro - causes the assembler to print a warning whenever
an assembler operation generates more than one
machine language instruction.
macro - lets the assembler generate multiple machine instructions
from a single assembler instruction
reorder - lets the assembler reorder machine language
instructions to improve performance
The above variants are parsed and their boolean values set or unset.
The code to actually use them will come later.
Following options are not implemented yet:
nomips16
nomicromips
move
nomove
Contributer: Vladimir Medic
llvm-svn: 165194
Jason Molenda [Thu, 4 Oct 2012 02:16:06 +0000 (02:16 +0000)]
Patch submitted by Dan Malea -- I introduced a dependency between
ProcessGDBRemote and DynamicLoaderDarwinKernel and a patch was needed
to get this building on Linux. Thanks!
llvm-svn: 165193
Jason Molenda [Thu, 4 Oct 2012 02:06:30 +0000 (02:06 +0000)]
Remove a few debug printf's that were left in ProcessKDP.
llvm-svn: 165192
Bill Wendling [Thu, 4 Oct 2012 01:44:41 +0000 (01:44 +0000)]
I'm getting these errors with r165159:
/Users/void/llvm/llvm-tot.src/projects/compiler-rt/lib/arm/eqdf2vfp.S:22:2: error: instruction requires: VFP2
vmov d6, r0, r1
^
/Users/void/llvm/llvm-tot.src/projects/compiler-rt/lib/arm/eqdf2vfp.S:23:2: error: instruction requires: VFP2
vmov d7, r2, r3
^
/Users/void/llvm/llvm-tot.src/projects/compiler-rt/lib/arm/eqdf2vfp.S:24:2: error: instruction requires: VFP2
vcmp.f64 d6, d7
^
/Users/void/llvm/llvm-tot.src/projects/compiler-rt/lib/arm/eqdf2vfp.S:25:2: error: instruction requires: VFP2
vmrs apsr_nzcv, fpscr
^
llvm-svn: 165191
Sean Silva [Thu, 4 Oct 2012 00:54:27 +0000 (00:54 +0000)]
tblgen: Whitespace and 80-col cleanup.
llvm-svn: 165190
Jordan Rose [Thu, 4 Oct 2012 00:47:59 +0000 (00:47 +0000)]
Make sure 'prefix-clang++' is aliased to 'prefix-clang', not 'clang'.
When aliasing tools, rather than using the base TOOLEXENAME, we should
instead use the built tool's basename (for 'make') or the installed
tool's basename (for 'make install').
This should not cause any changes for anyone building unprefixed 'clang'
and 'clang++' tools.
Patch by Rick Foos!
llvm-svn: 165189
Andrew Trick [Thu, 4 Oct 2012 00:24:34 +0000 (00:24 +0000)]
Enable -schedmodel, but prefer itineraries until we have more benchmark data.
llvm-svn: 165188
Jakub Staszak [Wed, 3 Oct 2012 23:59:47 +0000 (23:59 +0000)]
Fix PR13967.
llvm-svn: 165187
Enrico Granata [Wed, 3 Oct 2012 23:53:45 +0000 (23:53 +0000)]
<rdar://problem/
12099592> Adding back a bunch of code-running summaries
llvm-svn: 165186
Bill Wendling [Wed, 3 Oct 2012 23:52:10 +0000 (23:52 +0000)]
Add an explicit -object_path_lto flag during linking with a uniquified temporary
file name if building Apple-style.
llvm-svn: 165185
Bill Wendling [Wed, 3 Oct 2012 23:49:57 +0000 (23:49 +0000)]
Add an explicit -object_path_lto flag during linking with a uniquified temporary
file name if building Apple-style.
llvm-svn: 165184
Michael Liao [Wed, 3 Oct 2012 23:43:52 +0000 (23:43 +0000)]
Clean up tailing whitespaces
llvm-svn: 165182
Hemant Kulkarni [Wed, 3 Oct 2012 23:27:33 +0000 (23:27 +0000)]
Added missing break in StockSectionChunk constructor.
Removed architecture dependent .sbss section creation.
Updated test case to show the change in section types and removal of a sbss section.
llvm-svn: 165181
Andrew Trick [Wed, 3 Oct 2012 23:06:32 +0000 (23:06 +0000)]
Added instregex support to TableGen subtarget emitter.
This allows the processor-specific machine model to override selected
base opcodes without any fanciness.
e.g. InstRW<[CoreXWriteVANDP], (instregex "VANDP")>.
llvm-svn: 165180
Andrew Trick [Wed, 3 Oct 2012 23:06:28 +0000 (23:06 +0000)]
TableGen subtarget emitter, nearly first class support for SchedAlias.
A processor can now arbitrarily alias one SchedWrite onto
another. Only the SchedAlias definition need be within the processor
model. The aliased SchedWrite may be a SchedVariant, WriteSequence, or
transitively refer to another alias.
llvm-svn: 165179
Andrew Trick [Wed, 3 Oct 2012 23:06:25 +0000 (23:06 +0000)]
Cleanup TableGen subtarget emitter.
llvm-svn: 165178
Fariborz Jahanian [Wed, 3 Oct 2012 22:39:32 +0000 (22:39 +0000)]
use ';' instead of '-' in the note part of my last patch.
llvm-svn: 165177
Jim Ingham [Wed, 3 Oct 2012 22:31:30 +0000 (22:31 +0000)]
Don't turn on the debugserver log by default.
llvm-svn: 165176
Chad Rosier [Wed, 3 Oct 2012 22:18:51 +0000 (22:18 +0000)]
Update test case for r165174.
llvm-svn: 165175
Chad Rosier [Wed, 3 Oct 2012 22:18:38 +0000 (22:18 +0000)]
[ms-inline asm] Default to the 'm' constraint. This matches the behavior of the
MSVC compiler.
llvm-svn: 165174
Chad Rosier [Wed, 3 Oct 2012 22:06:44 +0000 (22:06 +0000)]
[ms-inline asm] Add support in the X86AsmPrinter for printing memory references
in the Intel syntax.
The MC layer supports emitting in the Intel syntax, but this would require the
inline assembly MachineInstr to be lowered to an MCInst before emission. This
is potential future work, but for now emitting directly from the MachineInstr
suffices.
llvm-svn: 165173
Jack Carter [Wed, 3 Oct 2012 21:58:54 +0000 (21:58 +0000)]
This patch moves from using a hard coded number (4)
for the number of bytes in a particular instruction
to using
const MCInstrDesc &Desc = MCII.get(TmpInst.getOpcode());
Desc.getSize()
This is necessary with the advent of 16 bit instructions with
mips16 and micromips. It is also puts Mips in compliance with
the other targets for getting instruction size.
llvm-svn: 165171
Sid Manning [Wed, 3 Oct 2012 21:46:48 +0000 (21:46 +0000)]
* Return correct size and alignment for common symbols.
llvm-svn: 165170
Enrico Granata [Wed, 3 Oct 2012 21:31:35 +0000 (21:31 +0000)]
<rdar://problem/
12408181> Fixing a bug where we would try to look for types in a module, and then fail to look for them anywhere else because the same SymbolContext was being passed everywhere
llvm-svn: 165169
Sean Silva [Wed, 3 Oct 2012 21:31:08 +0000 (21:31 +0000)]
tblgen: Remove last traces of old TableGenMain API.
llvm-svn: 165168
Sean Silva [Wed, 3 Oct 2012 21:29:30 +0000 (21:29 +0000)]
tblgen: Migrate clang-tblgen to new TableGenMain API.
llvm-svn: 165167
Sean Silva [Wed, 3 Oct 2012 21:29:19 +0000 (21:29 +0000)]
tblgen: Migrate llvm-tblgen to new TableGenMain API.
llvm-svn: 165166
Sean Silva [Wed, 3 Oct 2012 21:29:18 +0000 (21:29 +0000)]
tblgen: Put new TableGenMain API in place.
In order to avoid rev-lock with Clang when moving to the new API, also
preserve the current API temporarily and insert a shim to implement the
new API in terms of the old.
llvm-svn: 165165
Bill Wendling [Wed, 3 Oct 2012 21:19:35 +0000 (21:19 +0000)]
Add function to return return attributes.
llvm-svn: 165164
Bill Wendling [Wed, 3 Oct 2012 21:17:09 +0000 (21:17 +0000)]
Update to use the predicate methods to query if an attribute exists.
llvm-svn: 165163
Bill Wendling [Wed, 3 Oct 2012 21:08:21 +0000 (21:08 +0000)]
Remove the directory that these are already in.
llvm-svn: 165162
Argyrios Kyrtzidis [Wed, 3 Oct 2012 21:05:51 +0000 (21:05 +0000)]
[libclang] When indexing, invoke the importedASTFile for PCH files as well.
llvm-svn: 165161
Argyrios Kyrtzidis [Wed, 3 Oct 2012 21:05:44 +0000 (21:05 +0000)]
[libclang] Simplify indexing of module imports by handling implicit
imports via ImportDecls.
llvm-svn: 165160
Bob Wilson [Wed, 3 Oct 2012 21:03:42 +0000 (21:03 +0000)]
Back out my temporary workaround for Apple buildbots.
--- Reverse-merging r164909 into '.':
U make/platform/clang_darwin.mk
llvm-svn: 165159
Richard Smith [Wed, 3 Oct 2012 21:02:25 +0000 (21:02 +0000)]
PR14004: Fix typo in documentation.
llvm-svn: 165158
Benjamin Kramer [Wed, 3 Oct 2012 20:58:09 +0000 (20:58 +0000)]
Fix invalid reads by memcmp.
Str may be smaller than Start->Name here. Use strncmp to avoid scanning past the
end. Found by valgrind.
llvm-svn: 165157
Benjamin Kramer [Wed, 3 Oct 2012 20:58:04 +0000 (20:58 +0000)]
Always initialize FPContractable.
false is used as a baseline here, we may want to allow contraction in some of
the cases. Found by valgrind.
llvm-svn: 165156
Howard Hinnant [Wed, 3 Oct 2012 20:48:05 +0000 (20:48 +0000)]
Holger Arnold: Correct the use and testing of __GNUC__ and __GNUC_MINOR__ in <__config>.
llvm-svn: 165151
Michael J. Spencer [Wed, 3 Oct 2012 19:58:10 +0000 (19:58 +0000)]
[Options] Store the owning OptTable in Option so it can construct Group and Alias.
llvm-svn: 165150
Simon Atanasyan [Wed, 3 Oct 2012 19:52:37 +0000 (19:52 +0000)]
Remove useless parameter "WantFile" from Driver::GetProgramPath().
This parameter is useless because nowhere used explicitly and always
gets its default value - "false".
The patch reviewed by Rafael Espindola.
llvm-svn: 165149
Nadav Rotem [Wed, 3 Oct 2012 19:30:31 +0000 (19:30 +0000)]
Fix a cycle in the DAG. In this code we replace multiple loads with a single load and
multiple stores with a single load. We create the wide loads and stores (and their chains)
before we remove the scalar loads and stores and fix the DAG chain. We attempted to merge
loads with a different chain. When that happened, the assumption that it is safe to RAUW
broke and a cycle was introduced.
llvm-svn: 165148
Nick Kledzik [Wed, 3 Oct 2012 19:27:25 +0000 (19:27 +0000)]
Use unsigned long long instead of uin64_t for OS where that matters.
llvm-svn: 165147
Sean Callanan [Wed, 3 Oct 2012 19:23:27 +0000 (19:23 +0000)]
An API in Clang got renamed; fixing LLDB to match.
llvm-svn: 165144
Bill Schmidt [Wed, 3 Oct 2012 19:18:57 +0000 (19:18 +0000)]
This patch enables general varargs support for the 64-bit PPC SVR4 ABI.
Most of the pieces for this were already in place, but a proper EmitVAArg
is needed for aggregates and complex numbers to be handled. Although the
va_list for 64-bit PowerPC SVR4 consists of GPRs 3 through 10 together with
the overflow portion of the parameter save area, we can treat va_list as
pointing to contiguous memory for all parameters, since the back end forces
the parameter GPRs to memory for varargs functions.
There is no need at this time to model parameters and return values beyond
what the DefaultABIInfo provides.
llvm-svn: 165143
Fariborz Jahanian [Wed, 3 Oct 2012 19:05:41 +0000 (19:05 +0000)]
Fix a typo in my last patch reported by Erik Schwiebert.
llvm-svn: 165142
Chad Rosier [Wed, 3 Oct 2012 19:00:20 +0000 (19:00 +0000)]
Typos.
llvm-svn: 165141
Benjamin Kramer [Wed, 3 Oct 2012 18:54:36 +0000 (18:54 +0000)]
Don't call getAsUnsignedInteger directly, it fails to compile if uint64_t is not "unsigned long long".
while there add more test cases.
llvm-svn: 165140
Douglas Gregor [Wed, 3 Oct 2012 18:38:43 +0000 (18:38 +0000)]
Remove ASTReader::needPendingInstantiation(), introduced in r164993,
which is neither correct nor necessary. The use of this routine was
eliminated by r165137.
llvm-svn: 165139
Douglas Gregor [Wed, 3 Oct 2012 18:36:10 +0000 (18:36 +0000)]
Add some FIXMEs to the ASTReader code
llvm-svn: 165138
Douglas Gregor [Wed, 3 Oct 2012 18:34:48 +0000 (18:34 +0000)]
Revert most of the functionality in r165001. Instead, make sure that
the ASTReader doesn't attach a body to a function that is already
defined elsewhere.
llvm-svn: 165137
Nick Kledzik [Wed, 3 Oct 2012 18:15:27 +0000 (18:15 +0000)]
Add getAsUnsignedInteger test case that checks that known bad values are rejected
llvm-svn: 165136
Bill Wendling [Wed, 3 Oct 2012 18:10:49 +0000 (18:10 +0000)]
No need to call functions which do the same thing as the default.
llvm-svn: 165135
Bill Wendling [Wed, 3 Oct 2012 18:08:57 +0000 (18:08 +0000)]
Remove assert that's too restrictive.
llvm-svn: 165134
Fariborz Jahanian [Wed, 3 Oct 2012 17:55:29 +0000 (17:55 +0000)]
objective-C arc: Warn under arc about a use of an ivar inside a block
that doesn't have a 'self' as this implicitly captures 'self' and could
create retain cycles. Provide fixit. // rdar://
11194874
llvm-svn: 165133
Bill Wendling [Wed, 3 Oct 2012 17:54:26 +0000 (17:54 +0000)]
Add methods which query for the specific attribute instead of using the
enums. This allows for better encapsulation of the Attributes class.
llvm-svn: 165132
Simon Atanasyan [Wed, 3 Oct 2012 17:46:38 +0000 (17:46 +0000)]
Implement Adnroid MIPS toolchain support:
1. Add mipsel-linux-android to the list of valid MIPS target triples.
2. Add <gcc install path>/mips-r2 to the list of toolchain specific path
prefixes if target is mipsel-linux-android.
The patch reviewed by Logan Chien.
llvm-svn: 165131
Preston Gurd [Wed, 3 Oct 2012 16:52:40 +0000 (16:52 +0000)]
Fix failure of newly added test, by using %clang instead of %clang_cc1
and by specifying a target.
llvm-svn: 165130
Preston Gurd [Wed, 3 Oct 2012 16:37:56 +0000 (16:37 +0000)]
Adds a test to verify that Clang does the optimization to use a
fast div/rem instruction (for Intel Atom).
Test case for llvm commit 165126.
Patch by Tyler Nowicki.
llvm-svn: 165129
Tim Northover [Wed, 3 Oct 2012 16:29:42 +0000 (16:29 +0000)]
Implement .rel relocation for R_ARM_ABS32 in MCJIT.
Patch by Amara Emerson.
llvm-svn: 165128
Preston Gurd [Wed, 3 Oct 2012 16:11:44 +0000 (16:11 +0000)]
This Patch corrects a problem whereby the optimization to use a faster divide
instruction (for Intel Atom) was not being done by Clang, because
the type context used by Clang is not the default context.
It fixes the problem by getting the global context types for each div/rem
instruction in order to compare them against the types in the BypassTypeMap.
Tests for this will be done as a separate patch to Clang.
Patch by Tyler Nowicki.
llvm-svn: 165126
Nadav Rotem [Wed, 3 Oct 2012 16:11:15 +0000 (16:11 +0000)]
A DAGCombine optimization for mergeing consecutive stores to memory. The optimization
is not profitable in many cases because modern processors perform multiple stores
in parallel and merging stores prior to merging requires extra work. We handle two main cases:
1. Store of multiple consecutive constants:
q->a = 3;
q->4 = 5;
In this case we store a single legal wide integer.
2. Store of multiple consecutive loads:
int a = p->a;
int b = p->b;
q->a = a;
q->b = b;
In this case we load/store either ilegal vector registers or legal wide integer registers.
llvm-svn: 165125
Jordan Rose [Wed, 3 Oct 2012 16:00:32 +0000 (16:00 +0000)]
Revert "InlineObjCInstanceMethod.m: Remove lines introduced in r165079."
...and fix the run line so that the expected warnings are the same on
all platforms.
This reverts r165088 /
d09074f0ca06626914108f1c0d4e70adeb851e01.
llvm-svn: 165124
Preston Gurd [Wed, 3 Oct 2012 15:55:13 +0000 (15:55 +0000)]
Set up MCSchedModel after detecting the CPU type in X86SubTarget.
Corrects a problem whereby MCSchedModel was not being set up when
the CPU type was auto-detected.
Patch by Andy Zhang.
llvm-svn: 165122
Alexander Potapenko [Wed, 3 Oct 2012 15:09:17 +0000 (15:09 +0000)]
Set ASAN_NEEDS_SEGV=0 on Android only.
llvm-svn: 165120
Benjamin Kramer [Wed, 3 Oct 2012 14:35:38 +0000 (14:35 +0000)]
clang-check: Add clangRewriteCore.a to the Makefile build to make it link again.
llvm-svn: 165119
Benjamin Kramer [Wed, 3 Oct 2012 14:21:33 +0000 (14:21 +0000)]
Matching block names with FileCheck requires asserts.
llvm-svn: 165118
Benjamin Kramer [Wed, 3 Oct 2012 14:15:39 +0000 (14:15 +0000)]
CodeGen: Fix a silly typo when emitting subs of block addresses.
Part of PR14005.
llvm-svn: 165117
Nico Weber [Wed, 3 Oct 2012 13:39:49 +0000 (13:39 +0000)]
When mangling an APSInt with the ms abi, make sure to look at all nibbles.
Currently, it's ignored if the number of set bits isn't divisible by 4.
llvm-svn: 165116
Daniel Jasper [Wed, 3 Oct 2012 13:28:43 +0000 (13:28 +0000)]
As opposed to the clang-fixit tool described on
http://clang.llvm.org/docs/ClangTools.html, this adds -fixit option to
clang-check. Thus, clang-check can become a general-purpose tool to run
clang capitalizing on the info stored in a compilation database.
Review: http://llvm-reviews.chandlerc.com/D51
llvm-svn: 165110
Dmitry Vyukov [Wed, 3 Oct 2012 13:19:20 +0000 (13:19 +0000)]
tsan: update the test for new atomic enums
llvm-svn: 165109
Dmitry Vyukov [Wed, 3 Oct 2012 13:13:54 +0000 (13:13 +0000)]
tsan: update the test for new atomic enums
llvm-svn: 165108
Dmitry Vyukov [Wed, 3 Oct 2012 13:00:57 +0000 (13:00 +0000)]
tsan: prepare for migration to new memory_order enum values (ABI compatible)
llvm-svn: 165107
Dmitry Vyukov [Wed, 3 Oct 2012 13:00:13 +0000 (13:00 +0000)]
tsan: prepare for migration to new memory_order enum values (ABI compatible)
llvm-svn: 165106
Logan Chien [Wed, 3 Oct 2012 09:26:43 +0000 (09:26 +0000)]
Fix typo in comments.
llvm-svn: 165105
Dmitri Gribenko [Wed, 3 Oct 2012 09:04:56 +0000 (09:04 +0000)]
Comment to XML conversion: escape XML special chars correctly; use correct
regex for version tuples.
llvm-svn: 165104
Bill Wendling [Wed, 3 Oct 2012 08:39:19 +0000 (08:39 +0000)]
The top-level clang Makefile is #included into other Makefiles. (sigh) So we
can't have the logic here to add in the 'tools/{driver,libclang}' directories,
because they will be added in for ALL Makefiles which #include the top-level
one. Place the logic into the 'tools' Makefile.
llvm-svn: 165103
Silviu Baranga [Wed, 3 Oct 2012 08:29:36 +0000 (08:29 +0000)]
Fixed a bug in the ExecutionDependencyFix pass that caused dependencies to not propagate through implicit defs.
llvm-svn: 165102
Chandler Carruth [Wed, 3 Oct 2012 08:26:28 +0000 (08:26 +0000)]
Fix an issue where we failed to adjust the alignment constraint on
a memcpy to reflect that '0' has a different meaning when applied to
a load or store. Now we correctly use underaligned loads and stores for
the test case added.
llvm-svn: 165101
Chandler Carruth [Wed, 3 Oct 2012 08:14:02 +0000 (08:14 +0000)]
Try to use a better set of abstractions for computing the alignment
necessary during rewriting. As part of this, fix a real think-o here
where we might have left off an alignment specification when the address
is in fact underaligned. I haven't come up with any way to trigger this,
as there is always some other factor that reduces the alignment, but it
certainly might have been an observable bug in some way I can't think
of. This also slightly changes the strategy for placing explicit
alignments on loads and stores to only do so when the alignment does not
match that required by the ABI. This causes a few redundant alignments
to go away from test cases.
I've also added a couple of tests that really push on the alignment that
we end up with on loads and stores. More to come here as I try to fix an
underlying bug I have conjectured and produced test cases for, although
it's not clear if this bug is the one currently hitting dragonegg's
gcc47 bootstrap.
llvm-svn: 165100
Eric Christopher [Wed, 3 Oct 2012 08:10:01 +0000 (08:10 +0000)]
Revert 165051-165049 while looking into the foreach.m failure in
more detail.
llvm-svn: 165099
Bill Wendling [Wed, 3 Oct 2012 08:07:20 +0000 (08:07 +0000)]
Add the missing backslash-newline which was causing make errors.
llvm-svn: 165098