Commit Graph

51665 Commits

Author SHA1 Message Date
Victor Hernandez
bcdf5ed5ae Fit code within 80 columns
llvm-svn: 81459
2009-09-10 20:18:57 +00:00
Sean Callanan
9bf1cfc585 Added XOR instructions for rAX and immediates of
various widths.

llvm-svn: 81458
2009-09-10 19:52:26 +00:00
Sean Callanan
5e1568e95e Added MOV instructions between rAX and memory offsets,
including segment offsets and (for 8-bit operands)
absolute offsets.

llvm-svn: 81457
2009-09-10 18:33:42 +00:00
Sean Callanan
ce27a0feb7 Added a variety of PUSH and POP instructions, including
ones capable of accessing R/M operands instead of just
registers.

llvm-svn: 81456
2009-09-10 18:29:13 +00:00
Bill Wendling
68a3bafe53 Exit early if exception handling isn't supported.
llvm-svn: 81454
2009-09-10 18:28:06 +00:00
Mikhail Glushenkov
77f3e5deee Allow llvmc to take .bc files as input.
llvm-svn: 81452
2009-09-10 17:04:32 +00:00
Andreas Neustifter
7a526c9491 Make ProfileEstimator more robust on general CFGs.
llvm-svn: 81450
2009-09-10 16:30:38 +00:00
Chris Lattner
baa8f93b1c add another broken version of gcc, thanks to Niels Moller for pointing this out.
llvm-svn: 81449
2009-09-10 16:25:02 +00:00
Mikhail Glushenkov
65831e2bf2 Distinguish between 'empty' and empty DAG marker.
llvm-svn: 81448
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
49c2b6f4fb Add a logical 'not' operator to llvmc's TableGen dialect.
llvm-svn: 81447
2009-09-10 16:21:38 +00:00
Nuno Lopes
a79196d2a9 fix leakage of Module
llvm-svn: 81445
2009-09-10 14:56:31 +00:00
Benjamin Kramer
200a6693fb Add some braces to make newer GCCs happy and update CMakeLists.
llvm-svn: 81443
2009-09-10 11:31:39 +00:00
Andreas Neustifter
4d8afb529c Cleaned up code by factoring out common portions of edge loading into function.
llvm-svn: 81438
2009-09-10 07:12:35 +00:00
Nick Lewycky
d347108b4d Correctly handle the case where a comparison is created in one BasicBlock and
used by a terminator in another.

llvm-svn: 81437
2009-09-10 07:02:09 +00:00
Bill Wendling
23f9e3a98e Comment and whitespace cleanups. No intentional functionality change.
llvm-svn: 81436
2009-09-10 06:50:01 +00:00
Bill Wendling
988ed7ed19 Revert part of my r81424 patch. I removed what looked like superfluous padding
from the exception tables. However, Duncan explained why it's a can of worms to
do it the GCC way. I went back to doing it the LLVM way and added Duncan's
explanation so that I don't do this again in the future.

llvm-svn: 81434
2009-09-10 06:27:16 +00:00
Evan Cheng
d3f98b1d15 Add a test case for r81431.
llvm-svn: 81432
2009-09-10 05:08:51 +00:00
Daniel Dunbar
b15a757410 Remove prcontext.
llvm-svn: 81427
2009-09-10 04:56:59 +00:00
Evan Cheng
78182244f1 Add malloc call utility functions. Patch by Victor Hernandez.
llvm-svn: 81426
2009-09-10 04:36:43 +00:00
Bill Wendling
4ee473352a Don't hardcode the TType format size. In fact, rework the code so that it's more
like what GCC outputs. The mysterious code to insert padding wasn't in GCC at
all. I modified the TType base offset code to calculate the offset like GCC
does, though.

llvm-svn: 81424
2009-09-10 02:07:37 +00:00
Evan Cheng
0e0590db1b Proper support of non-lazy indirect symbols.
llvm-svn: 81422
2009-09-10 01:23:53 +00:00
Bill Wendling
11a9ab2879 Remove the "#if 0" that Noone loved. It wasn't really necessary, because the
code within it was the same inside and out. There's still a problem of the
TypeInfoSize should be the size of the TType format encoding (at least that's
what GCC thinks it should be).

llvm-svn: 81417
2009-09-10 01:12:47 +00:00
Daniel Dunbar
bae4e52bd0 MC: Give target specific parsers access to the MCStreamer.
llvm-svn: 81416
2009-09-10 00:59:15 +00:00
Bob Wilson
76cffeddd1 Revert r81171 which was causing pr4927.
llvm-svn: 81415
2009-09-10 00:49:22 +00:00
Bill Wendling
0ec5ddeecf Pull check for SJLJ EH into a boolean and use that.
llvm-svn: 81409
2009-09-10 00:17:04 +00:00
Bill Wendling
bf36b07bff Use the SizeOfEncodedValue function instead of magic variables for the
sizeof(DW_EH_PE_udata4).

llvm-svn: 81408
2009-09-10 00:13:16 +00:00
Bill Wendling
e55fe46dec Add helpful comment.
llvm-svn: 81406
2009-09-10 00:04:48 +00:00
Bill Wendling
ef6636d4b1 Believe it or not, this is a simplification. :-)
Basically, this patch is working towards removing the hard-coded values that are
output for the CIE. In particular, the CIE augmentation and the CIE augmentation
size. Both of these should be calculated. In the process, I was able to make a
bunch of code simpler.

