Commit Graph

5221 Commits

Author SHA1 Message Date
Anton Korobeynikov
6f9896fcc8 Implement protected visibility. This partly implements PR1363. Linker
should be taught to deal with protected symbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 18:35:00 +00:00
Anton Korobeynikov
c6c98af9e5 Implement review feedback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36564 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 18:02:48 +00:00
Chris Lattner
ee181bc899 Jeff's fix was fine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36563 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 17:44:10 +00:00
Chris Lattner
9728905481 add missing ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36562 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 17:40:50 +00:00
Jeff Cohen
930c0fead9 Fix MemoryBuffer breakage correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 14:43:31 +00:00
Chris Lattner
107d80956d make this file self-contained
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36555 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 08:05:07 +00:00
Chris Lattner
c453f76e2b Switch the bitcode reader interface to take a MemoryBuffer instead of knowing
anything about disk I/O itself.  This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.

This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode.  Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.

I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36554 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 07:54:31 +00:00
Chris Lattner
333ffd4abf Add a new memorybuffer class, to unify all the file reading code in the system
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36553 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 06:58:52 +00:00
Chris Lattner
a527bf13a5 new method for creating a path, which does not create a temporary string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36552 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 06:16:32 +00:00
Anton Korobeynikov
a80e1181b7 Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36537 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 13:45:00 +00:00
Chris Lattner
4c27344bfd add a default parameter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36529 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 05:42:38 +00:00
Chris Lattner
bb58b9c3c0 add a way to make this less brittle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36528 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 05:38:52 +00:00
Chris Lattner
73d0d0d4b8 represent indirect operands explicitly in inline asm strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36522 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 01:02:58 +00:00
Chris Lattner
6b0974cd1d add a GEP helper function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36515 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-27 20:35:56 +00:00
Jeff Cohen
b35417c607 Fix prolific source of 'possible loss of data' warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36507 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-27 14:43:05 +00:00
Devang Patel
6e21ff0b0a Move ~Pass() from Pass.h into Pass.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36498 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 21:33:42 +00:00
Devang Patel
5230eaa5a8 Delete Analysis Resolver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36493 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 21:06:41 +00:00
Dan Gohman
edc1d15984 Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36485 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 19:40:56 +00:00
Evan Cheng
faa510726f Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36483 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 19:00:32 +00:00
Jeff Cohen
2864b77efc Rename identifier that GCC uses as a macro, breaking llvm-gcc build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 15:07:47 +00:00
Chris Lattner
c651e4c51e start defining codes for instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 05:53:04 +00:00
Chris Lattner
eb0107af86 add a new code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36462 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 03:26:26 +00:00
Chris Lattner
d743f0e8f2 add alias support to bitcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36460 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 02:46:23 +00:00
Evan Cheng
05350288a6 Be careful when to add implicit kill / dead operands. Don't add them during / post reg-allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 01:40:09 +00:00
Evan Cheng
505e5510a2 Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 22:10:09 +00:00
Evan Cheng
e96f50142e Data structure change to improve compile time (especially in debug mode).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36447 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 19:34:00 +00:00
Devang Patel
c20a64d2bb Mem2Reg does not need TargetData.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36446 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 18:41:11 +00:00
Devang Patel
41968df51e Remove unused function argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36441 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 17:15:20 +00:00
Anton Korobeynikov
7bc428fa6f Add missed file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 16:42:39 +00:00
Anton Korobeynikov
8b0a8c84da Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 14:27:10 +00:00
Evan Cheng
24a3cc4c83 Fix for PR1306.
- A register def / use now implicitly affects sub-register liveness but does
not affect liveness information of super-registers.
- Def of a larger register (if followed by a use later) is treated as
read/mod/write of a smaller register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36434 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:30:23 +00:00
Evan Cheng
b2f2e64c07 Test if a register is sub- or super-register of another.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:24:50 +00:00
Evan Cheng
cdee1c4272 Minor speed tweak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:24:13 +00:00
Chris Lattner
e47b1446d8 support for >4G frames
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36424 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:29:06 +00:00
Chris Lattner
a401b1e1c5 support > 4G stack objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36422 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:20:54 +00:00
Chris Lattner
be7d83ec0e allow 64-bit stack objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:07:31 +00:00
Bill Wendling
69dc5332de Add the final MMX instructions. Correct a few wrong patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 21:18:37 +00:00
Chris Lattner
253bb78adb comentate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 15:54:42 +00:00
Chris Lattner
c9c448ffa2 add records for constant exprs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36393 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 07:03:08 +00:00
Chris Lattner
2c783e46c3 add codes for constants table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 23:29:59 +00:00
Christopher Lamb
df1349546f Fix bug in isFloatingPoint()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36381 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 22:50:40 +00:00
Chris Lattner
703f5291c4 add a missing operator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36375 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 20:58:14 +00:00
Chris Lattner
73f3fd775f Fix a bug in bitstream writer handling abbrevs, add value symtab
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36373 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 20:34:46 +00:00
Chris Lattner
aea2012433 implement reading of abbrevs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36366 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 18:57:58 +00:00
Chris Lattner
2a5e354f20 minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36365 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 18:57:32 +00:00
Chris Lattner
6d4135a62e finish implementation of basic abbrev writing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36364 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 17:43:52 +00:00
Chris Lattner
36d5e7d31b first part of implementation of abbrevs. The writer isn't fully there yet and the
reader doesn't handle them at all yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36363 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 16:04:05 +00:00
Chris Lattner
8f122b1e7f promote this to being a public header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 01:01:15 +00:00
Christopher Lamb
95c218a83e PR400 phase 2. Propagate attributed load/store information through DAGs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36356 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 23:15:30 +00:00
Christopher Lamb
032507d989 PR400 phase 1 implementation feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36354 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 22:22:02 +00:00