Hal Finkel [Thu, 14 Feb 2013 22:38:04 +0000 (22:38 +0000)]
BBVectorize: Remove the remaining instances of std::multimap
All instances of std::multimap have now been replaced by
DenseMap<K, std::vector<V> >, and this yields a speedup of 5% on the
csa.ll test case from PR15222.
No functionality change intended.
llvm-svn: 175216
Hal Finkel [Thu, 14 Feb 2013 22:37:09 +0000 (22:37 +0000)]
BBVectorize: Don't store candidate pairs in a std::multimap
This is another commit on the road to removing std::multimap from
BBVectorize. This gives an ~1% speedup on the csa.ll test case
in PR15222.
No functionality change intended.
llvm-svn: 175215
Fariborz Jahanian [Thu, 14 Feb 2013 22:33:34 +0000 (22:33 +0000)]
objective-C: synthesize properties in order of their
declarations to synthesize their ivars in similar
determinstic order so they are laid out in
a determinstic order. // rdar://
13192366
llvm-svn: 175214
Filipe Cabecinhas [Thu, 14 Feb 2013 22:02:57 +0000 (22:02 +0000)]
Bring lldb up to date with clang revision 175141.
llvm-svn: 175213
Jakub Staszak [Thu, 14 Feb 2013 21:50:09 +0000 (21:50 +0000)]
Simplify code. Remove "else after return".
llvm-svn: 175212
Greg Clayton [Thu, 14 Feb 2013 21:09:56 +0000 (21:09 +0000)]
<rdar://problem/
13218655>
"target modules add" should resolve bundle executables, as should anything else that tries to create a module from a bundle path.
llvm-svn: 175210
Chad Rosier [Thu, 14 Feb 2013 20:44:07 +0000 (20:44 +0000)]
Update comment.
llvm-svn: 175209
Michael J. Spencer [Thu, 14 Feb 2013 20:32:00 +0000 (20:32 +0000)]
[Core,Driver,ELF] Differentiate static and dynamic executables.
This also adds a simple relocation change for dynamic executables to
x86-64 ELF.
llvm-svn: 175208
Michael J. Spencer [Thu, 14 Feb 2013 20:24:38 +0000 (20:24 +0000)]
[ELF][Writer] Refactor Section to not have atoms. Move atoms into AtomSection.
The purpose of this change is to simplify creating non-atom sections.
Previously _contentType, _sectionKind and _order were used for multiple
purposes and collided in places. This moves all of the Atom specific logic down
into AtomSection and makes Section just have raw Elf_Shdr flags.
llvm-svn: 175207
Dmitri Gribenko [Thu, 14 Feb 2013 20:07:36 +0000 (20:07 +0000)]
libclang: remove reinterpret_casts by using SourceLocation::getFromPtrEncoding
directly instead of casting a pointer to an integer
llvm-svn: 175206
Jyotsna Verma [Thu, 14 Feb 2013 19:57:17 +0000 (19:57 +0000)]
Hexagon: Change insn class to support instruction encoding.
This patch doesn't introduce any functionality changes.
It adds some new fields to the Hexagon instruction classes and
changes their layout to support instruction encoding.
llvm-svn: 175205
Bill Wendling [Thu, 14 Feb 2013 19:40:27 +0000 (19:40 +0000)]
s/bool/LLVMBool/
llvm-svn: 175204
Bill Wendling [Thu, 14 Feb 2013 19:39:14 +0000 (19:39 +0000)]
s/bool/LLVMBool/
llvm-svn: 175203
Jim Ingham [Thu, 14 Feb 2013 19:30:35 +0000 (19:30 +0000)]
One to many always's.
llvm-svn: 175202
Jim Ingham [Thu, 14 Feb 2013 19:17:49 +0000 (19:17 +0000)]
Mention the inline-breakpoint-strategy in the lldb-gdb.html file.
llvm-svn: 175201
Kay Tiong Khoo [Thu, 14 Feb 2013 19:15:14 +0000 (19:15 +0000)]
death to extra whitespace
llvm-svn: 175200
Bill Wendling [Thu, 14 Feb 2013 19:11:28 +0000 (19:11 +0000)]
Add two new functions to the C API:
LLVMCreateMemoryBufferWithMemoryRange - exposes MemoryBuffer::getMemBuffer
LLVMCreateMemoryBufferWithMemoryRangeCopy - exposes MemoryBuffer::getMemBufferCopy
Patch by Moritz Maxeiner!
llvm-svn: 175199
Greg Clayton [Thu, 14 Feb 2013 19:11:23 +0000 (19:11 +0000)]
<rdar://problem/
13064893>
Poor network connections aren't handled well; commands fail instead of retrying.
llvm-svn: 175198
Jim Ingham [Thu, 14 Feb 2013 19:10:36 +0000 (19:10 +0000)]
Make it clear that if you #include .c/.cpp/.m/.mm etc files, you will have to
change the breakpoint-inline-strategy for the breakpoints to take.
<rdar://problem/
13189024>
llvm-svn: 175197
Kay Tiong Khoo [Thu, 14 Feb 2013 19:08:21 +0000 (19:08 +0000)]
added basic support for Intel ADX instructions
-feature flag, instructions definitions, test cases
llvm-svn: 175196
Fariborz Jahanian [Thu, 14 Feb 2013 19:07:19 +0000 (19:07 +0000)]
objective-C: When implementing custom accessor method for
a property, the -Wdirect-ivar-access should not warn when
accessing the property's synthesized instance variable.
// rdar://
13142820
llvm-svn: 175195
Jordan Rose [Thu, 14 Feb 2013 19:06:11 +0000 (19:06 +0000)]
[analyzer] Try constant-evaluation for all variables, not just globals.
In C++, constants captured by lambdas (and blocks) are not actually stored
in the closure object, since they can be expanded at compile time. In this
case, they will have no binding when we go to look them up. Previously,
RegionStore thought they were uninitialized stack variables; now, it checks
to see if they are a constant we know how to evaluate, using the same logic
as r175026.
This particular code path is only for scalar variables. Constant arrays and
structs are still unfortunately unhandled; we'll need a stronger solution
for those.
This may have a small performance impact, but only for truly-undefined
local variables, captures in a non-inlined block, and non-constant globals.
Even then, in the non-constant case we're only doing a quick type check.
<rdar://problem/
13105553>
llvm-svn: 175194
Michel Danzer [Thu, 14 Feb 2013 19:03:25 +0000 (19:03 +0000)]
R600/SI: Fix int_SI_fs_interp_constant
The important fix is that the constant interpolation value is stored in the
parameter slot P0, which is encoded as 2.
In addition, drop the SI_INTERP_CONST pseudo instruction, pass the parameter
slot as an operand to V_INTERP_MOV_F32 instead of hardcoding it there, and
add a special operand class for the parameter slots for type checking and
pretty printing.
NOTE: This is a candidate for the Mesa stable branch.
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175193
Dmitry Vyukov [Thu, 14 Feb 2013 18:41:42 +0000 (18:41 +0000)]
include/llvm/Object/ELF.h: do debug checks only when NDEBUG
validateSymbol() is called all over the place, and it seems it's a debug check.
It significantly speedups llvm-symbolizer used in tsan/asan/msan. validateSymbol() is the second hot function and accounts for 15% of runtime.
llvm-svn: 175192
Greg Clayton [Thu, 14 Feb 2013 18:39:30 +0000 (18:39 +0000)]
<rdar://problem/
12693921>
Rename the monitor command from "qCmd" (incorrect) to "qRcmd".
llvm-svn: 175191
Nadav Rotem [Thu, 14 Feb 2013 18:28:52 +0000 (18:28 +0000)]
Dont merge consecutive loads/stores into vectors when noimplicitfloat is used.
llvm-svn: 175190
Nadav Rotem [Thu, 14 Feb 2013 18:20:48 +0000 (18:20 +0000)]
80-col
llvm-svn: 175189
Jyotsna Verma [Thu, 14 Feb 2013 18:15:29 +0000 (18:15 +0000)]
Hexagon: Use multiclass for absolute addressing mode loads.
This patch doesn't introduce any functionality changes.
llvm-svn: 175187
Weiming Zhao [Thu, 14 Feb 2013 18:10:21 +0000 (18:10 +0000)]
Re-apply r175088 for bug fix 13622: Add paired register support for
inline asm with 64-bit data on ARM
Update test case to use -mtriple=arm-linux-gnueabi
llvm-svn: 175186
Jyotsna Verma [Thu, 14 Feb 2013 17:58:13 +0000 (17:58 +0000)]
Fix for bug 15246 -- out-of-bound error in the TableGen backend, CodeGenMapTable.cpp.
llvm-svn: 175185
Argyrios Kyrtzidis [Thu, 14 Feb 2013 17:29:16 +0000 (17:29 +0000)]
[arcmt] Make sure the function has an associated parameter for the argument
before checking for its attributes.
rdar://
13192395
llvm-svn: 175184
Vincent Lejeune [Thu, 14 Feb 2013 16:57:19 +0000 (16:57 +0000)]
R600: Do not fold single instruction with more that 3 kcache read
It fixes around 100 tfb piglit tests and 16 glean tests.
NOTE: This is a candidate for the Mesa stable branch.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175183
Vincent Lejeune [Thu, 14 Feb 2013 16:55:11 +0000 (16:55 +0000)]
R600: Export instructions are no longer terminator
This allows MachineInstScheduler to reorder them, and thus make scheduling more
efficient.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175182
Vincent Lejeune [Thu, 14 Feb 2013 16:55:06 +0000 (16:55 +0000)]
R600: Fold zero/one in export instructions
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175181
Vincent Lejeune [Thu, 14 Feb 2013 16:55:01 +0000 (16:55 +0000)]
R600: Do not fold modifier/litterals in vector inst
This fixes a couple of regressions on (probably not just) cayman
NOTE: This is a candidate for the Mesa stable branch.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175180
Tim Northover [Thu, 14 Feb 2013 16:49:32 +0000 (16:49 +0000)]
Use correct host/target CMake variables to define lit variables.
CMake and autotools disagree on what "host" means in a cross-compilation
context. Autotools (and lit) take it to be the machine the binaries being
compiled now will run on. CMake takes it to be the machine actually compiling
the binaries now.
This change makes lit.site-cfg more consistent between autotools and CMake,
allowing lit tests (particularly in ExecutionEngine) to run correctly when
cross-compiled with CMake
llvm-svn: 175179
Tobias Grosser [Thu, 14 Feb 2013 16:42:50 +0000 (16:42 +0000)]
Do not run formatting checks by default
llvm-svn: 175178
Tobias Grosser [Thu, 14 Feb 2013 16:42:45 +0000 (16:42 +0000)]
Formatting fixes
llvm-svn: 175177
Tim Northover [Thu, 14 Feb 2013 16:31:12 +0000 (16:31 +0000)]
AArch64: switch from neverHasSideEffects to hasSideEffects.
llvm-svn: 175176
Tim Northover [Thu, 14 Feb 2013 16:31:06 +0000 (16:31 +0000)]
Add deprecation of neverHasSideEffects to documentation comments.
llvm-svn: 175175
Tobias Grosser [Thu, 14 Feb 2013 16:25:44 +0000 (16:25 +0000)]
clang-format: Really check all files
llvm-svn: 175174
Rafael Espindola [Thu, 14 Feb 2013 16:23:08 +0000 (16:23 +0000)]
Revert r15266. This fixes llvm.org/pr15266.
llvm-svn: 175173
Tim Northover [Thu, 14 Feb 2013 16:22:14 +0000 (16:22 +0000)]
AArch64: stop claiming that NEON registers are usable for now.
If vector types have legal register classes, then LLVM bypasses LegalizeTypes
on them, which causes faults currently since the code to handle them isn't in
place.
This fixes test failures when AArch64 is the default target.
llvm-svn: 175172
Tobias Grosser [Thu, 14 Feb 2013 16:20:55 +0000 (16:20 +0000)]
Report formatting problems as with 'diff -u'
llvm-svn: 175171
Tobias Grosser [Thu, 14 Feb 2013 16:19:16 +0000 (16:19 +0000)]
cmake: add command polly-check-format
This command runs clang-format on all files and reports formatting problems
llvm-svn: 175170
Tim Northover [Thu, 14 Feb 2013 16:17:01 +0000 (16:17 +0000)]
AArch64: add block comments where missing
Only comments affected. No code change at all.
llvm-svn: 175169
Krzysztof Parzyszek [Thu, 14 Feb 2013 16:10:58 +0000 (16:10 +0000)]
Add testcase for llvm-dwarfdump to test parsing of the pubnames data.
llvm-svn: 175168
David Chisnall [Thu, 14 Feb 2013 15:40:44 +0000 (15:40 +0000)]
On FreeBSD, we need to look in /usr/local/include so that libxml2 finds iconv.h
Patch by Jonathan Anderson!
llvm-svn: 175167
Rafael Espindola [Thu, 14 Feb 2013 15:38:59 +0000 (15:38 +0000)]
Mangle extern "C" functions whose names are not simple identifiers.
llvm-svn: 175166
Daniel Jasper [Thu, 14 Feb 2013 15:01:34 +0000 (15:01 +0000)]
Fix counting of parameters so that r175162 works as expected.
Before:
aaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
.
aaaaaaaaaaaaaaaaa());
After:
aaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa().
aaaaaaaaaaaaaaaaa());
Not sure which of the formattings above is better, but we should not pick
one by accident.
llvm-svn: 175165
Kristof Beyls [Thu, 14 Feb 2013 14:46:12 +0000 (14:46 +0000)]
Make ARMAsmParser accept the correct alignment specifier syntax in instructions.
The parser will now accept instructions with alignment specifiers written like
vld1.8 {d16}, [r0:64]
, while also still accepting the incorrect syntax
vld1.8 {d16}, [r0, :64]
llvm-svn: 175164
Evgeniy Stepanov [Thu, 14 Feb 2013 14:40:03 +0000 (14:40 +0000)]
[sanitizer] Get full argv and envp on glibc.
/proc/$PID/cmdline is clipped to 4Kb.
Locate argv and envp on the main thread stack.
llvm-svn: 175163
Daniel Jasper [Thu, 14 Feb 2013 14:26:07 +0000 (14:26 +0000)]
Reduce penalty for breaking before ./-> after complex calls.
This gives a clearer separation of the context, e.g. in GMOCK
statements.
Before:
EXPECT_CALL(SomeObject,
SomeFunction(Parameter)).WillRepeatedly(Return(SomeValue));
After:
EXPECT_CALL(SomeObject, SomeFunction(Parameter))
.WillRepeatedly(Return(SomeValue));
Minor format cleanups.
llvm-svn: 175162
Dmitri Gribenko [Thu, 14 Feb 2013 13:53:30 +0000 (13:53 +0000)]
Remove a const_cast by propagating constness to called functions
llvm-svn: 175161
Dmitri Gribenko [Thu, 14 Feb 2013 13:49:48 +0000 (13:49 +0000)]
Remove an unneeded const_cast
llvm-svn: 175160
Dmitri Gribenko [Thu, 14 Feb 2013 13:20:36 +0000 (13:20 +0000)]
Remove const_casts by making spec_begin()/spec_end() const
llvm-svn: 175159
Dmitry Vyukov [Thu, 14 Feb 2013 13:06:18 +0000 (13:06 +0000)]
llvm-symbolizer: speedup symbol lookup
llvm-svn: 175158
Alexander Potapenko [Thu, 14 Feb 2013 12:37:17 +0000 (12:37 +0000)]
[ASan] Fixed the wrong placement of #include
llvm-svn: 175157
Evgeniy Stepanov [Thu, 14 Feb 2013 12:18:32 +0000 (12:18 +0000)]
Workaround an MSan false positive.
llvm-svn: 175156
Alexander Potapenko [Thu, 14 Feb 2013 12:18:07 +0000 (12:18 +0000)]
[ASan] Remove the 'alarm' script which isn't present on OS X by default.
The test may hang now if a regression occurs.
llvm-svn: 175155
Dmitry Vyukov [Thu, 14 Feb 2013 11:03:45 +0000 (11:03 +0000)]
tsan: fix bug in suppression reading (suppressions from file were discarded)
llvm-svn: 175153
Daniel Jasper [Thu, 14 Feb 2013 09:58:41 +0000 (09:58 +0000)]
Remove the trailing whitespace of formatted lines.
So far, clang-format has always assumed the whitespace belonging to the
subsequent token. This has the negative side-effect that when
clang-format formats a line, it does not remove its trailing whitespace,
as it belongs to the next token.
Thus, this patch fixes most of llvm.org/PR15062.
We are not zapping a file's trailing whitespace so far, as this does not
belong to any token we see during formatting. We need to fix this in a
subsequent patch.
llvm-svn: 175152
Daniel Jasper [Thu, 14 Feb 2013 09:19:04 +0000 (09:19 +0000)]
Get less confused by trailing comma in Google style.
The formatter can now format:
void
aaaaaaaaaaaaaaaaaa(int level,
double *min_x,
double *max_x,
double *min_y,
double *max_y,
double *min_z,
double *max_z, ) {
}
Although this is invalid code, it frequently happens during development and
clang-format should be nicer :-).
llvm-svn: 175151
Elena Demikhovsky [Thu, 14 Feb 2013 09:07:34 +0000 (09:07 +0000)]
Moved line-info.ll to DebugInfo\X86 directory
llvm-svn: 175150
Owen Anderson [Thu, 14 Feb 2013 09:07:33 +0000 (09:07 +0000)]
Add some legality checks for SETCC before introducing it in the DAG combiner post-operand legalization.
llvm-svn: 175149
Daniel Jasper [Thu, 14 Feb 2013 08:45:14 +0000 (08:45 +0000)]
Remove accidentally committed empty test.
llvm-svn: 175148
Daniel Jasper [Thu, 14 Feb 2013 08:42:54 +0000 (08:42 +0000)]
Align superclasses for multiple inheritence.
This fixes llvm.org/PR15179.
Before:
class ColorChooserMac : public content::ColorChooser,
public content::WebContentsObserver {
};
After:
class ColorChooserMac : public content::ColorChooser,
public content::WebContentsObserver {
};
llvm-svn: 175147
Elena Demikhovsky [Thu, 14 Feb 2013 08:23:08 +0000 (08:23 +0000)]
The test failed on Windows. I've changed the platform to run to "x86_64-apple-darwin".
llvm-svn: 175146
Evgeniy Stepanov [Thu, 14 Feb 2013 08:22:06 +0000 (08:22 +0000)]
[sanitizer] Raise argv limit for ReExec.
We are still limited by /proc/*/cmdline size (4Kb max on Linux!).
llvm-svn: 175145
Elena Demikhovsky [Thu, 14 Feb 2013 08:20:26 +0000 (08:20 +0000)]
Fixed a bug in X86TargetLowering::LowerVectorIntExtend() (assertion failure).
Added a test.
llvm-svn: 175144
Bill Wendling [Thu, 14 Feb 2013 08:18:53 +0000 (08:18 +0000)]
Revert accidental commit.
llvm-svn: 175143
Kostya Serebryany [Thu, 14 Feb 2013 08:12:26 +0000 (08:12 +0000)]
[asan] use short path for sanitizer_common/tests/sanitizer_test_utils.h, add -I sanitizer_common/tests to asan/tests/CMakeLists.txt
llvm-svn: 175142
Bill Wendling [Thu, 14 Feb 2013 08:09:20 +0000 (08:09 +0000)]
Pass the target options through to code generation.
The code generation stuff is going to set attributes on the functions it
generates. To do that it needs the target options. Pass them through.
llvm-svn: 175141
Kostya Serebryany [Thu, 14 Feb 2013 08:05:55 +0000 (08:05 +0000)]
[asan] fix x32 build (H.J. Lu)
llvm-svn: 175140
Michel Danzer [Thu, 14 Feb 2013 08:00:33 +0000 (08:00 +0000)]
R600/SI: Check for empty stack in SIAnnotateControlFlow::isTopOfStack
Fixes assertion failure in newly added lit test. Might just be a bandaid that
needs to be revisited.
llvm-svn: 175139
Michel Danzer [Thu, 14 Feb 2013 07:43:51 +0000 (07:43 +0000)]
R600: Add lit tests for texture sampling instruction selection.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175138
Kostya Serebryany [Thu, 14 Feb 2013 06:54:51 +0000 (06:54 +0000)]
[tsan] disable a failing test until it gets fixed. fix lint
llvm-svn: 175137
Greg Clayton [Thu, 14 Feb 2013 04:15:23 +0000 (04:15 +0000)]
<rdar://problem/
13207948>
"watchpoint set expression" fails if "--" is present without any option. Made this command match exactly what "expression" does.
llvm-svn: 175136
Greg Clayton [Thu, 14 Feb 2013 03:54:39 +0000 (03:54 +0000)]
<rdar://problem/
13200878>
When launching in the shell, make sure if you specify a relative path, and if the current working directory has a space in it, that we don't hose the shell invocation.
Currently if we launch with a relative path, we prepend the current working directory to the PATH using:
PATH=`cwd`:$PATH a.out ...
We needed to add quotes around the value for PATH to make sure if any paths in PATH contained spaces, that we don't hose the shell command. Now we do a:
PATH="`cwd`:$PATH" a.out ...
llvm-svn: 175135
Andrew Trick [Thu, 14 Feb 2013 03:45:08 +0000 (03:45 +0000)]
Reapply "s/grep/FileCheck/ in some tests"
This reverts commit
fd1335e982bbf93c5f450ed4fd29f9f787435c85.
Use a triple this time.
llvm-svn: 175134
Rafael Espindola [Thu, 14 Feb 2013 03:33:34 +0000 (03:33 +0000)]
Revert r175120 and r175121. Clang is producing the expected asm names again.
llvm-svn: 175133
Rafael Espindola [Thu, 14 Feb 2013 03:31:26 +0000 (03:31 +0000)]
Partially revert r175117 so that we don't break assumptions about how
static functions in extern "C" contexts are mangled. Should fix the
bootstrap.
llvm-svn: 175132
Greg Clayton [Thu, 14 Feb 2013 03:26:35 +0000 (03:26 +0000)]
<rdar://problem/
13198767>
When dumping instructions, resolve the address specified as a file address if the target doesn't have anything loaded.
llvm-svn: 175131
Cameron Zwarich [Thu, 14 Feb 2013 03:25:24 +0000 (03:25 +0000)]
RegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
register class to match the defining instruction.
llvm-svn: 175130
Francois Pichet [Thu, 14 Feb 2013 03:24:14 +0000 (03:24 +0000)]
Add missing typename to unbreak the MSVC 2012 build.
llvm-svn: 175129
Nick Lewycky [Thu, 14 Feb 2013 03:23:37 +0000 (03:23 +0000)]
Teach the DataLayout aware constant folder to be much more aggressive towards
'and' instructions. This is a pattern that shows up a lot in ubsan binaries.
llvm-svn: 175128
Jim Ingham [Thu, 14 Feb 2013 03:05:42 +0000 (03:05 +0000)]
Add a test for handling a function call that throws an exception, and make it work.
<rdar://problem/
13183944>
llvm-svn: 175127
Reed Kotler [Thu, 14 Feb 2013 03:05:25 +0000 (03:05 +0000)]
Remove the form field from Mips16 instruction formats and set things
up so that we can apply the direct object emitter patch. This patch
should be a nop right now and it's test is to not break what is already
there.
llvm-svn: 175126
Jim Ingham [Thu, 14 Feb 2013 03:04:50 +0000 (03:04 +0000)]
Probably should return that value we took the trouble to compute.
llvm-svn: 175125
Andrew Trick [Thu, 14 Feb 2013 03:00:57 +0000 (03:00 +0000)]
Revert "s/grep/FileCheck/ in some tests"
This reverts commit
8b75e6bc35fb3f9c1e788dbd05084c0f4a60a0f3.
The FileCheck tests are not equivalent:
test/CodeGen/X86/tailcall-structret.ll:6:10: error: expected string not found in input
; CHECK: jmp init
^
<stdin>:1:2: note: scanning from here
.section __TEXT,__text,regular,pure_instructions
^
<stdin>:13:2: note: possible intended match here
jmp _init ## TAILCALL
^
llvm-svn: 175124
Cameron Zwarich [Thu, 14 Feb 2013 02:51:05 +0000 (02:51 +0000)]
Fix RegisterCoalescer::rematerializeTrivialDef() so that it works on flipped
CoalescerPairs. Also, make it take a CoalescerPair directly like other methods
of RegisterCoalescer.
llvm-svn: 175123
Cameron Zwarich [Thu, 14 Feb 2013 02:51:03 +0000 (02:51 +0000)]
Fix some issues with rematerialization in RegisterCoalescer when the destination
of the copy is a subregister def. The current code assumes that it can do a full
def of the destination register, but it is not checking that the def operand is
read-undef. It also doesn't clear the subregister index of the destination in
the new instruction to reflect the full subregister def.
These issues were found running 'make check' with my next commit that enables
rematerialization in more cases.
llvm-svn: 175122
Rafael Espindola [Thu, 14 Feb 2013 02:49:18 +0000 (02:49 +0000)]
Don't assume the mangling of static functions.
llvm-svn: 175121
Rafael Espindola [Thu, 14 Feb 2013 01:58:08 +0000 (01:58 +0000)]
Don't asume that a static function in an extern "C" block will not be mangled.
Since functions with internal linkage don't have language linkage, it is valid
to overload them:
extern "C" {
static int foo();
static int foo(int);
}
So we mangle them.
llvm-svn: 175120
Rafael Espindola [Thu, 14 Feb 2013 01:47:04 +0000 (01:47 +0000)]
merge hasCLanguageLinkage and isExternC. Keep the shorter name.
I added hasCLanguageLinkage while fixing some language linkage bugs some
time ago so that I wouldn't have to check all users of isExternC. It turned
out to be a much longer detour than expected, but this patch finally
merges the two again. The isExternC function now implements just the
standard notion of having C language linkage.
llvm-svn: 175119
Edwin Vane [Thu, 14 Feb 2013 01:34:59 +0000 (01:34 +0000)]
Initial docs directory
Adding a new docs directory, with files auto-generated by sphinx-quickstart,
for user documentation for the various tools in the clang-tools-extra
repository.
Author: Jack Yang <jack.yang@intel.com>
Reviewers: gribozavr, silvas
llvm-svn: 175118
Rafael Espindola [Thu, 14 Feb 2013 01:18:37 +0000 (01:18 +0000)]
Add a getLanguageLinkage method to VarDecls and FunctionDecls. Use it to fix
some cases where functions with no language linkage were being treated as having
C language linkage. In particular, don't warn in
extern "C" {
static NonPod foo();
}
Since getLanguageLinkage checks the language linkage, the linkage computation
cannot use the language linkage. Break the loop by checking just the context
in the linkage computation.
llvm-svn: 175117
Nick Lewycky [Thu, 14 Feb 2013 00:55:17 +0000 (00:55 +0000)]
When marking derived classes' virtual methods ODR-used in order to trigger
instantiation in order to permit devirtualization later in codegen, skip over
pure functions since those can't be devirtualization targets.
llvm-svn: 175116
Ted Kremenek [Thu, 14 Feb 2013 00:32:25 +0000 (00:32 +0000)]
Teach ccc-analyze to pass on -iquote with no spaces between it an the argument.
llvm-svn: 175115
Daniel Malea [Thu, 14 Feb 2013 00:30:40 +0000 (00:30 +0000)]
Fix broken testcase: ignore LLDB output that warns about more elements than can be displayed.
- test could be re-written at some point, but right now just trying to clean up known failures for the linux buildbot.
llvm-svn: 175114