Commit Graph

97331 Commits

Author SHA1 Message Date
Bill Wendling 8a6449c46e Add support for loading from a constant pool.
llvm-svn: 121226
2010-12-08 01:57:09 +00:00
Sean Callanan e97ae90da0 Fixed a problem where the AST importer would assert()
because the diagnostic client for one of the AST
contexts is NULL.  Now we provide a form of Miranda
rights to AST contexts: they are provided with a very
simple diagnostic client if they do not have one
themselves.

llvm-svn: 121225
2010-12-08 01:51:31 +00:00
Devang Patel 89ea4f27a8 Add support to create vector, array, enums etc...
llvm-svn: 121224
2010-12-08 01:50:15 +00:00
Daniel Dunbar 21e71e948b build: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users of LLVM makefiles, these options really shouldn't be used on Darwin.
llvm-svn: 121223
2010-12-08 01:48:05 +00:00
Daniel Dunbar 00e7a8459b autoconf: Stop lying to me.
llvm-svn: 121222
2010-12-08 01:48:03 +00:00
Chandler Carruth 8005adf031 Silence an unused variable warning.
llvm-svn: 121221
2010-12-08 01:29:17 +00:00
Johnny Chen 025d1b8f95 For SBTarget.Launch()/LaunchProcess(), there's no need to pass an empty string
as the args and the envs to the launched process.

o lldbtest.py:

  Forgot to check in some assertion messages changes for lldbtest.py.

o dotest.py:

  Also add "api" category to the default lldb log option list.

llvm-svn: 121220
2010-12-08 01:25:21 +00:00
Jim Grosbach 87055ed6f4 Let target asm backends see assembler flags as they go by. Use that to handle
thumb vs. arm mode differences in WriteNopData().

llvm-svn: 121219
2010-12-08 01:16:55 +00:00
Johnny Chen 0ecec99eb2 Add test_evaluate_expression_python() to exercise SBFrame.EvaluateExpression() Python API.
Launch the process with ['X', 'Y', 'Z'] as the args to make argc == 4 and verify that's the case,
plus some other EvaluateExpression() calls.

llvm-svn: 121218
2010-12-08 01:08:27 +00:00
Jakob Stoklund Olesen 5885e99405 Move RABasic::addMBBLiveIns to the base class, it is generally useful.
Minor optimization to the use of IntervalMap iterators. They are fairly
heavyweight, so prefer SI.valid() over SI != end().

llvm-svn: 121217
2010-12-08 01:06:06 +00:00
Owen Anderson 72ce453c73 Simplify the byte reordering logic slightly.
llvm-svn: 121216
2010-12-08 00:21:33 +00:00
Owen Anderson 0f7142d808 VLDR fixups need special handling under Thumb. While the encoding is the same,
the order of the bytes in the data stream is flipped around.

llvm-svn: 121215
2010-12-08 00:18:36 +00:00
Bob Wilson 8811c3a72e Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics.
llvm-svn: 121214
2010-12-08 00:14:43 +00:00
Bob Wilson 97b44b5b4a Add operators for vadd[lw] and vsub[lw]
so they can be implemented without clang builtins.

llvm-svn: 121213
2010-12-08 00:14:04 +00:00
Devang Patel dd261afdd9 Global variable does not need linkage name.
llvm-svn: 121212
2010-12-08 00:06:22 +00:00
Devang Patel 63f83cd861 Add support to create local variable's debug info.
llvm-svn: 121211
2010-12-07 23:58:00 +00:00
Bob Wilson f81b09db68 Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}.
llvm-svn: 121210
2010-12-07 23:54:55 +00:00
Bob Wilson c40935fa0c Add operators for vmlal{_n,_lane} and vmlsl{_n,_lane}
so they can be implemented without clang builtins.

llvm-svn: 121209
2010-12-07 23:53:37 +00:00
Bob Wilson 7a36c68748 Emit vmovl intrinsics first in the arm_neon.h header
so they can be used in the implementations of other intrinsics.

llvm-svn: 121208
2010-12-07 23:53:32 +00:00
Rafael Espindola 6624f47272 Layout each section independently. With the testcase in PR8711:
before:
        4 assembler - Number of assembler layout and relaxation steps
    78563 assembler - Number of emitted assembler fragments
  8693904 assembler - Number of emitted object file bytes
   271223 assembler - Number of evaluated fixups
330771677 assembler - Number of fragment layouts
     5958 assembler - Number of relaxed instructions
  2508361 mcexpr    - Number of MCExpr evaluations

real	0m26.123s
user	0m25.694s
sys	0m0.388s

after:

      4 assembler - Number of assembler layout and relaxation steps
  78563 assembler - Number of emitted assembler fragments
8693904 assembler - Number of emitted object file bytes
 271223 assembler - Number of evaluated fixups
 231507 assembler - Number of fragment layouts
   5958 assembler - Number of relaxed instructions
2508361 mcexpr    - Number of MCExpr evaluations

real	0m2.500s
user	0m2.113s
sys	0m0.273s

And yes, the outputs are identical :-)

llvm-svn: 121207
2010-12-07 23:32:26 +00:00
Matt Beaumont-Gay 56de7c2773 Fix a warning about a variable which is only used in an assertion.
llvm-svn: 121206
2010-12-07 23:26:21 +00:00
Devang Patel 746660fc7b Add support to create variables, structs etc.. using DIBuilder.
This is still work in progress.

