Chris Lattner
a0e871901b
simplify code that creates SubtargetFeatureInfo, ensuring that features
...
that are only used by MnemonicAliases will be found.
llvm-svn: 117844
2010-10-30 20:07:57 +00:00
Chris Lattner
25896af4bb
fix a fixme in stringmatcher, having it generate nice looking code if the
...
'tomatch' code contains \n's.
llvm-svn: 117843
2010-10-30 19:57:17 +00:00
Argyrios Kyrtzidis
d3f0054395
Emit an error when trying to form a pointer-to-member to a bitfield.
...
As a bonus, avoids a crash on the IRGen side due to accepting invalid code.
llvm-svn: 117842
2010-10-30 19:52:22 +00:00
Argyrios Kyrtzidis
52355c8020
renamed: test/SemaCXX/ptrtomember-badcall.cpp -> test/SemaCXX/ptrtomember.cpp
...
llvm-svn: 117841
2010-10-30 19:52:19 +00:00
Chris Lattner
f9ec2fb34a
fix typos and some serious bugs in feature handling (but not for
...
cases that are currently exercised). Thanks to Frits van Bommel for
the great review!
llvm-svn: 117840
2010-10-30 19:47:49 +00:00
Chris Lattner
aac142cc06
Resolve a terrible hack in tblgen: instead of hardcoding
...
"In32BitMode" and "In64BitMode" into tblgen, allow any
predicate that inherits from AssemblerPredicate.
llvm-svn: 117831
2010-10-30 19:38:20 +00:00
Chris Lattner
2cb092dc55
Implement (and document!) support for MnemonicAlias's to have Requires
...
directives, allowing things like this:
def : MnemonicAlias<"pop", "popl">, Requires<[In32BitMode]>;
def : MnemonicAlias<"pop", "popq">, Requires<[In64BitMode]>;
Move the rest of the X86 MnemonicAliases over to the .td file.
llvm-svn: 117830
2010-10-30 19:23:13 +00:00
Daniel Dunbar
cda8eb7a21
Revert r117678, "Qualified 'id' should implement all of static class type's", it breaks things.
...
llvm-svn: 117829
2010-10-30 19:22:48 +00:00
Chris Lattner
ec56397eb4
fix build problem
...
llvm-svn: 117828
2010-10-30 18:57:07 +00:00
Chris Lattner
cf9b6e3107
diagnose targets that define two alises with the same 'from' mnemonic
...
with a useful error message instead of having tblgen explode with an
assert.
llvm-svn: 117827
2010-10-30 18:56:12 +00:00
Chris Lattner
477fba4f54
emit the mnemonic aliases in their own helper function instead of
...
inline into MatchInstructionImpl.
llvm-svn: 117826
2010-10-30 18:48:18 +00:00
Greg Clayton
92ef573550
Fixed the copy constructor for SBThread.
...
llvm-svn: 117825
2010-10-30 18:26:59 +00:00
Chris Lattner
57bfc66d60
really zap alias.
...
llvm-svn: 117824
2010-10-30 18:23:25 +00:00
Chris Lattner
462bc666d2
move fcompi alias to .td file and zap some useless code.
...
llvm-svn: 117823
2010-10-30 18:22:53 +00:00
Chris Lattner
daae9eea8a
move rep aliases to td file
...
llvm-svn: 117822
2010-10-30 18:17:33 +00:00
Chris Lattner
fa40aee871
move sal aliases to .td file.
...
llvm-svn: 117821
2010-10-30 18:14:54 +00:00
Chris Lattner
4d9f157203
fix an encoding mismatch where "sal %eax, 1" was not using the short encoding
...
for shl. Caught by inspection.
llvm-svn: 117820
2010-10-30 18:13:10 +00:00
Chris Lattner
069132311a
move a bunch more aliases from .cpp -> .td file.
...
llvm-svn: 117819
2010-10-30 18:07:17 +00:00
Chris Lattner
b4a1674421
move cmov aliases to .td file.
...
llvm-svn: 117818
2010-10-30 17:56:50 +00:00
Chris Lattner
f04cbe6291
move setcc and jcc aliases from .cpp to .td
...
llvm-svn: 117817
2010-10-30 17:51:45 +00:00
Chris Lattner
72c0b59e81
move some code.
...
llvm-svn: 117816
2010-10-30 17:38:55 +00:00
Chris Lattner
ba7b4fea97
implement (and document!) the first kind of MC assembler alias, which
...
just remaps one mnemonic to another. Convert a few of the X86 aliases
from .cpp to .td code.
llvm-svn: 117815
2010-10-30 17:36:36 +00:00
Benjamin Kramer
4ab36ba726
Turns out that we may end up calling dladdr on GetExecutablePath, give it external linkage to make sure the lookup works on all platforms.
...
llvm-svn: 117813
2010-10-30 17:32:40 +00:00
Chris Lattner
e490b5c29e
add a test for the ud2a alias.
...
llvm-svn: 117803
2010-10-30 17:01:25 +00:00
Duncan Sands
e659aba516
Now that the MallocInst no longer exists, this workaround for
...
it claiming not to have side-effects is no longer needed.
llvm-svn: 117789
2010-10-30 16:12:16 +00:00
Jim Grosbach
685b77332c
Allow specifying a CPU to llvm-mc, so that we can properly set up subtarget
...
feature lists for instruction pattern predicates.
llvm-svn: 117788
2010-10-30 15:57:50 +00:00
Jim Grosbach
bbe2bbd7f7
Add FIXME.
...
llvm-svn: 117787
2010-10-30 14:54:23 +00:00
Benjamin Kramer
c482735d89
This function doesn't need external linkage either.
...
llvm-svn: 117786
2010-10-30 14:28:41 +00:00
Jim Grosbach
4cf25f5ba9
Clean up comments.
...
llvm-svn: 117785
2010-10-30 13:48:28 +00:00
Jim Grosbach
584850b921
80 columns.
...
llvm-svn: 117784
2010-10-30 13:46:39 +00:00
Duncan Sands
b8f3b14dfb
If a function does a volatile load from a global constant, do not
...
consider it to be readonly. In fact, don't even consider it to be
readonly if it does a volatile load from an AllocaInst either (it
is debatable as to whether readonly would be correct or not in this
case; play safe for the moment). This fixes PR8279.
llvm-svn: 117783
2010-10-30 12:59:44 +00:00
Jim Grosbach
a71c9e2ebf
Tidy up.
...
llvm-svn: 117782
2010-10-30 12:59:16 +00:00
John McCall
c273f24196
Better solution: calculate the visibility of functions and variables
...
independently of whether they're definitions, then teach IR generation to
ignore non-explicit visibility when emitting declarations. Use this to
make sure that RTTI, vtables, and VTTs get the right visibility.
More of rdar://problem/8613093
llvm-svn: 117781
2010-10-30 11:50:40 +00:00
John McCall
36cd5cc150
GCC faithfully calculates visibility for variables independently of
...
whether it's a declaration or not, then ignores that information for
declarations unless it was explicitly given. It's not totally clear
how that should be mapped into a sane system, but make an effort.
llvm-svn: 117780
2010-10-30 09:18:49 +00:00
Benjamin Kramer
7d11382b8c
Use the expanded form of S_ISREG. Hopefully this unbreaks the MSVC build.
...
llvm-svn: 117779
2010-10-30 08:28:42 +00:00
Benjamin Kramer
e1e6797b07
Compress screenshot.
...
llvm-svn: 117778
2010-10-30 08:27:07 +00:00
Johnny Chen
886ec7800a
Submit the screen capture as a followup of r117752.
...
llvm-svn: 117777
2010-10-30 07:36:05 +00:00
Nick Lewycky
b9b3927356
Preserve the template type parameter name when instantiating a templace.
...
Fixes PR8489.
llvm-svn: 117776
2010-10-30 06:48:20 +00:00
Chris Lattner
5c0b40528d
Rename alignof -> alignOf to avoid irritating C++'0x compilers,
...
PR8423
llvm-svn: 117775
2010-10-30 05:14:06 +00:00
Chris Lattner
fa898b2b24
Rename alignof -> alignOf to avoid irritating C++'0x compilers,
...
PR8423, patch by nobled.
llvm-svn: 117774
2010-10-30 05:14:01 +00:00
Chris Lattner
de30afc3d9
stay out of the reserved namespace
...
llvm-svn: 117773
2010-10-30 04:57:14 +00:00
Greg Clayton
4838131baf
Improved API logging.
...
llvm-svn: 117772
2010-10-30 04:51:46 +00:00
Chris Lattner
549a31cd34
simplify this code.
...
llvm-svn: 117771
2010-10-30 04:35:59 +00:00
Douglas Gregor
d58530422f
Flush statements after writing each DECL_CXX_BASE_SPECIFIERS node
...
llvm-svn: 117770
2010-10-30 04:28:16 +00:00
Chris Lattner
44e5981c1b
split MaybeParseRegister into its two logical uses, eliminating malloc+free traffic.
...
llvm-svn: 117769
2010-10-30 04:09:10 +00:00
Sean Callanan
5a477cfd90
Added a hack that allows expressions to ignore
...
Objective-C member accessibility restrictions.
Ultimately Clang should have a flag that ignores
accessibility for Objective-C like it has one
for C++.
llvm-svn: 117768
2010-10-30 01:56:10 +00:00
Sean Callanan
0d546439b9
Using proper Objective-C types doesn't seem to
...
make the sky fall.
llvm-svn: 117767
2010-10-30 01:46:19 +00:00
Jim Grosbach
7b275105d6
Avoid re-evaluating MI.getNumOperands() every iteration of the loop.
...
llvm-svn: 117766
2010-10-30 01:40:16 +00:00
Jakob Stoklund Olesen
80717dd7c6
Include MachineBasicBlock numbers in viewCFG() output.
...
llvm-svn: 117765
2010-10-30 01:26:19 +00:00
Jakob Stoklund Olesen
0cfc497f19
Make sure copies are inserted after any exception handling labels at the top of
...
a basic block.
llvm-svn: 117764
2010-10-30 01:26:16 +00:00