The encodings for the personality, LSDA, and FDE in the CIE are still not
correct. They should be generated either from target-specific callbacks (blech!)
or grokked from first-principles.

llvm-svn: 81404
2009-09-09 23:56:55 +00:00
Evan Cheng
7f25e554e4 Fix double load / store multiple encoding.
llvm-svn: 81403
2009-09-09 23:55:03 +00:00
Chris Lattner
9975e8e31a canonicalize namespace gymnastics
llvm-svn: 81402
2009-09-09 23:46:42 +00:00
Dale Johannesen
181999c0a6 Testcase for (llvm-gcc) 81399. Adjust an older
test case to allow for different, functionally
identical output.

llvm-svn: 81400
2009-09-09 23:37:46 +00:00
Bob Wilson
877a857b4b Fix pr4939: Change FPCCToARMCC to translate SETOLE to ARMCC::LS.
See the bug report for details.

llvm-svn: 81397
2009-09-09 23:14:54 +00:00
Chris Lattner
b9aca1a178 remove DebugLoc from MCInst and eliminate "Comment printing" from
the MCInst path of the asmprinter.  Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter.  This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.

This also fixes an xcore strangeness where it inserted two tabs
before every instruction.

llvm-svn: 81396
2009-09-09 23:14:36 +00:00
Chris Lattner
2a098581a8 Fix a subtle bug in "return;" generation which caused us to miss
a return in one case.  Instead of sprinking return handling code
throughout the asmprinter generator, just treat it like any other
normal statement.

llvm-svn: 81395
2009-09-09 23:09:29 +00:00
Daniel Dunbar
51a6624b92 Add comment re: clang dependency.
llvm-svn: 81393
2009-09-09 23:01:25 +00:00
Sean Callanan
7b789f8cba Added an abstract superclass, MCDisassembler, for
all disassemblers.

Modified the MemoryObject to support 64-bit address
spaces, regardless of the LLVM process's address
width.

Modified the Target class to allow extraction of a
MCDisassembler.

llvm-svn: 81392
2009-09-09 22:49:13 +00:00
Bill Wendling
626d5a2539 Use the EOL that takes the encoding and translates it into DWARF-English.
llvm-svn: 81382
2009-09-09 21:26:19 +00:00
Bill Wendling
61f199a83c Early exit from function.
llvm-svn: 81381
2009-09-09 21:08:12 +00:00
Bill Wendling
de0ad2660f Small amount of code clean-up: Don't use ".size()" when not necessary.
llvm-svn: 81380
2009-09-09 21:06:24 +00:00
Chris Lattner
8dd3d8b930 add a gross hack to get "SrcLine" comments to show up with the
new asmprinter.  Differently gross hack coming next.

llvm-svn: 81379
2009-09-09 20:45:42 +00:00
Chris Lattner
52651f7623 hoist the call to processDebugLoc out of the generated
asm printer into the "printInstruction" routine.  This
fixes a problem where the experimental asmprinter would
drop debug labels in some cases, and fixes issues on ppc/xcore
where pseudo instructions like "mr" didn't get debug locs properly.

It is annoying that this moves the call from one place into each
target, but a future set of more invasive refactorings will fix
that problem.

llvm-svn: 81377
2009-09-09 20:34:59 +00:00
Lang Hames
94043b797a Removed static qualifier from a few index related methods. These methods may require a LiveIntervals instance in future.
llvm-svn: 81374
2009-09-09 20:14:17 +00:00
Andreas Neustifter
2a16f0658b Reverted r81358.
llvm-svn: 81364
2009-09-09 18:19:35 +00:00
Dan Gohman
0357e0117e Fix SplitCriticalEdge to properly update LCSSA form when splitting a
loop exit edge -- new PHIs may be needed not only for the additional
splits that are made to preserve LoopSimplify form, but also for the
original split. Factor out the code that inserts new PHIs so that it
can be used for both. Remove LoopRotation.cpp's code for manually
updating LCSSA form, as it is now redundant. This fixes PR4934.

llvm-svn: 81363
2009-09-09 18:18:18 +00:00
Benjamin Kramer
66572030a8 Fix build, add missing simicolon.
llvm-svn: 81362
2009-09-09 18:03:46 +00:00
Mike Stump
e80b38595c Reflow comment.
llvm-svn: 81361
2009-09-09 17:57:16 +00:00
Andreas Neustifter
e4a3a33579 Preserve ProfileInfo.
llvm-svn: 81360
2009-09-09 17:53:39 +00:00
Andreas Neustifter
8b995d7f88 Add the first functions for updating ProfileInfo.
llvm-svn: 81359
2009-09-09 17:52:57 +00:00
Andreas Neustifter
e97b505f2d Cleaned up code by factoring out common portions of edge loading into funcion.
llvm-svn: 81358
2009-09-09 17:51:39 +00:00
Devang Patel
2cbc3ef1e9 Take lock before removing a node from MDNodeSet.
llvm-svn: 81356
2009-09-09 17:44:26 +00:00