Bob Wilson
e1223fb583
Attempt to fix llvm-gcc build. It was crashing when building gcov.o for an
...
ARM cross-compiler on x86, because the MMO size did not match the type size.
This fixes the MMO size and also the size of the stack object to match the
type size.
llvm-svn: 114554
2010-09-22 17:35:14 +00:00
Jim Grosbach
1573b29ea7
Add MC instruction printer support for TB[BH] style thumb2 jump tables.
...
llvm-svn: 114553
2010-09-22 17:15:35 +00:00
Howard Hinnant
848a5374d0
visibility-decoration.
...
llvm-svn: 114551
2010-09-22 16:48:34 +00:00
Jim Grosbach
754e1efffc
Clean up comment.
...
llvm-svn: 114550
2010-09-22 16:45:13 +00:00
Caroline Tice
7740412f2b
Remove SBCommandContext which was not needed or doing anything.
...
Add SBValueList.h & SBStream.h to build-swig-Python.sh; add SBValueList.h to lldb.swig
llvm-svn: 114549
2010-09-22 16:41:52 +00:00
Douglas Gregor
a1ed39be76
Fix a hard-to-reproduce crash-on-invalid, where we weren't checking for a valid result from ActOnIdExpression
...
llvm-svn: 114548
2010-09-22 16:33:13 +00:00
Howard Hinnant
3030b2f1ab
visibility-decoration.
...
llvm-svn: 114545
2010-09-22 15:29:08 +00:00
Argyrios Kyrtzidis
ca0d0cd3b9
Implement -Wpadded and -Wpacked.
...
-Wpadded warns when undesired padding is introduced in a struct. (rdar://7469556)
-Wpacked warns if a struct is given the packed attribute, but the packed attribute has no effect
on the layout or the size of the struct. Such structs may be mis-aligned for little benefit.
The warnings are emitted at the point where layout is calculated, that is at RecordLayoutBuilder.
To avoid calculating the layouts of all structs regardless of whether they are needed or not,
I let the layouts be lazily constructed when needed. This has the disadvantage that the above warnings
will be emitted only when they are used for IR gen, and not e.g with -fsyntax-only:
$ cat t.c
struct S {
char c;
int i;
};
void f(struct S* s) {}
$ clang -fsyntax-only -Wpadded t.c
$ clang -c -Wpadded t.c -o t.o
t.c:3:7: warning: padding struct 'struct S' with 3 bytes to align 'i' [-Wpadded]
int i;
^
1 warning generated.
This is a good tradeoff between providing the warnings and not calculating layouts for all
structs in case the user has enabled a couple of rarely used warnings.
llvm-svn: 114544
2010-09-22 14:32:24 +00:00
Howard Hinnant
a3988679f9
visibility-decoration.
...
llvm-svn: 114543
2010-09-22 14:16:26 +00:00
Mikhail Glushenkov
922f13ce2e
llvmc: Support '-emit-llvm -S' with -opt.
...
llvm-svn: 114541
2010-09-22 09:00:41 +00:00
Mikhail Glushenkov
11adecbf75
A more informative output suffix for the opt tool.
...
llvm-svn: 114540
2010-09-22 09:00:35 +00:00
Jason Molenda
0c7cc85649
Add a new ArchVolatileRegs plugin class to identify
...
whether a given register number is treated as volatile
or not for a given architecture/platform.
approx 450 lines of boilerplate, 50 lines of actual code. :)
llvm-svn: 114537
2010-09-22 07:37:07 +00:00
Chris Lattner
415624cf3f
fix rdar://8456371 - Handle commutable instructions written backward.
...
llvm-svn: 114536
2010-09-22 06:26:39 +00:00
Chris Lattner
775e635b5a
update a bunch of tests that are using the x86 backend instead of grepping IR :(
...
llvm-svn: 114535
2010-09-22 06:09:31 +00:00
Chris Lattner
bd85725341
Fix an inconsistency in the x86 backend that led it to reject "calll foo" on
...
x86-32: 32-bit calls were named "call" not "calll". 64-bit calls were correctly
named "callq", so this only impacted x86-32.
This fixes rdar://8456370 - llvm-mc rejects 'calll'
This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call,
I will file a bugzilla.
llvm-svn: 114534
2010-09-22 05:49:14 +00:00
Chris Lattner
37fc469f88
fix rdar://8456412 - llvm-mc crash in encoder on "mov %rdx, %cr8"
...
Teaching the code generator about CR8-15, how to rex them up, etc.
llvm-svn: 114533
2010-09-22 05:29:50 +00:00
Chris Lattner
2bb9504d1a
fix rdar://8456417 - llvm-mc can't do basic math
...
llvm-svn: 114532
2010-09-22 05:05:16 +00:00
Chris Lattner
9dfd2e354e
add the missing aliases for fp stack cmovs, rdar://8456391
...
llvm-svn: 114531
2010-09-22 04:56:20 +00:00
Greg Clayton
a4ddf7f802
Added the start of a test case that will test all basic types and all the
...
variety of ways they can be displayed in variable views.
llvm-svn: 114530
2010-09-22 04:50:38 +00:00
Chris Lattner
8a236b63d8
reimplement elf TLS support in terms of addressing modes, eliminating SegmentBaseAddress.
...
llvm-svn: 114529
2010-09-22 04:39:11 +00:00
Chris Lattner
1261b81e82
Fix rdar://8456364 - llvm-mc rejects '%CS'
...
llvm-svn: 114528
2010-09-22 04:11:10 +00:00
Chris Lattner
39cf8deded
fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'
...
-This line, and those below, will be ignored--
M test/MC/AsmParser/X86/x86_instructions.s
M lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm-svn: 114527
2010-09-22 04:04:03 +00:00
Chris Lattner
a91e510f94
fix rdar://8456361 - llvm-mc rejects 'rep movsd'
...
llvm-svn: 114526
2010-09-22 03:50:32 +00:00
Chris Lattner
a5156c30ed
convert the last 4 X86ISD nodes that should have memoperands to have them.
...
llvm-svn: 114523
2010-09-22 01:28:21 +00:00
Chris Lattner
ed85da5600
give X86ISD::FNSTCW16m a memoperand, since it touches memory. It only
...
can access the stack due to how it is generated though.
llvm-svn: 114522
2010-09-22 01:11:26 +00:00
Chris Lattner
78f518b79b
give FP_TO_INT16_IN_MEM and friends a memoperand. They are only
...
used with stack slots, but hey, lets be safe.
llvm-svn: 114521
2010-09-22 01:05:16 +00:00
Chris Lattner
505af598d0
linux has a different stack alignment than the mac, relax this a bit.
...
llvm-svn: 114519
2010-09-22 00:46:26 +00:00
Sebastian Redl
96371b446e
Only preload SLocEntries after the entire PCH chain was loaded.
...
llvm-svn: 114518
2010-09-22 00:42:30 +00:00
Sebastian Redl
949fe9e03b
Reshuffle PerFileData's members to make more sense.
...
llvm-svn: 114517
2010-09-22 00:42:27 +00:00
Greg Clayton
4f432e719b
Added some comments explaining why we currently have to manually set CXXRecordDecl variables. This is because SEMA is actually calling the accessors that should be built into the CXXRecordDecl class. We have an internal bug tracking this change and will remove the affected work around code when a solution is available.
...
llvm-svn: 114516
2010-09-22 00:40:49 +00:00
Chris Lattner
54e5329545
give VZEXT_LOAD a memory operand, it now works with segment registers.
...
llvm-svn: 114515
2010-09-22 00:34:38 +00:00
Sean Callanan
c31ba26e0c
Improved the logging for ASTs generated on the
...
expression parser's behalf so that now we see the
full TranslationUnitDecl instead of just the
FunctionDecl.
llvm-svn: 114514
2010-09-22 00:33:31 +00:00
Johnny Chen
9bb7dade7b
Sanity check the print representation of lldb.SBProcess object.
...
llvm-svn: 114513
2010-09-22 00:25:33 +00:00
Greg Clayton
60e1aa56f7
Fixed CXXRecordDecl declaration settings for whether a class in a POD type
...
or not.
llvm-svn: 114512
2010-09-22 00:24:45 +00:00
Greg Clayton
d7aa114ecc
Fixed a build warning where no return values was being returned.
...
llvm-svn: 114511
2010-09-22 00:23:59 +00:00
Chris Lattner
07827ba978
revert r114386 now that address modes work correctly, we get a nice
...
call through gs-relative memory now.
llvm-svn: 114510
2010-09-22 00:11:31 +00:00
Daniel Dunbar
da4f6b5151
Driver/Darwin: Add a runtime library just for ___eprintf -- when targeting i386
...
some projects still depend on ___eprintf being available.
llvm-svn: 114509
2010-09-22 00:03:52 +00:00
Chris Lattner
e479e9643b
give LCMPXCHG_DAG[8] a memory operand, allowing it to work with addrspace 256/257
...
llvm-svn: 114508
2010-09-21 23:59:42 +00:00
Chris Lattner
0cefa51114
filecheckize
...
llvm-svn: 114507
2010-09-21 23:57:27 +00:00
Evan Cheng
d757c88bba
OptimizeCompareInstr should avoid iterating pass the beginning of the MBB when the 'and' instruction is after the comparison.
...
llvm-svn: 114506
2010-09-21 23:49:07 +00:00
Johnny Chen
d64c3e7913
Trivial change of a trace output string.
...
llvm-svn: 114505
2010-09-21 23:47:01 +00:00
Daniel Dunbar
5680b2a09c
compiler-rt/clang/Darwin: Add a new library configuration which has nothing
...
other than eprintf for i386.
llvm-svn: 114504
2010-09-21 23:42:49 +00:00
Chris Lattner
b2f659b7a0
fix the rest of rdar://8461279 - clang miscompiles address-space qualified atomics
...
llvm-svn: 114503
2010-09-21 23:40:48 +00:00
Chris Lattner
c9066d3072
same bug as before, this time with __sync_val_compare_and_swap.
...
llvm-svn: 114502
2010-09-21 23:35:30 +00:00
Johnny Chen
9c48b8d79c
Added a subtest to exercise the capability of lldb Python objects to print
...
themselves. Right now, it tests a breakpoint both before and after it has been
resolved.
Updated lldbtest.TestBase.expect() with an additional keyword argument 'exe' (
default to True), which if set to False, will treat the mandatory first argument
as just the string to be matched/or not-matched against the golden input.
llvm-svn: 114501
2010-09-21 23:33:30 +00:00
Jim Grosbach
d64f9b8381
Add start of support for MC instruction printer of ARM jump tables. Filling in
...
the rest of it is next up.
llvm-svn: 114500
2010-09-21 23:28:16 +00:00
Caroline Tice
867b185d8d
Update help text for breakpoint command one-liners.
...
Fix minor bug in 'commands alias'; alias commands can now handle command options
and arguments in the same alias. Also fixes problem that disallowed "process launch --" as
an alias.
Fix typo in comment in Python script interpreter.
llvm-svn: 114499
2010-09-21 23:25:40 +00:00
Chris Lattner
7cf46bfda0
fix __sync_bool_compare_and_swap to work with address-space qualified types.
...
llvm-svn: 114498
2010-09-21 23:24:52 +00:00
Chris Lattner
65dce5eeee
filecheckize.
...
llvm-svn: 114497
2010-09-21 23:22:41 +00:00
Howard Hinnant
0af133f941
visibility-decoration.
...
llvm-svn: 114496
2010-09-21 22:55:27 +00:00