llvm-svn: 121205
2010-12-07 23:25:47 +00:00
Howard Hinnant c5f5f0a166 atomics ...
llvm-svn: 121204
2010-12-07 23:24:41 +00:00
Howard Hinnant 4b4c3b3cdb atomics ...
llvm-svn: 121203
2010-12-07 23:24:09 +00:00
Howard Hinnant 0e1cd17d0a atomics ...
llvm-svn: 121202
2010-12-07 23:20:28 +00:00
Jakob Stoklund Olesen db357d71f1 Switch LiveIntervalUnion from std::set to IntervalMap.
This speeds up RegAllocBasic by 20%, not counting releaseMemory which becomes
way faster.

llvm-svn: 121201
2010-12-07 23:18:47 +00:00
Jakob Stoklund Olesen e702cde2dd Fix begin() and end() on const IntervalMap.
llvm-svn: 121200
2010-12-07 23:18:43 +00:00
Johnny Chen aa92f631b4 Use Python raw string literal to avoid escaping the escape sequence and to make
the command given to lldb command interpreter more readable.

llvm-svn: 121199
2010-12-07 23:12:51 +00:00
Bill Wendling f09c44c7ab Cleanup in the Darwin end. No functionality change.
llvm-svn: 121198
2010-12-07 23:11:00 +00:00
Evan Cheng 775ead3293 Fix a bad prologue / epilogue codegen bug where the compiler would emit illegal
vpush instructions to save / restore VFP / NEON registers like this:
vpush {d8,d10,d11}
vpop {d8,d10,d11}

vpush and vpop do not allow gaps in the register list.
rdar://8728956

llvm-svn: 121197
2010-12-07 23:08:38 +00:00
Jim Grosbach fb116aed60 Add source Record* reference to PatternToMatch. Allows better diagnostics.
llvm-svn: 121196
2010-12-07 23:05:49 +00:00
Bill Wendling 721724e643 A bit of cleanup: early exit ApplyFixup and cache the Fixup offset. No
functionality change.

llvm-svn: 121195
2010-12-07 23:05:20 +00:00
John McCall 26c935f564 Test case.
llvm-svn: 121194
2010-12-07 22:55:51 +00:00
Sean Callanan a162ebafdb More logging for use in debugging the interactions
between clients of the LLDB API and the expression
parser.

llvm-svn: 121193
2010-12-07 22:55:01 +00:00
John McCall ed75c09401 Bump up property conversion earlier in the initialization process. Fixes
the failed compile in PR8751.

llvm-svn: 121192
2010-12-07 22:54:16 +00:00
Bob Wilson 210f6ddecc Stop using a clang builtin for Neon vdup_lane intrinsics.
llvm-svn: 121191
2010-12-07 22:40:02 +00:00
Bob Wilson 361afe4ef2 Add an operator for vdup_lane so it can be implemented without a clang builtin.
llvm-svn: 121190
2010-12-07 22:39:24 +00:00
Bob Wilson 7f3c0aa96f Stop using a clang builtin for Neon vmull_lane intrinsic.
llvm-svn: 121189
2010-12-07 22:03:46 +00:00
Bob Wilson 160fdf49e4 Add a missing parameter, without which clang crashes for vqshlu_n intrinsics.
llvm-svn: 121188
2010-12-07 22:03:43 +00:00
Bob Wilson 17a233c0e5 Add an operator for vmull_lane so it can be implemented without a clang builtin.
llvm-svn: 121187
2010-12-07 22:02:48 +00:00
Jim Grosbach 49bcd6ff85 Binary encoding for ARM tLDRspi and tSTRspi.
llvm-svn: 121186
2010-12-07 21:50:47 +00:00
Johnny Chen 56d8ac4e80 Make the various expression command test sequences more strict by also verifying
the results against our golden ones.

llvm-svn: 121185
2010-12-07 21:17:12 +00:00
Devang Patel eea0fd0942 Handle recursive values. Add comments.
llvm-svn: 121184
2010-12-07 21:12:05 +00:00
Johnny Chen 74481444ab Add a test sequence for test_expr_commands_can_handle_quotes(self):
# runCmd: command alias print_hi expression printf ("\n\tHi!")
        # output: 
        self.runCmd('command alias print_hi expression printf ("\\n\\tHi!")')
        # This fails currently.
        self.runCmd('print_hi')

and modify existing test sequences to escape the escape character '\ to prevent it
from being interpreted by Python before passing on to the lldb command interpreter.

llvm-svn: 121183
2010-12-07 20:52:36 +00:00
Owen Anderson cf096a431a Fix Thumb2 encoding of the S bit.
llvm-svn: 121182
2010-12-07 20:50:15 +00:00
Howard Hinnant c772a62096 Work on <atomic> continues. The file size is actually sane now...
llvm-svn: 121181
2010-12-07 20:46:14 +00:00
Jim Grosbach f878e62a0d Remove reference to the CMPz instruction patterns for ARM.
llvm-svn: 121180
2010-12-07 20:44:33 +00:00
Jim Grosbach 327cf8ee5f Refactor the ARM CMPz* patterns to just use the normal CMP instructions when
possible. They were duplicates for everything exception the source pattern
before.

llvm-svn: 121179
2010-12-07 20:41:06 +00:00
Johnny Chen 5be1db9c71 Remove comment no longer applied.
llvm-svn: 121178
2010-12-07 20:22:32 +00:00
Evan Cheng de75ab9a09 Code clean up; no functionality change.
llvm-svn: 121176
2010-12-07 20:11:46 +00:00