25810 Commits

Author SHA1 Message Date
Oscar Fuentes
486fd29325 Fixed a pasto.
llvm-svn: 58923
2008-11-08 20:34:18 +00:00
Scott Michel
4a683f438d CellSPU: Bring SPU's assembly printer more in-line with current LLVM code
structure. Assembly printer now outputs the correct section for strings.

llvm-svn: 58921
2008-11-08 18:59:02 +00:00
Duncan Sands
da4e03de04 Try to produce better code when scalarizing VSETCC.
llvm-svn: 58920
2008-11-08 18:26:48 +00:00
Anton Korobeynikov
e3b9284fa8 Factor out offset printing code into generic AsmPrinter.
FIXME: it seems, that most of targets don't support
offsets wrt CPI/GlobalAddress', was it intentional?

llvm-svn: 58917
2008-11-08 17:21:38 +00:00
Nicolas Geoffray
76100fd4de The Index field of an AttributeWithIndex is of type unsigned, not uint16_t.
llvm-svn: 58908
2008-11-08 15:36:01 +00:00
Anton Korobeynikov
3af4269671 StoreInst does not produce any result thus it's useless to create new
variable for it. This greatly reduces amount of unused variables in
llvm2cpp-generated code

llvm-svn: 58905
2008-11-08 12:58:07 +00:00
Evan Cheng
e5b6b3f81f Moved InvalidateInstructionCache to ARMJITInfo::emitFunctionStub which knows size of stub.
llvm-svn: 58899
2008-11-08 08:16:49 +00:00
Evan Cheng
7f1eececb4 Remove a InvalidateInstructionCache call with incorrect size.
llvm-svn: 58898
2008-11-08 08:15:39 +00:00
Evan Cheng
3d9c134136 Rename startFunctionStub to startGVStub since it's also used for GV non-lazy ptr.
llvm-svn: 58897
2008-11-08 08:02:53 +00:00
Evan Cheng
cfa57662d1 Tell ARMJITInfo if codegen relocation is PIC. It changes how function stubs are generated.
llvm-svn: 58896
2008-11-08 07:38:22 +00:00
Evan Cheng
fe6df6ae18 Rename isString -> isExternalSymbol; getString -> getExternalSymbol since these work on externsym machine relocations.
llvm-svn: 58895
2008-11-08 07:37:34 +00:00
Evan Cheng
8dfc67205a More debug output.
llvm-svn: 58894
2008-11-08 07:22:53 +00:00
Evan Cheng
f2ebaa6a64 Fix relocation for calls to external symbols.
llvm-svn: 58893
2008-11-08 07:22:33 +00:00
Scott Michel
70cc5f61b2 CellSPU: Fix prologue/epilogue emission when function contains calls but
theframe size is 0; the prologue and epilogue should be emitted in this case.

llvm-svn: 58890
2008-11-08 05:16:20 +00:00
Daniel Dunbar
ce947e0039 Rework r58829, allowing removal of dbg info intrinsics during alloca
promotion.
 - Eliminate uses after free and simplify tests.

Devang: Please check that this is still doing what you intended.
llvm-svn: 58887
2008-11-08 04:12:17 +00:00
Evan Cheng
064befa37b Skip over two-address use operands.
llvm-svn: 58883
2008-11-08 01:44:13 +00:00
Evan Cheng
bc946b09aa Handle ARM machine constantpool entry with non-lazy ptr.
llvm-svn: 58882
2008-11-08 01:31:27 +00:00
Evan Cheng
2ea87890bb Use ARMFunctionInfo to track number of constpool entries and jumptables.
llvm-svn: 58877
2008-11-08 00:51:41 +00:00
Dale Johannesen
e0608af6a4 Make testb optimization work on big-endian targets.
llvm-svn: 58874
2008-11-08 00:01:16 +00:00
Evan Cheng
bf8a1ef40f More code clean up.
llvm-svn: 58872
2008-11-07 22:57:53 +00:00
Dale Johannesen
bc914a7cf9 Make FP tests requiring two compares work on PPC (PR 642).
This is Chris' patch from the PR, modified to realize that
SETUGT/SETULT occur legitimately with integers, plus
two fixes in LegalizeDAG to pass a valid result type into
LegalizeSetCC.  The argument of TLI.getSetCCResultType is
ignored on PPC, but I think I'm following usage elsewhere.

llvm-svn: 58871
2008-11-07 22:54:33 +00:00
Evan Cheng
3e00dcfebb Get PIC jump table working.
llvm-svn: 58869
2008-11-07 22:30:53 +00:00
Evan Cheng
237175e1ab More debug output.
llvm-svn: 58868
2008-11-07 22:30:29 +00:00
Duncan Sands
60220e7127 Sign-extend rather than zero-extend when promoting
the condition for a BRCOND, according to what is
returned by getSetCCResultContents.  Since all
targets return the same thing (ZeroOrOneSetCCResult),
this should be harmless!  The point is that all over
the place the result of SETCC is fed directly into
BRCOND.  On machines for which getSetCCResultContents
returns ZeroOrNegativeOneSetCCResult, this is a
sign-extended boolean.  So it seems dangerous to
also feed BRCOND zero-extended booleans in some
circumstances - for example, when promoting the
condition.

llvm-svn: 58861
2008-11-07 20:13:04 +00:00
Dan Gohman
1418c52e1a Flush the raw_ostream after emitting the assembly for a function.
This is a temporary fix for the -print-emitted-asm option, where
errs() is used as the stream, in the case where other code is
using stderr without using errs()' buffer. Hopefully soon we'll
fix errs() to be non-buffered instead. Patch by Preston Gurd.

llvm-svn: 58859
2008-11-07 19:49:17 +00:00
Dale Johannesen
4510149fd2 Fix unsigned->ppcf128 conversion.
llvm-svn: 58856
2008-11-07 19:11:43 +00:00
Richard Osborne
224268f88b Fix compile warnings.
llvm-svn: 58840
2008-11-07 11:21:09 +00:00
Scott Michel
b5f73899a2 CellSPU: Ensure that C strings are always put in the .rodata section
llvm-svn: 58839
2008-11-07 11:06:44 +00:00
Richard Osborne
acc7a27e24 Add XCore backend.
llvm-svn: 58838
2008-11-07 10:59:00 +00:00
Evan Cheng
21df9f3b4f Jump table JIT support. Work in progress.
llvm-svn: 58836
2008-11-07 09:06:08 +00:00
Evan Cheng
6e23b1e651 Jump tables may be emitted by target.
llvm-svn: 58835
2008-11-07 09:02:17 +00:00
Scott Michel
828731190c Teach CellSPU about ELF sections and new section emitter classes.
NB: This is likely to need more work.
llvm-svn: 58832
2008-11-07 04:36:25 +00:00
Bill Wendling
a5eb92b137 BCUI + 1 doesn't work. Use next instead.
llvm-svn: 58830
2008-11-07 01:59:41 +00:00
Bill Wendling
dea20bc52f Refactor code that adjusts the offsets of stack objects.
llvm-svn: 58829
2008-11-07 01:48:58 +00:00
Evan Cheng
88726d85eb Encode misc arithmetic instructions.
llvm-svn: 58828
2008-11-07 01:41:35 +00:00
Devang Patel
0958cd6437 Handle (delete) dbg intrinsics while promoting alloca.
llvm-svn: 58826
2008-11-07 01:30:07 +00:00
Dale Johannesen
89da8440e1 When we're doing a compare of load-AND-constant to 0
(e.g. a bitfield test) narrow the load as much as possible.
The has the potential to avoid unnecessary partial-word
load-after-store conflicts, which cause stalls on several targets.
Also a size win on x86 (testb vs testl).

llvm-svn: 58825
2008-11-07 01:28:02 +00:00
Bill Wendling
3fe9fef0da - Modify the stack protector algorithm so that the stack slot is allocated in
LLVM IR code and not in the selection DAG ISel. This is a cleaner solution.

- Fix the heuristic for determining if protectors are necessary. The previous
  one wasn't checking the proper type size.

llvm-svn: 58824
2008-11-07 01:23:58 +00:00
Bill Wendling
54a5c87823 Remove unneeded header file.
llvm-svn: 58823
2008-11-06 23:56:59 +00:00
Bill Wendling
70e06738b4 Don't build a vector of returns. Just modify the Function in the loop.
llvm-svn: 58822
2008-11-06 23:55:49 +00:00
Mon P Wang
888f4e6fb0 Fixed scalarizing an extract subvector and prevent an infinite loop
when simplify a vector. 

llvm-svn: 58820
2008-11-06 22:52:21 +00:00
Bill Wendling
1e6576e1e0 The size limit is for individual arrays. So if any array has more than 8 bytes
in it, then emit stack protectors.

llvm-svn: 58819
2008-11-06 22:18:44 +00:00
Evan Cheng
3bcb71912f Encode extend instructions; more clean up.
llvm-svn: 58818
2008-11-06 22:15:19 +00:00
Dan Gohman
1130e8c23f Fix a use of an invalid iterator when -debug-pass=Details is used.
llvm-svn: 58816
2008-11-06 21:57:17 +00:00
Bill Wendling
26eadae94d Don't recalculate the stack position of the stack protector.
llvm-svn: 58815
2008-11-06 21:37:09 +00:00
Devang Patel
8640fd500a Emit label for llvm.dbg.func.start of the inlined function.
llvm-svn: 58814
2008-11-06 21:28:20 +00:00
Evan Cheng
af54e4ed18 - Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.
- Consolidate instruction formats.
- Other clean up.

llvm-svn: 58808
2008-11-06 17:48:05 +00:00
Evan Cheng
1ea366a419 Improve JIT debugging outputs format consistency.
llvm-svn: 58807
2008-11-06 17:46:04 +00:00
Nuno Lopes
e5fb2e4d84 plug leakage of mutex data. pthread_mutex_destroy() doesnt free our malloc'ed memory.
llvm-svn: 58805
2008-11-06 16:21:49 +00:00
Duncan Sands
50acaf2367 Formating/comment changes - no functionality change.
llvm-svn: 58801
2008-11-06 08:51:32 +00:00